diff options
author | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-03-05 19:44:02 +0000 |
---|---|---|
committer | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-03-05 19:44:02 +0000 |
commit | 94fc95cdb2e91826bd6a4c98cea4f4d9fa0fffb1 (patch) | |
tree | c423a9cdeacbc5258ff8bb81764728d73fc0afc8 /vl.c | |
parent | 7a2d6d9650ed16b2cdb0b4876fe9efce7ef8ea6d (diff) |
New -cpu options: choose CPU model for emulated target.
Only relevant on PowerPC targets, for now.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2468 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 18 |
1 files changed, 17 insertions, 1 deletions
@@ -6355,6 +6355,7 @@ void help(void) "\n" "Standard options:\n" "-M machine select emulated machine (-M ? for list)\n" + "-cpu cpu select CPU (-C ? for list)\n" "-fda/-fdb file use 'file' as floppy disk 0/1 image\n" "-hda/-hdb file use 'file' as IDE hard disk 0/1 image\n" "-hdc/-hdd file use 'file' as IDE hard disk 2/3 image\n" @@ -6487,6 +6488,7 @@ enum { QEMU_OPTION_h, QEMU_OPTION_M, + QEMU_OPTION_cpu, QEMU_OPTION_fda, QEMU_OPTION_fdb, QEMU_OPTION_hda, @@ -6562,6 +6564,7 @@ const QEMUOption qemu_options[] = { { "help", 0, QEMU_OPTION_h }, { "M", HAS_ARG, QEMU_OPTION_M }, + { "cpu", HAS_ARG, QEMU_OPTION_cpu }, { "fda", HAS_ARG, QEMU_OPTION_fda }, { "fdb", HAS_ARG, QEMU_OPTION_fdb }, { "hda", HAS_ARG, QEMU_OPTION_hda }, @@ -6867,6 +6870,7 @@ int main(int argc, char **argv) int parallel_device_index; const char *loadvm = NULL; QEMUMachine *machine; + const char *cpu_model; char usb_devices[MAX_USB_CMDLINE][128]; int usb_devices_index; int fds[2]; @@ -6904,6 +6908,7 @@ int main(int argc, char **argv) register_machines(); machine = first_machine; + cpu_model = NULL; initrd_filename = NULL; for(i = 0; i < MAX_FD; i++) fd_filename[i] = NULL; @@ -6995,6 +7000,17 @@ int main(int argc, char **argv) exit(1); } break; + case QEMU_OPTION_cpu: + /* hw initialization will check this */ + if (optarg[0] == '?') { +#if defined(TARGET_PPC) + ppc_cpu_list(stdout, &fprintf); +#endif + exit(1); + } else { + cpu_model = optarg; + } + break; case QEMU_OPTION_initrd: initrd_filename = optarg; break; @@ -7569,7 +7585,7 @@ int main(int argc, char **argv) machine->init(ram_size, vga_ram_size, boot_device, ds, fd_filename, snapshot, - kernel_filename, kernel_cmdline, initrd_filename); + kernel_filename, kernel_cmdline, initrd_filename, cpu_model); /* init USB devices */ if (usb_enabled) { |