On 2011-03-10 23:10, Carl-Daniel Hailfinger wrote:
> Auf 10.03.2011 22:55, Jordan Justen schrieb:
>> On Thu, Mar 10, 2011 at 13:37, Carl-Daniel Hailfinger
>> <c-d.hailfinger.devel.2...@gmx.net> wrote:
>>   
>>> Auf 10.03.2011 05:51, Jordan Justen schrieb:
>>>     
>>>> I have documented a simple flash-like device which I think could be
>>>> useful for qemu/kvm in some cases.  (Particularly for allowing
>>>> persistent UEFI non-volatile variables.)
>>>>
>>>> http://wiki.qemu.org/Features/System_Flash
>>>>
>>>> Let me know if you have any suggestions or concerns.
>>>>
>>>>       
>>> Is there any reason why you chose to invent an interface for the flash
>>> chip which is more complicated than the interface used by common flash
>>> chips out there?
>>> Maybe some EFI requirement?
>>>     
>> This is a simpler version than the flash devices I'm used to dealing
>> with for x86/x86-64 UEFI systems.  Can you suggest an alternative real
>> interface that is simpler?
>>   
> 
> Pseudocode for the real interface most common on x86 before SPI came along:
> 
> Write a page (256 bytes) or a few bytes:
> chip_writeb(0xAA, bios_base + 0x5555);
> chip_writeb(0x55, bios_base + 0x2AAA);
> chip_writeb(0xA0, bios_base + 0x5555);
> chip_writeb(databyte0, bios_base + addr);
> chip_writeb(databyte1, bios_base + addr + 1);
> chip_writeb(databyte2, bios_base + addr + 2);
> chip_writeb(databyte3, bios_base + addr + 3);
> ... up to 256 databytes.
> chip_readb(bios_base);
> The last chip_readb(bios_base) is repeated until the result does not
> change anymore.

Hmm, I may oversee some subtle difference, but this looks pretty much
like CFI to me (see hw/pflash_cfi02.c).

At least it's an in-band interface, which is the better choice as we
currently only have a PIIX3 southbridge for x86, predating even FWHs.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to