diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/firmware/hvmloader/config-seabios.h | 2 | ||||
-rw-r--r-- | tools/firmware/hvmloader/hvmloader.c | 4 | ||||
-rw-r--r-- | tools/firmware/hvmloader/rombios.c | 4 | ||||
-rw-r--r-- | tools/firmware/hvmloader/seabios.c | 4 |
4 files changed, 7 insertions, 7 deletions
diff --git a/tools/firmware/hvmloader/config-seabios.h b/tools/firmware/hvmloader/config-seabios.h index e025243a3a..c4d114270a 100644 --- a/tools/firmware/hvmloader/config-seabios.h +++ b/tools/firmware/hvmloader/config-seabios.h @@ -3,8 +3,6 @@ #define BIOS_INFO_PHYSICAL_ADDRESS 0x00001000 -#define SEABIOS_PHYSICAL_ADDRESS 0x000E0000 - #endif /* __HVMLOADER_CONFIG_SEABIOS_H__ */ /* diff --git a/tools/firmware/hvmloader/hvmloader.c b/tools/firmware/hvmloader/hvmloader.c index 9c1cba2211..1cc8cf2801 100644 --- a/tools/firmware/hvmloader/hvmloader.c +++ b/tools/firmware/hvmloader/hvmloader.c @@ -292,8 +292,12 @@ int main(void) if ( bios->bios_load ) bios->bios_load(bios); else + { + BUG_ON(bios->bios_address + bios->image_size > + HVMLOADER_PHYSICAL_ADDRESS); memcpy((void *)bios->bios_address, bios->image, bios->image_size); + } if ( (hvm_info->nr_vcpus > 1) || hvm_info->apic_mode ) { diff --git a/tools/firmware/hvmloader/rombios.c b/tools/firmware/hvmloader/rombios.c index f6f5310b6d..810bd24ce7 100644 --- a/tools/firmware/hvmloader/rombios.c +++ b/tools/firmware/hvmloader/rombios.c @@ -127,6 +127,8 @@ static void rombios_load(const struct bios_config *config) uint32_t bioshigh; struct rombios_info *info; + BUILD_BUG_ON(sizeof(rombios) > 0x100000 - ROMBIOS_PHYSICAL_ADDRESS); + memcpy((void *)config->bios_address, config->image, config->image_size); @@ -206,8 +208,6 @@ static void rombios_create_smbios_tables(void) SMBIOS_PHYSICAL_END); } -//BUILD_BUG_ON(sizeof(rombios) > (0x00100000U - ROMBIOS_PHYSICAL_ADDRESS)); - struct bios_config rombios_config = { .name = "ROMBIOS", diff --git a/tools/firmware/hvmloader/seabios.c b/tools/firmware/hvmloader/seabios.c index f17e67b32e..dd7dfbe0e8 100644 --- a/tools/firmware/hvmloader/seabios.c +++ b/tools/firmware/hvmloader/seabios.c @@ -133,15 +133,13 @@ static void seabios_setup_e820(void) dump_e820_table(e820, info->e820_nr); } -//BUILD_BUG_ON(sizeof(seabios) > (0x00100000U - SEABIOS_PHYSICAL_ADDRESS)); - struct bios_config seabios_config = { .name = "SeaBIOS", .image = seabios, .image_size = sizeof(seabios), - .bios_address = SEABIOS_PHYSICAL_ADDRESS, + .bios_address = 0x100000 - sizeof(seabios), .load_roms = NULL, |