Use only first page and last page of low memory. OSes assumes that first
page is used by bios and last page is reserved in e820 map.
Signed-off-by: Gleb Natapov <[EMAIL PROTECTED]>
---
bios/rombios.c | 6 +++---
bios/rombios.h | 4 ++--
bios/rombios32.c | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/bios/rombios.c b/bios/rombios.c
index 340af30..01f9cbb 100644
--- a/bios/rombios.c
+++ b/bios/rombios.c
@@ -4551,7 +4551,7 @@ ASM_END
{
case 0:
set_e820_range(ES, regs.u.r16.di,
- 0x0000000L, 0x0009fc00L, 0, 0, 1);
+ 0x0000000L, 0x0009f000L, 0, 0, 1);
regs.u.r32.ebx = 1;
regs.u.r32.eax = 0x534D4150;
regs.u.r32.ecx = 0x14;
@@ -4560,7 +4560,7 @@ ASM_END
break;
case 1:
set_e820_range(ES, regs.u.r16.di,
- 0x0009fc00L, 0x000a0000L, 0, 0, 2);
+ 0x0009f000L, 0x000a0000L, 0, 0, 2);
regs.u.r32.ebx = 2;
regs.u.r32.eax = 0x534D4150;
regs.u.r32.ecx = 0x14;
@@ -10053,7 +10053,7 @@ rombios32_05:
cld
;; init the stack pointer
- mov esp, #0x00080000
+ mov esp, #0x9fbf0
;; pass pointer to s3_resume_flag and s3_resume_vector to rombios32
push #0x04b0
diff --git a/bios/rombios.h b/bios/rombios.h
index feed101..3784744 100644
--- a/bios/rombios.h
+++ b/bios/rombios.h
@@ -56,8 +56,8 @@
#define ACPI_DATA_SIZE 0x00010000L
#define PM_IO_BASE 0xb000
#define SMB_IO_BASE 0xb100
-#define CPU_COUNT_ADDR 0xf000
-#define SMP_MSR_ADDR 0xf010
+#define CPU_COUNT_ADDR 0x0500
+#define SMP_MSR_ADDR 0x0504
#define MAX_CPUS 16
diff --git a/bios/rombios32.c b/bios/rombios32.c
index 2c08bfb..a901c6a 100755
--- a/bios/rombios32.c
+++ b/bios/rombios32.c
@@ -60,7 +60,7 @@ typedef unsigned long long uint64_t;
#define APIC_ENABLED 0x0100
-#define AP_BOOT_ADDR 0x10000
+#define AP_BOOT_ADDR 0x9f000
#define MPTABLE_MAX_SIZE 0x00002000
#define SMI_CMD_IO_ADDR 0xb2
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html