qemu_x86: increase to 8MB of RAM

Previously we were instantiating QEMU with 32MB of RAM but
only enabling a small fraction of it.

Now we boot with 8MB of ram. We ignore the first 4K so we can
make that an unmapped paged to catch NULL pointer dereferences.

If XIP is enabled, the "ROM" region will be the first half of
memory, the "RAM" region the latter.

Move the IDT_LIST and MMU_LIST regions elsewhere so they don't
overlap the new memory arrangement.

Use !XIP to fix a problem where CONFIG_RAM_SIZE was set incorrectly
for XIP case.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
Andrew Boie 2017-07-05 13:59:14 -07:00 committed by Andrew Boie
commit 103d655dee
3 changed files with 7 additions and 7 deletions

View file

@ -12,17 +12,17 @@ config SOC
default ia32
config PHYS_LOAD_ADDR
default 0x00100000
default 0x00001000
config PHYS_RAM_ADDR
default 0x00400000
config RAM_SIZE
default 128 if XIP
default 256
default 4096 if XIP
default 8188 if !XIP
config ROM_SIZE
default 3072 if XIP
default 4092 if XIP
config SYS_CLOCK_HW_CYCLES_PER_SEC
default 150000000 if LOAPIC_TIMER

View file

@ -38,8 +38,8 @@ MEMORY
* target. However, it shouldn't overlap any other regions.
*/
IDT_LIST : ORIGIN = 2K, LENGTH = 2K
MMU_LIST : ORIGIN = 4k, LENGTH = 1K
IDT_LIST : ORIGIN = 0xFFFF1000, LENGTH = 2K
MMU_LIST : ORIGIN = 0xFFFF2000, LENGTH = 1K
}
#include <arch/x86/linker.ld>

View file

@ -5,7 +5,7 @@ QEMU_BIOS ?= /usr/share/qemu
QEMU_CPU_TYPE_x86 = qemu32
QEMU_X86_NO_REBOOT_y =
QEMU_X86_NO_REBOOT_ = -no-reboot
QEMU_FLAGS_x86 = -m 32 -cpu $(QEMU_CPU_TYPE_x86) \
QEMU_FLAGS_x86 = -m 8 -cpu $(QEMU_CPU_TYPE_x86) \
$(QEMU_X86_NO_REBOOT_$(CONFIG_REBOOT)) \
-nographic -vga none -display none -net none \
-clock dynticks -no-acpi -balloon none \