From 7916e2245d71aff10b48aab0ebdc754550c89539 Mon Sep 17 00:00:00 2001 From: bellard Date: Tue, 1 Jul 2003 16:27:45 +0000 Subject: [PATCH] allow up to 256 MB of ram git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@307 c046a42c-6fe2-441c-8c8c-71466251a162 --- i386-vl.ld | 2 +- vl.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/i386-vl.ld b/i386-vl.ld index e666ed83f8..428fe83e12 100644 --- a/i386-vl.ld +++ b/i386-vl.ld @@ -8,7 +8,7 @@ ENTRY(_start) SECTIONS { /* Read-only sections, merged into text segment: */ - . = 0xa0000000 + SIZEOF_HEADERS; + . = 0xa8000000 + SIZEOF_HEADERS; .interp : { *(.interp) } .hash : { *(.hash) } .dynsym : { *(.dynsym) } diff --git a/vl.c b/vl.c index 885958b16e..1596f61a94 100644 --- a/vl.c +++ b/vl.c @@ -56,7 +56,9 @@ //#define DEBUG_UNUSED_IOPORT //#define DEBUG_IRQ_LATENCY -#define PHYS_RAM_BASE 0xa8000000 +#define PHYS_RAM_BASE 0xac000000 +#define PHYS_RAM_MAX_SIZE (256 * 1024 * 1024) + #define KERNEL_LOAD_ADDR 0x00100000 #define INITRD_LOAD_ADDR 0x00400000 #define KERNEL_PARAMS_ADDR 0x00090000 @@ -2640,6 +2642,11 @@ int main(int argc, char **argv) phys_ram_size = atoi(optarg) * 1024 * 1024; if (phys_ram_size <= 0) help(); + if (phys_ram_size > PHYS_RAM_MAX_SIZE) { + fprintf(stderr, "vl: at most %d MB RAM can be simulated\n", + PHYS_RAM_MAX_SIZE / (1024 * 1024)); + exit(1); + } break; case 'd': loglevel = 1; @@ -2734,7 +2741,7 @@ int main(int argc, char **argv) params->mount_root_rdonly = 0; params->cl_magic = 0xA33F; params->cl_offset = params->commandline - (uint8_t *)params; - params->ext_mem_k = (phys_ram_size / 1024) - 1024; + params->alt_mem_k = (phys_ram_size / 1024) - 1024; for(i = optind + 1; i < argc; i++) { if (i != optind + 1) pstrcat(params->commandline, sizeof(params->commandline), " ");