qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v6] Add optionrom compatible with fw_cfg DMA ver


From: Laszlo Ersek
Subject: Re: [Qemu-devel] [PATCH v6] Add optionrom compatible with fw_cfg DMA version
Date: Tue, 10 May 2016 21:00:11 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0

On 05/10/16 19:36, Richard W.M. Jones wrote:
> On Tue, May 10, 2016 at 07:24:28PM +0200, Paolo Bonzini wrote:
>>
>>
>> On 09/05/2016 18:48, Richard W.M. Jones wrote:
>>>
>>> Of course we're well outside any standards here.  Can we tell clang
>>> users to use the GCC/pre-compiled option ROMs :-?  Any other ideas?  I
>>> don't think I've missed a flag (GCC has -fno-toplevel-reorder, but
>>> clang 3.8 doesn't ...)
>>
>> I guess the checksumming script (scripts/signrom.py) could take care of
>> padding the file to a multiple of 512 bytes, and fill in the size in the
>> third byte.  Then "_end" would not be necessary anymore and -m16 could
>> replace the .code16 directive.
> 
> In my rather limited testing on gcc, gcc -m16 broke booting.  However
> I've not investigated this further.  I'll do so shortly.
> 
> However I have a question: is there a formal standard or documentation
> for the option ROM format?  Are we sticking to the (ancient) "BIOS Boot
> Specification" or is there something newer?  (My copy is from 1996).

To my knowledge, the most recent specification that describes PCI
expansion ROMs is:

  PCI Firmware Specification
  Revision 3.2
  January 26, 2015

See Chapter 5, "PCI Expansion ROMs".

(Maybe a newer release has been made, not sure.)

Of course, this spec is not public (you have to be a PCI SIG member to
get it, or some such, which costs $$$), but since Red Hat is a member,
I'll send you a link off-list (and you can't share the PDF outside of
RH, of course).

Regarding general (device independent) oproms: I'm not sure.

Thanks
Laszlo



reply via email to

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