qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] qemu/pc-bios ppc_rom.bin


From: Thiemo Seufer
Subject: Re: [Qemu-devel] qemu/pc-bios ppc_rom.bin
Date: Mon, 1 Oct 2007 22:57:41 +0100
User-agent: Mutt/1.5.16 (2007-06-11)

Blue Swirl wrote:
[snip]
> > > Qemu is not also aimed for 100% accurate emulation of the hardware.
> > > There are no caches or cycle counters and hardware devices run
> > > unrealistically fast from CPU standpoint. Emulating performance
> > > counters or the errata the most CPUs have would be extremely
> > > difficult. I doubt Qemu CPU emulation can ever pass POST of real
> > > BIOSes.
> >
> > I am working on making the Malta emulation boot a unaltered YAMON
> > image. I don't see why a PC BIOS would be harder to accomodate.
> 
> Emulating microcode, or firmware blobs loaded to misc devices. Think
> writing a BIOS for Transmeta,

Writing the emulation for a transmeta is IMHO more challenging than
writing the "BIOS". Btw, if you are interested in the x86 mode, you can
handle the transmeta just as a x86 variant (with a much more standard BIOS).

> Alpha or a SoC.

Writing "Firmware for a SoC" is part of my dayjob.

> > > Real BIOSes are also closed source, proprietary binary blobs.
> >
> > At least YAMON, CFE and PMON are not closed source. YAMON has a funny
> > license which - I hope - will change.
> >
> > > Making open source BIOSes a viable alternative is in my opinion a much
> > > more important goal.
> >
> > The one doesn't exclude the other. That said, I regard the ability to
> > boot unaltered real-world firmare as an important test of the quality
> > of a system emulation.
> 
> Maybe. The CPU probes for cacheline size, checks for errata #42 vs
> #45, reads debug registers, attempts to identify the bus speed by
> comparing I/O access times, tries to verify the system using a TPM and
> fails all cases. What can you do?

Improve the emulation to handle at least one probing path.


Thiemo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]