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

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



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.

TODOs:
  - load the bios from the right place.
  - have a bios_firmware config option, same for the acpi_tables
  - cleanup and factoring the duplication of code

Anthony PERARD (5):
  libxc: Load BIOS and ACPI table into guest memory.
  libxl: Load guest BIOS and ACPI table from file.
  hvmloader: Load BIOS from where libxc left it.
  hvmloader: Load ACPI table from here libxc left it.
  hvmloader: Keep BIOS and ACPI blob in separated files.

 tools/firmware/Makefile                | 20 ++++++++-
 tools/firmware/hvmloader/acpi/Makefile |  8 ++--
 tools/firmware/hvmloader/config.h      | 11 +----
 tools/firmware/hvmloader/hvmloader.c   | 34 +++++++++------
 tools/firmware/hvmloader/seabios.c     | 33 +++++++-------
 tools/libxc/include/xenguest.h         |  4 ++
 tools/libxc/xc_hvm_build_x86.c         | 46 +++++++++++++++----
 tools/libxl/libxl_dom.c                | 80 ++++++++++++++++++++++++++++++++++
 8 files changed, 185 insertions(+), 51 deletions(-)

-- 
Anthony PERARD


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