On Thu, Mar 10, 2011 at 13:41, Carl-Daniel Hailfinger
<c-d.hailfinger.devel.2...@gmx.net> wrote:
> Auf 10.03.2011 12:48, Gleb Natapov schrieb:
>> Yes we can make memory slot that will be treated as memory on read and
>> IO on write, but first relying on that will prevent using flash interface
>> on older kernels and second it is not enough to implement the proposal.
>> When magic value is written into an address, the address become IO for
>> reading too, but KVM slot granularity is page, not byte, so KVM will
>> have to remove the slot to make it IO, but KVM can't execute code from
>> IO region (yet), so we will not be able to run firmware from flash and
>> simultaneously write into the flash.
>>
>
> If you have a Parallel/LPC/FWH flash chip in your mainboard, it is
> technically impossible to execute code from flash while you are writing
> to _any_ part of the flash chip because every single read from the flash
> chip during an active write will toggle one bit of the read data.
> So if your code already runs on real x86, you will never hit that problem.
>
> (SPI flash is an exception, but it uses out-of-band access anyway,
> usually via some southbridge interface, and that means the IO vs.
> execution conflict won't happen there either.)

I've not seen a firmware that attempts to update flash while also
executing from flash.  For OVMF or UEFI, I don't would not think this
should be a requirement.  (Although, my proposal would support this.)

-Jordan

Reply via email to