xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/5] Load BIOS via toolstack instead of been embedded in hvmloader.
@ 2015-09-16 17:19 Anthony PERARD
  2015-09-16 17:19 ` [RFC PATCH 1/5] libxc: Load BIOS and ACPI table into guest memory Anthony PERARD
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Anthony PERARD @ 2015-09-16 17:19 UTC (permalink / raw)
  To: xen-devel; +Cc: Anthony PERARD

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2015-09-25 16:28 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-16 17:19 [RFC PATCH 0/5] Load BIOS via toolstack instead of been embedded in hvmloader Anthony PERARD
2015-09-16 17:19 ` [RFC PATCH 1/5] libxc: Load BIOS and ACPI table into guest memory Anthony PERARD
2015-09-16 17:19 ` [RFC PATCH 2/5] libxl: Load guest BIOS and ACPI table from file Anthony PERARD
2015-09-16 17:19 ` [RFC PATCH 3/5] hvmloader: Load BIOS from where libxc left it Anthony PERARD
2015-09-16 17:19 ` [RFC PATCH 4/5] hvmloader: Load ACPI table from here " Anthony PERARD
2015-09-16 17:19 ` [RFC PATCH 5/5] hvmloader: Keep BIOS and ACPI blob in separated files Anthony PERARD
2015-09-16 18:56 ` [RFC PATCH 0/5] Load BIOS via toolstack instead of been embedded in hvmloader Andrew Cooper
2015-09-17  9:49   ` Anthony PERARD
2015-09-25 15:37     ` Ian Campbell
2015-09-25 15:45       ` Anthony PERARD
2015-09-25 16:28         ` Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).