[Top][All Lists]

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

Re: [Qemu-devel] Re: RFC: emulation of system flash

From: Carl-Daniel Hailfinger
Subject: Re: [Qemu-devel] Re: RFC: emulation of system flash
Date: Thu, 10 Mar 2011 22:52:25 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; de; rv: Gecko/20101124 SUSE/2.0.11-0.2.1 SeaMonkey/2.0.11

Auf 10.03.2011 19:43, Jordan Justen schrieb:
> On Thu, Mar 10, 2011 at 01:10, Avi Kivity <address@hidden> wrote:
>> On 03/10/2011 06:51 AM, Jordan Justen wrote:
>>> http://wiki.qemu.org/Features/System_Flash
>> - make the programming interface the same as an existing device
> How strongly do you feel about this?
> For one thing, real devices are not as flexible as QEMU for flash
> sizes.  QEMU allows for any 64kb multiple bios size.  Real world
> devices generally only support powers of 2 sizes.
> Firmware hub devices are somewhat simplistic to emulate, but I think
> they use 16MB of address space, while only providing <= 1MB of flash
> storage.

Up to 4 MB on real hardware, and if you use Parallel flash devices,
there is no limit at all (except cost). The software interface is
identical for read/write/erase/probe.

> SPI devices are available in many sizes, so it might be possible to
> choose a 16MB device to emulate.  But, it would be a lot more complex
> to emulate as it would it involve emulating an SPI contoller + the
> device.

I have written a SPI flash chip emulator (it emulates 3 different
real-world SPI flash chips) and am willing to contribute it to Qemu if
there is interest. The code is pretty small, and adding a SPI host
controller emulator should be a few lines of code extra. Not a big problem.

> I thought this might be a case where deviation from real hardware
> emulation could better serve the VM's needs.

If we have to write the code anyway, and if it can work just fine with
current KVM/Qemu, is there a reason not to use the same interface as
real hardware?



reply via email to

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