xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Anthony PERARD <anthony.perard@citrix.com>
To: xen-devel@lists.xen.org
Cc: Anthony PERARD <anthony.perard@citrix.com>
Subject: [RFC PATCH 0/5] Load BIOS via toolstack instead of been embedded in hvmloader.
Date: Wed, 16 Sep 2015 18:19:42 +0100	[thread overview]
Message-ID: <1442423987-14956-1-git-send-email-anthony.perard@citrix.com> (raw)

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

             reply	other threads:[~2015-09-16 17:19 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-16 17:19 Anthony PERARD [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1442423987-14956-1-git-send-email-anthony.perard@citrix.com \
    --to=anthony.perard@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).