[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC PATCH v2 10/16] hvmloader: Load OVMF from modules
... and do not include the OVMF ROM into hvmloader anymore. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> --- tools/firmware/hvmloader/ovmf.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/tools/firmware/hvmloader/ovmf.c b/tools/firmware/hvmloader/ovmf.c index 2be9752..3c0ec91 100644 --- a/tools/firmware/hvmloader/ovmf.c +++ b/tools/firmware/hvmloader/ovmf.c @@ -34,17 +34,9 @@ #include <xen/hvm/ioreq.h> #include <xen/memory.h> -#define ROM_INCLUDE_OVMF -#include "roms.inc" - -#define OVMF_SIZE (sizeof(ovmf)) -#define OVMF_MAXOFFSET 0x000FFFFFULL -#define OVMF_BEGIN (0x100000000ULL - ((OVMF_SIZE + OVMF_MAXOFFSET) & ~OVMF_MAXOFFSET)) -#define OVMF_END (OVMF_BEGIN + OVMF_SIZE) #define LOWCHUNK_BEGIN 0x000F0000 #define LOWCHUNK_SIZE 0x00010000 #define LOWCHUNK_MAXOFFSET 0x0000FFFF -#define LOWCHUNK_END (OVMF_BEGIN + OVMF_SIZE) #define OVMF_INFO_PHYSICAL_ADDRESS 0x00001000 extern unsigned char dsdt_anycpu[]; @@ -96,12 +88,16 @@ static void ovmf_finish_bios_info(void) static void ovmf_load(const struct bios_config *config, void *bios_addr, uint32_t bios_length) { +#define OVMF_MAXOFFSET 0x000FFFFFULL +#define OVMF_BEGIN (0x100000000ULL - ((bios_length + OVMF_MAXOFFSET) & ~OVMF_MAXOFFSET)) +#define OVMF_END (OVMF_BEGIN + bios_length) xen_pfn_t mfn; uint64_t addr = OVMF_BEGIN; + unsigned int dest = OVMF_BEGIN; /* Copy low-reset vector portion. */ - memcpy((void *) LOWCHUNK_BEGIN, (uint8_t *) config->image - + OVMF_SIZE + memcpy((void *) LOWCHUNK_BEGIN, (uint8_t *) bios_addr + + bios_length - LOWCHUNK_SIZE, LOWCHUNK_SIZE); @@ -114,7 +110,7 @@ static void ovmf_load(const struct bios_config *config, } /* Copy FD. */ - memcpy((void *) OVMF_BEGIN, config->image, OVMF_SIZE); + memcpy((void *) dest, bios_addr, bios_length); } static void ovmf_acpi_build_tables(void) @@ -151,10 +147,6 @@ static void ovmf_setup_e820(void) struct bios_config ovmf_config = { .name = "OVMF", - .image = ovmf, - .image_size = sizeof(ovmf), - - .bios_address = OVMF_BEGIN, .bios_load = ovmf_load, .load_roms = 0, -- Anthony PERARD _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |