[OpenBIOS] [Qemu-ppc] Windows NT 4.0 for PowerPC

Programmingkid programmingkidx at gmail.com
Mon Jul 31 02:47:10 CEST 2017


> On Jul 30, 2017, at 7:49 PM, Natalia Portillo <claunia at claunia.com> wrote:
> 
> Hi Programmingkid,
> 
> You're very very out of the way.
> 
> First of all you don't need to implement PE support on firmware for
> Windows NT, on any platform.
> 
> The firmware for RISC machines was used to load <ARCH>/SETUPLDR in the
> installation disk or /NTLDR on the system disk. Those, are COFF
> executables (that afaik, are already supported on OpenBIOS).
> 
> Second of all, Windows NT is for PReP that in QEMU currently has not
> been adapted to OpenBIOS at all, still running the archaic and abandoned
> OHW.
> 
> And last but not least, you need all the PReP hardware emulated. Last
> time I checked it was very far from complete. But that was in qemu's 0.7
> age, so, eons ago.
> 
> If you want to get WinNT/PPC running on QEMU you should do things in the
> following order:
> 
> 1.- Get OpenBIOS running on qemu -M prep
> 2.- Make OpenBIOS support whatever SETUPLDR expected in Motorola or IBM
> OpenFirmware implementations
> 3.- Put the miscellaneous "PC" components from qemu -M pc to qemu -M
> prep (as PReP is mostly a Pentium 1 motherboard with a PowerPC processor)
> 4.- See how NT crashes (or works :p)
> 
> The good side, is that when those 4 steps are done you've done ~90% of
> what is needed to emulate OS/2-ppc, Solaris 2.5.1 for ppc, and some
> versions of AIX, and about ~70% of CHRP emulation (sam4x0yy for AmigaOS
> and efika for MorphOS, those are CHRP computers).
> 
> Here you got the specifications:
> ftp://ftp.fit.vutbr.cz/pub/doc/PREP/srp1_001.ps.gz
> 
> Regards,
> Natalia Portillo
> 
> On 30/07/17 17:22, Programmingkid wrote:
>> 
>>> On Jul 30, 2017, at 11:25 AM, Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk> wrote:
>>> 
>>> On 28/07/17 02:27, Programmingkid wrote:
>>> 
>>>>> On Jul 27, 2017, at 12:36 PM, Răzvan Corneliu C.R. VILT <razvan.vilt at gmail.com> wrote:
>>>>> 
>>>>> Andrei Warkentin managed to get as far as booting veneer.exe but it crashes at the NT Kernel using his prephv build (https://github.com/andreiw/prephv/).
>>>>> 
>>>>> OpenBIOS cannot load PE Images and I believe that even if PE loading was added to it, it wouldn't help since you also have some special >> requirements for little endian booting and some for the load-base.
>>> 
>>> I'd be very interested to discuss some of this over on the OpenBIOS
>>> mailing list - writing a PE driver should be fairly simple these days.
>>> 
>>>>> Veneer.exe is basically an emulator for the ARC Firmware needed by the NT OSLoader.exe on top of the openfirmware environment.
>>>>> 
>>>>> About one year ago I did some digging into this documented on Artyom's blog.
>>>>> http://tyom.blogspot.ro/2014/09/open-firmware-for-qemu-system-ppc-m-prep.html
>>>>> 
>>>>> If you want, you can write a minimal MZ-PE Loader in Forth and we'll take it from there.
>>> 
>>> All of the other OpenBIOS loaders are written in C, so I don't see why
>>> the same couldn't be done for MZ-PE, especially as most people find that
>>> considerably easier than Forth.
>>> 
>>> 
>>> ATB,
>>> 
>>> Mark.
>> 
>> Hi Mark. I was just thinking about asking you about this. It would be fun to make Windows NT 4.0 PowerPC work in QEMU. For anyone who is interested I found this page on the PE format. It might be helpful: https://msdn.microsoft.com/en-us/library/windows/desktop/ms680547(v=vs.85).aspx
>> 


Thank you for all this information. It looks like step one is changing QEMU so the -M prep machine starts OpenBIOS. 


More information about the OpenBIOS mailing list