RAM usage information in machine definition.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4246 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
balrog 2008-04-24 17:59:27 +00:00
parent c73f96fddc
commit 7fb4fdcffe
28 changed files with 98 additions and 32 deletions

22
vl.c
View file

@ -8277,7 +8277,7 @@ int main(int argc, char **argv)
machine = first_machine;
cpu_model = NULL;
initrd_filename = NULL;
ram_size = DEFAULT_RAM_SIZE * 1024 * 1024;
ram_size = -1;
vga_ram_size = VGA_RAM_SIZE;
#ifdef CONFIG_GDBSTUB
use_gdbstub = 0;
@ -8963,7 +8963,25 @@ int main(int argc, char **argv)
#endif
/* init the memory */
phys_ram_size = ram_size + vga_ram_size + MAX_BIOS_SIZE;
phys_ram_size = machine->ram_require & ~RAMSIZE_FIXED;
if (machine->ram_require & RAMSIZE_FIXED) {
if (ram_size > 0) {
if (ram_size < phys_ram_size) {
fprintf(stderr, "Machine `%s' requires %i bytes of memory\n",
machine->name, phys_ram_size);
exit(-1);
}
phys_ram_size = ram_size;
} else
ram_size = phys_ram_size;
} else {
if (ram_size < 0)
ram_size = DEFAULT_RAM_SIZE * 1024 * 1024;
phys_ram_size += ram_size;
}
phys_ram_base = qemu_vmalloc(phys_ram_size);
if (!phys_ram_base) {