From: "Jan Beulich" <JBeulich@suse.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Keir Fraser <keir@xen.org>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
xen-devel@lists.xen.org, Wei Liu <wei.liu2@citrix.com>
Subject: Re: [PATCH v4 10/14] hvmloader: Load SeaBIOS from hvm_start_info modules
Date: Tue, 05 Apr 2016 07:11:41 -0600 [thread overview]
Message-ID: <5703D5AD02000078000E32DC@prv-mh.provo.novell.com> (raw)
In-Reply-To: <1457978150-27201-11-git-send-email-anthony.perard@citrix.com>
>>> On 14.03.16 at 18:55, <anthony.perard@citrix.com> wrote:
> ... and do not include the SeaBIOS ROM into hvmloader anymore.
>
> This also fix the dependency on roms.inc, hvmloader.o does not include it.
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
> Change in V4:
> - check that seabios_config.bios_address have a probably good value
> instead of checking only if it's set.
>
> Change in V3:
> - change makefile to not include seabios roms into roms.inc.
> - update the struct bios_config with the location of the bios blob.
> ---
> tools/firmware/hvmloader/Makefile | 15 +--------------
> tools/firmware/hvmloader/seabios.c | 24 ++++++++++++++----------
> 2 files changed, 15 insertions(+), 24 deletions(-)
>
> diff --git a/tools/firmware/hvmloader/Makefile
> b/tools/firmware/hvmloader/Makefile
> index f2f4791..ed0bfad 100644
> --- a/tools/firmware/hvmloader/Makefile
> +++ b/tools/firmware/hvmloader/Makefile
> @@ -45,7 +45,6 @@ CIRRUSVGA_DEBUG ?= n
>
> OVMF_DIR := ../ovmf-dir
> ROMBIOS_DIR := ../rombios
> -SEABIOS_DIR := ../seabios-dir
>
> ifeq ($(CONFIG_ROMBIOS),y)
> STDVGA_ROM := ../vgabios/VGABIOS-lgpl-latest.bin
> @@ -80,19 +79,13 @@ endif
> ifeq ($(CONFIG_SEABIOS),y)
> OBJS += seabios.o
> CFLAGS += -DENABLE_SEABIOS
> -ifeq ($(SEABIOS_PATH),)
> - SEABIOS_ROM := $(SEABIOS_DIR)/out/bios.bin
> -else
> - SEABIOS_ROM := $(SEABIOS_PATH)
> -endif
> -ROMS += $(SEABIOS_ROM)
> endif
>
> .PHONY: all
> all: subdirs-all
> $(MAKE) hvmloader
>
> -ovmf.o rombios.o seabios.o hvmloader.o: roms.inc
> +ovmf.o rombios.o: roms.inc
> smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(SMBIOS_REL_DATE)\""
>
> hvmloader: $(OBJS) acpi/acpi.a
> @@ -109,12 +102,6 @@ ifneq ($(ROMBIOS_ROM),)
> echo "#endif" >> $@.new
> endif
>
> -ifneq ($(SEABIOS_ROM),)
> - echo "#ifdef ROM_INCLUDE_SEABIOS" >> $@.new
> - sh ./mkhex seabios $(SEABIOS_ROM) >> $@.new
> - echo "#endif" >> $@.new
> -endif
> -
> ifneq ($(OVMF_ROM),)
> echo "#ifdef ROM_INCLUDE_OVMF" >> $@.new
> sh ./mkhex ovmf $(OVMF_ROM) >> $@.new
> diff --git a/tools/firmware/hvmloader/seabios.c
> b/tools/firmware/hvmloader/seabios.c
> index c6b3d9f..5d0a491 100644
> --- a/tools/firmware/hvmloader/seabios.c
> +++ b/tools/firmware/hvmloader/seabios.c
> @@ -27,9 +27,6 @@
> #include "smbios_types.h"
> #include "acpi/acpi2_0.h"
>
> -#define ROM_INCLUDE_SEABIOS
> -#include "roms.inc"
> -
> extern unsigned char dsdt_anycpu_qemu_xen[];
> extern int dsdt_anycpu_qemu_xen_len;
>
> @@ -127,22 +124,29 @@ static void seabios_setup_e820(void)
> struct e820entry *e820 = scratch_alloc(sizeof(struct e820entry)*16, 0);
> info->e820 = (uint32_t)e820;
>
> + BUG_ON(seabios_config.bios_address < 0xc0000 || seabios_config.bios_address >= 0x100000);
The right side could benefit from also taking seabios_config.image_size
into account. Or wait - the right side could go away, as being redundant
with ...
> /* SeaBIOS reserves memory in e820 as necessary so no low reservation. */
> - info->e820_nr = build_e820_table(e820, 0, 0x100000-sizeof(seabios));
> + info->e820_nr = build_e820_table(e820, 0, seabios_config.bios_address);
> dump_e820_table(e820, info->e820_nr);
> }
>
> -struct bios_config seabios_config = {
> - .name = "SeaBIOS",
> +static void seabios_load(const struct bios_config *bios,
> + void *bios_addr, uint32_t bios_length)
> +{
> + unsigned int bios_dest = 0x100000 - bios_length;
>
> - .image = seabios,
> - .image_size = sizeof(seabios),
> + BUG_ON(bios_dest + bios_length > HVMLOADER_PHYSICAL_ADDRESS);
... this.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-04-05 13:11 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-14 17:55 [PATCH v4 00/14] Load BIOS via toolstack instead of been embedded in hvmloader Anthony PERARD
2016-03-14 17:55 ` [PATCH v4 01/14] libxc: Rework extra module initialisation Anthony PERARD
2016-03-16 0:06 ` Konrad Rzeszutek Wilk
2016-03-17 16:24 ` Anthony PERARD
2016-03-14 17:55 ` [PATCH v4 02/14] libxc: Prepare a start info structure for hvmloader Anthony PERARD
2016-03-16 0:18 ` Konrad Rzeszutek Wilk
2016-03-16 18:01 ` Boris Ostrovsky
2016-03-17 16:48 ` Anthony PERARD
2016-03-17 16:28 ` Anthony PERARD
2016-03-14 17:55 ` [PATCH v4 03/14] configure: #define SEABIOS_PATH and OVMF_PATH Anthony PERARD
2016-03-16 0:20 ` Konrad Rzeszutek Wilk
2016-04-08 13:38 ` Wei Liu
2016-03-14 17:55 ` [PATCH v4 04/14] firmware/makefile: install BIOS blob Anthony PERARD
2016-03-16 0:26 ` Konrad Rzeszutek Wilk
2016-03-16 8:54 ` Dario Faggioli
2016-03-16 8:56 ` Konrad Rzeszutek Wilk
2016-03-17 16:58 ` Anthony PERARD
2016-03-17 17:37 ` Doug Goldstein
2016-03-17 18:33 ` Anthony PERARD
2016-03-18 21:11 ` Jim Fehlig
2016-03-19 0:43 ` Doug Goldstein
2016-04-18 14:31 ` Doug Goldstein
2016-04-19 13:11 ` Stefano Stabellini
2016-03-14 17:55 ` [PATCH v4 05/14] libxl: Load guest BIOS from file Anthony PERARD
2016-03-16 0:53 ` Konrad Rzeszutek Wilk
2016-03-16 9:27 ` Dario Faggioli
2016-03-17 17:24 ` Anthony PERARD
2016-03-14 17:55 ` [PATCH v4 06/14] xen: Move the hvm_start_info C representation from libxc to public/xen.h Anthony PERARD
2016-03-15 8:09 ` Jan Beulich
2016-03-16 0:59 ` Konrad Rzeszutek Wilk
2016-03-16 1:00 ` Konrad Rzeszutek Wilk
2016-03-16 8:32 ` Jan Beulich
2016-03-21 17:04 ` Roger Pau Monné
2016-03-21 17:21 ` Jan Beulich
2016-03-14 17:55 ` [PATCH v4 07/14] hvmloader: Grab the hvm_start_info pointer Anthony PERARD
2016-03-16 1:07 ` Konrad Rzeszutek Wilk
2016-04-05 12:43 ` Jan Beulich
2016-03-14 17:55 ` [PATCH v4 08/14] hvmloader: Locate the BIOS blob Anthony PERARD
2016-03-16 1:14 ` Konrad Rzeszutek Wilk
2016-03-17 17:46 ` Anthony PERARD
2016-03-17 17:57 ` Konrad Rzeszutek Wilk
2016-03-18 7:34 ` Jan Beulich
2016-04-05 12:59 ` Jan Beulich
2016-04-05 14:05 ` Roger Pau Monné
2016-04-05 14:23 ` Jan Beulich
2016-04-07 15:10 ` Anthony PERARD
2016-04-07 15:30 ` Jan Beulich
2016-03-14 17:55 ` [PATCH v4 09/14] hvmloader: Check modules whereabouts in perform_tests Anthony PERARD
2016-03-16 1:23 ` Konrad Rzeszutek Wilk
2016-03-17 18:08 ` Anthony PERARD
2016-04-05 13:07 ` Jan Beulich
2016-03-14 17:55 ` [PATCH v4 10/14] hvmloader: Load SeaBIOS from hvm_start_info modules Anthony PERARD
2016-03-16 1:27 ` Konrad Rzeszutek Wilk
2016-03-16 1:27 ` Konrad Rzeszutek Wilk
2016-04-05 13:11 ` Jan Beulich [this message]
2016-03-14 17:55 ` [PATCH v4 11/14] hvmloader: Load OVMF from modules Anthony PERARD
2016-03-16 1:36 ` Konrad Rzeszutek Wilk
2016-04-05 13:16 ` Jan Beulich
2016-03-14 17:55 ` [PATCH v4 12/14] hvmloader: Specific bios_load function required Anthony PERARD
2016-03-16 1:38 ` Konrad Rzeszutek Wilk
2016-03-17 18:25 ` Anthony PERARD
2016-03-14 17:55 ` [PATCH v4 13/14] hvmloader: Always build-in SeaBIOS and OVMF loader Anthony PERARD
2016-03-14 17:55 ` [PATCH v4 14/14] configure: do not depend on SEABIOS_PATH or OVMF_PATH Anthony PERARD
2016-03-16 1:40 ` Konrad Rzeszutek Wilk
2016-04-08 13:38 ` Wei Liu
2016-03-24 17:55 ` [PATCH v4 00/14] Load BIOS via toolstack instead of been embedded in hvmloader Jim Fehlig
2016-03-30 17:22 ` Jim Fehlig
2016-03-31 7:20 ` Jan Beulich
[not found] ` <56FCEBCD02000078000E19BF@suse.com>
2016-03-31 14:36 ` Jim Fehlig
2016-03-31 16:49 ` George Dunlap
2016-04-01 9:12 ` George Dunlap
2016-04-01 14:24 ` Konrad Rzeszutek Wilk
2016-04-01 20:06 ` Jim Fehlig
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=5703D5AD02000078000E32DC@prv-mh.provo.novell.com \
--to=jbeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony.perard@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=keir@xen.org \
--cc=stefano.stabellini@eu.citrix.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).