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

Natalia Portillo claunia at claunia.com
Mon Jul 31 01:49:50 CEST 2017


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
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://mail.coreboot.org/pipermail/openbios/attachments/20170731/202015a2/attachment.asc>


More information about the OpenBIOS mailing list