From: Gwenole B. <gb...@di...> - 2004-01-15 10:31:30
|
Hi, For people willing to get SheepShaver for Windows, there are two options: (i) do the work themselves, (ii) find out someone willing to do it. I think the following should be enough (and required) to get things working at least under CygWin/X11: 1) Implement native Win32 memory allocation wrappers as specified in vm_alloc.cpp. The API is simplistic and wraps e.g. mmap() under Unix-like platforms, and vm_allocate() under Mach/Darwin. 2) Implement native Win32 SIGSEGV handlers in sigsegv.cpp. 3) Make sure you can map the following virtual regions under Windows (lower bound inclusive, upper bound exclusive): * 0x00000000 => 0x00003000 : Low Memory globals * <any base> => + RAM Size : RAM area * 0x40800000 => 0x40d00000 : ROM area (may be relocatable elsewhere) * 0x68ffe000 => 0x69000000 : NanoKernel globals * 0x5fffe000 => 0x60000000 : NanoKernel globals (*alias*, same phys_addr) * 0x69000000 => 0x69100000 : DR emulator cache (unused for now) 4) For the JIT, you can check if your compiler can generate ELF objects (I doubt it as it might be configured to generate PE only). Otherwise, there should be a possibility to grab the generated source files from Linux. Alternatively, people could patch dyngen to read PE objects too. You can have a look at Lauri's port of B2. It should help. Note: I don't have any Windows handy and don't need it actually. So, I can't (neither know how to) do that myself. Bye, Gwenole. |