Commit-ID: 402e97596a43d61f7d0dff58e6bda5fb18196589 Gitweb: http://git.kernel.org/tip/402e97596a43d61f7d0dff58e6bda5fb18196589 Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> AuthorDate: Mon, 5 Mar 2012 01:59:11 +0400 Committer: Pekka Enberg <penberg@xxxxxxxxxx> CommitDate: Mon, 5 Mar 2012 22:40:36 +0200 kvm tools: Bring mptables back in case if no firmware used In case if no firmware used we should put mptables at repdefined address thus kernel scanner will recognized it. For this make a distinction between firmware address and own bios address. Reported-by: Sasha Levin <levinsasha928@xxxxxxxxx> Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxx> Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxx> --- tools/kvm/x86/boot.c | 4 ++-- tools/kvm/x86/include/kvm/bios.h | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/kvm/x86/boot.c b/tools/kvm/x86/boot.c index 9383824..c434030 100644 --- a/tools/kvm/x86/boot.c +++ b/tools/kvm/x86/boot.c @@ -25,10 +25,10 @@ bool kvm__load_firmware(struct kvm *kvm, const char *firmware_filename) if (fstat(fd, &st)) return false; - if (st.st_size > MB_BIOS_SIZE) + if (st.st_size > MB_FIRMWARE_BIOS_SIZE) die("firmware image %s is too big to fit in memory (%lu KB).\n", firmware_filename, st.st_size / 1024); - p = guest_flat_to_host(kvm, MB_BIOS_BEGIN); + p = guest_flat_to_host(kvm, MB_FIRMWARE_BIOS_BEGIN); while ((nr = read(fd, p, st.st_size)) > 0) p += nr; diff --git a/tools/kvm/x86/include/kvm/bios.h b/tools/kvm/x86/include/kvm/bios.h index 9d677ae..ec7ed71 100644 --- a/tools/kvm/x86/include/kvm/bios.h +++ b/tools/kvm/x86/include/kvm/bios.h @@ -10,6 +10,7 @@ * EBDA area 0x0009FC00 0x0009FFFF * VIDEO RAM 0x000A0000 0x000BFFFF * VIDEO ROM (BIOS) 0x000C0000 0x000C7FFF + * ROMs & unus. space (mapped hw & misc)0x000C8000 0x000EFFFF 160 KiB (typically) * Motherboard BIOS 0x000F0000 0x000FFFFF * Extended Memory 0x00100000 0xFEBFFFFF * Reserved (configs, ACPI, PnP, etc) 0xFEC00000 0xFFFFFFFF @@ -26,9 +27,12 @@ #define E820_MAP_START EBDA_START -#define MB_BIOS_BEGIN 0x000e0000 +#define MB_BIOS_BEGIN 0x000f0000 +#define MB_FIRMWARE_BIOS_BEGIN 0x000e0000 #define MB_BIOS_END 0x000fffff + #define MB_BIOS_SIZE (MB_BIOS_END - MB_BIOS_BEGIN + 1) +#define MB_FIRMWARE_BIOS_SIZE (MB_BIOS_END - MB_FIRMWARE_BIOS_BEGIN + 1) #define VGA_RAM_BEGIN 0x000a0000 #define VGA_RAM_END 0x000bffff -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html