[tip:tools/kvm] kvm tools: Bring mptables back in case if no firmware used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux