From: Anthony PERARD <anthony.perard@citrix.com>
To: xen-devel@lists.xen.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
Wei Liu <wei.liu2@citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
Jan Beulich <jbeulich@suse.com>,
Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v6 00/14] Load BIOS via toolstack instead of been embedded in hvmloader.
Date: Tue, 12 Jul 2016 15:42:37 +0100 [thread overview]
Message-ID: <20160712144251.558-1-anthony.perard@citrix.com> (raw)
Hi all,
V6:
few changes detailed in patches.
Missing acks on the following patches:
1 libxc: Rework extra module initialisation
2 libxc: Prepare a start info structure for hvmloader
5 libxl: Load guest BIOS from file
6 xen: Move the hvm_start_info C representation from libxc to public/xen.h
8 hvmloader: Locate the BIOS blob
9 hvmloader: Check modules whereabouts in perform_tests
Thanks.
Changes in V5:
quite a few rework
it as been suggest that "bios" was not quite right to name SeaBIOS/OVMF, so
when I introduce a new name/variable instead of bios, I tried to use
system_firmware which is more appropriate, I think, with regards to OVMF.
Details of the changes in the patches.
Other changes detailed patches description.
I've look at loading the BIOS via the toolstack instead of having them embedded
in the hvmloader binary. After this patch series, hvmloader compilation would
be indenpendant from SeaBIOS and OVMF compilation.
Here is a general view of the few step to load the BIOS:
- libxl load the BIOS blob into it's memory and add it to struct
xc_hvm_build_args.system_firmware_module
- libxc load the blob into the guest memory and fill the struct
hvm_start_info and store a name for each module into the module cmdline.
- hvmloader read the addresses from the hvm_start_info, find out which
module to load and copy the blob to the right place.
A git tree can be found here:
git://xenbits.xen.org/people/aperard/xen-unstable.git
tag: hvmloader-with-separated-bios-v6
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Regards,
Anthony PERARD (14):
libxc: Rework extra module initialisation
libxc: Prepare a start info structure for hvmloader
configure: #define SEABIOS_PATH and OVMF_PATH
firmware/makefile: install BIOS blob ...
libxl: Load guest BIOS from file
xen: Move the hvm_start_info C representation from libxc to
public/xen.h
hvmloader: Grab the hvm_start_info pointer
hvmloader: Locate the BIOS blob
hvmloader: Check modules whereabouts in perform_tests
hvmloader: Load SeaBIOS from hvm_start_info modules
hvmloader: Load OVMF from modules
hvmloader: bios->bios_load() now needs to be defined
hvmloader: Always build-in SeaBIOS and OVMF loader
configure: do not depend on SEABIOS_PATH or OVMF_PATH ...
docs/man/xl.cfg.pod.5.in | 9 ++
tools/configure.ac | 12 ++-
tools/firmware/Makefile | 10 +-
tools/firmware/hvmloader/Makefile | 39 +------
tools/firmware/hvmloader/config.h | 2 +-
tools/firmware/hvmloader/hvmloader.c | 82 ++++++++++++--
tools/firmware/hvmloader/ovmf.c | 34 +++---
tools/firmware/hvmloader/rombios.c | 3 +-
tools/firmware/hvmloader/seabios.c | 25 +++--
tools/firmware/hvmloader/tests.c | 76 ++++++++++++-
tools/firmware/hvmloader/util.h | 3 +
tools/libxc/include/xc_dom.h | 34 +-----
tools/libxc/xc_dom_hvmloader.c | 136 ++++++++----------------
tools/libxc/xc_dom_x86.c | 153 +++++++++++++++++++--------
tools/libxl/libxl.h | 8 ++
tools/libxl/libxl_dom.c | 61 +++++++++++
tools/libxl/libxl_internal.h | 2 +
tools/libxl/libxl_paths.c | 10 ++
tools/libxl/libxl_types.idl | 1 +
tools/libxl/xl_cmdimpl.c | 11 +-
xen/include/public/arch-x86/hvm/start_info.h | 53 ++++++++++
xen/include/public/xen.h | 2 +-
22 files changed, 511 insertions(+), 255 deletions(-)
create mode 100644 xen/include/public/arch-x86/hvm/start_info.h
--
Anthony PERARD
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next reply other threads:[~2016-07-12 14:42 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-12 14:42 Anthony PERARD [this message]
2016-07-12 14:42 ` [PATCH v6 01/14] libxc: Rework extra module initialisation Anthony PERARD
2016-07-12 15:01 ` Wei Liu
2016-07-12 14:42 ` [PATCH v6 02/14] libxc: Prepare a start info structure for hvmloader Anthony PERARD
2016-07-12 15:01 ` Wei Liu
2016-07-12 14:42 ` [PATCH v6 03/14] configure: #define SEABIOS_PATH and OVMF_PATH Anthony PERARD
2016-07-12 14:42 ` [PATCH v6 04/14] firmware/makefile: install BIOS blob Anthony PERARD
2016-07-12 14:42 ` [PATCH v6 05/14] libxl: Load guest BIOS from file Anthony PERARD
2016-07-12 15:01 ` Wei Liu
2016-07-12 14:42 ` [PATCH v6 06/14] xen: Move the hvm_start_info C representation from libxc to public/xen.h Anthony PERARD
2016-07-12 14:57 ` Wei Liu
2016-07-12 15:09 ` Andrew Cooper
2016-07-12 15:36 ` Anthony PERARD
2016-07-12 16:07 ` Andrew Cooper
2016-07-14 15:55 ` Anthony PERARD
2016-07-12 14:42 ` [PATCH v6 07/14] hvmloader: Grab the hvm_start_info pointer Anthony PERARD
2016-07-12 14:42 ` [PATCH v6 08/14] hvmloader: Locate the BIOS blob Anthony PERARD
2016-07-12 14:42 ` [PATCH v6 09/14] hvmloader: Check modules whereabouts in perform_tests Anthony PERARD
2016-07-12 14:42 ` [PATCH v6 10/14] hvmloader: Load SeaBIOS from hvm_start_info modules Anthony PERARD
2016-07-12 14:42 ` [PATCH v6 11/14] hvmloader: Load OVMF from modules Anthony PERARD
2016-07-12 14:42 ` [PATCH v6 12/14] hvmloader: bios->bios_load() now needs to be defined Anthony PERARD
2016-07-12 14:42 ` [PATCH v6 13/14] hvmloader: Always build-in SeaBIOS and OVMF loader Anthony PERARD
2016-07-12 14:42 ` [PATCH v6 14/14] configure: do not depend on SEABIOS_PATH or OVMF_PATH Anthony PERARD
2016-07-12 15:03 ` [PATCH v6 00/14] Load BIOS via toolstack instead of been embedded in hvmloader Wei Liu
2016-07-12 15:04 ` Wei Liu
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=20160712144251.558-1-anthony.perard@citrix.com \
--to=anthony.perard@citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=wei.liu2@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).