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

Re: [Xen-devel] [RFC PATCH 0/5] Load BIOS via toolstack instead of been embedded in hvmloader.



On 16/09/2015 18:19, Anthony PERARD wrote:
> Hi all,
>
> I've start to look at loading the BIOS and the ACPI tables via the
> toolstack instead of having them embedded in the hvmloader binary. This is
> done by using the same mechanics as the one used to load extra ACPI tables
> or SMBIOS.
>
> - libxl load the blob into it's memory and add it to
>   struct xc_hvm_build_args.bios_module
> - libxc load the blob into the guest memory and give back the guest address
>   of the blob.
> - libxl store the location of the blob (and it's lenght) into xenstore, in
>   /local/domain/$domid/hvmloader/$blob_name/{address,length} ($blob_name
>   would be "bios" or "acpi_table"; there is already "acpi" and "smbios"
>   that exist)
> - hvmloader read the addresses from xenstore and put the blob at the right
>   place.
>
> How this is looking?
>
> Right now, this patch series would only work for SeaBIOS.

I highly recommend that you build on top of Rogers DMlite series, which
already offers a multiboot-style way of adding extra modules to HVM
guests.  (That was the way I was planning to do this in some copious
free time).

In particular, storing the address/length in xenstore is conceptually
incorrect as the information turns stale as soon as hvmloader starts
running.

* Modify hvmloader to have a DMLite entry, which gives it a command line
and module list
* Modify libxc to be able to take an arbitrary quantity of modules,
rather than the currently limit of 1

Once the above work times are in place, the actual splitting-up of
hvmloader can occur.

I recommend a command line way of telling hvmloader which module is
what, such as a legacy bios image, (other firmware image?), supplemental
acpi table, supplemental smbios table, nvram blob?  (This last one will
require a bit of extra work so the toolstack can pull the blob back out
of the guest on destruction)

~Andrew

_______________________________________________
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®.