|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |