From: Gwenole B. <gb....@fr...> - 2005-04-07 20:36:18
|
Le jeudi, 7 avr 2005, =E0 21:39 Europe/Paris, Steven Knoxville a =E9crit = : > Okay, pero entiendo que para el software PearPC existe un Parche de=20 > nombre HWMMU que se encarga de utilizar la MMU i386 para emular una=20 > MMU PowerPC, mi pregunta es =BFEs Posible modificar este parche para = que=20 > trabaje con SheepShaver y asi poder emular MacOS 9.1 y X que requeren=20= > de una mmu para trabajar? QEMU already implemented an HWMMU implementation, nothing new in=20 PearPC. Basically, you use mmap() to map shared pages at specified=20 locations (expected by MacOS). The problem is that on Linux/x86=20 architectures with a default 3G/1.5G split, you will be limited by up=20 to 3GB address space in user mode (the case here). Full HWMMU support=20 on 32-bit systems requires a patch to host kernels and people may not=20 be willing to do that. This limitation can be workarounded in the=20 emulator but you still get suboptimal performance. All in all, you don't want HWMMU. However, you may want MMU emulation=20 to help understand how MacOS VM works and provide better native=20 replacements. See, SheepShaver is a higher level emulator that=20 virtually can replace any system function with native implementations=20 for improved performance. *All* PowerPC MacOS version require an MMU,=20 there are just ways to do without it. I don't think MMU will ever be implemented into SheepShaver. However, I=20= already experimented MOL with a CPU emulator in the past. My MMU=20 emulation was inacurate so I had started to use QEMU implementation but=20= time terribly dropped and when time came back I moved on to SheepShaver=20= again with some bug fixes and other features. BTW, adding MMU emulation to SheepShaver wouldn't have made it run=20 MacOS X either. It's a totally different architecture. Emulating the=20 MacOS X System is not interesting but enabling MacOS X Applications to=20= run on another system is. That's the key difference in speed and=20 integration. If you look carefully, it's easier to emulate MacOS X than MacOS 9,=20 simply because you have the MacOS X kernel sources: xnu. And, if you=20 look carefully at xnu, you can find ways to virtualize the Mach VM=20 layer, but that's not trivially simple but not that difficult either.=20 At first, you will have the same limitations than HWMMU. But at least,=20= this time, you can also restrict a little the user address space so=20 that another trick can be used so that you don't get performance loss.= |