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

Re: [Xen-devel] placement of emulated flash [was: seabios Improved multi-platform support]



On 02/20/13 18:18, Ian Campbell wrote:
> On Wed, 2013-02-20 at 17:55 +0100, Laszlo Ersek wrote:
>> However in OVMF the RESERVED_MEMBASE range is not parsed from this
>> Xen-exported table, it is added manually in InitializeXen()
>> [OvmfPkg/PlatformPei/Xen.c]:
>>
>>   //
>>   // Reserve away HVMLOADER reserved memory [0xFC000000,0xFD000000).
>>   // This needs to match HVMLOADER RESERVED_MEMBASE/RESERVED_MEMSIZE.
>>   //
>>   AddReservedMemoryBaseSizeHob (0xFC000000, 0x1000000);
> 
> ICK, it would be far preferable for OVMF to do what SeaBIOS does and
> actually "communicate" with hvmloader IMHO.

The table with "XenHVMSeaBIOS" signature is not created for OVMF I
think; comparing the "bios_config" structure of function pointers
between "seabios.c" and "ovmf.c" in tools/firmware/hvmloader/, the
ovmf_config.bios_info_setup field is NULL.

However there seem to be at least two "info" tables. Referring back,
"seabios_info" at BIOS_INFO_PHYSICAL_ADDRESS (0x1000) is for SeaBIOS
only, but "hvm_info" just below the end of conventional memory (at
HVM_INFO_PADDR, 0x9F800) looks guest firmware independent.

I guess the quoted range would be available from
"hvm_info.reserved_mem_pgstart"? OvmfPkg/PlatformPei/Xen.c has a comment
in XenConnect() saying

  /* TBD: Locate hvm_info and reserve it away. */
  mXenInfo.HvmInfo = NULL;

Is the generic approach "see if you can find all what you need in
hvm_info, ask for the rest in a dedicated table"? (Out of pure curiosity.)

Thanks
Laszlo

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.