From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=44061 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OLm7N-0004Tz-EH for qemu-devel@nongnu.org; Mon, 07 Jun 2010 19:52:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OLm7J-0003DB-5v for qemu-devel@nongnu.org; Mon, 07 Jun 2010 19:52:32 -0400 Received: from e4.ny.us.ibm.com ([32.97.182.144]:37374) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OLm7I-0003D4-Vo for qemu-devel@nongnu.org; Mon, 07 Jun 2010 19:52:29 -0400 Received: from d01relay03.pok.ibm.com (d01relay03.pok.ibm.com [9.56.227.235]) by e4.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id o57NdLRq009874 for ; Mon, 7 Jun 2010 19:39:21 -0400 Received: from d01av02.pok.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by d01relay03.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o57NqSXL147414 for ; Mon, 7 Jun 2010 19:52:28 -0400 Received: from d01av02.pok.ibm.com (loopback [127.0.0.1]) by d01av02.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id o57NqSjL011004 for ; Mon, 7 Jun 2010 20:52:28 -0300 From: Anthony Liguori Date: Mon, 7 Jun 2010 18:52:09 -0500 Message-Id: <1275954730-8196-22-git-send-email-aliguori@us.ibm.com> In-Reply-To: <1275954730-8196-1-git-send-email-aliguori@us.ibm.com> References: <1275954730-8196-1-git-send-email-aliguori@us.ibm.com> Subject: [Qemu-devel] [PATCH 21/22] machine: convert pc machines to split core vs machine API List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Glauber Costa , Anthony Liguori Signed-off-by: Anthony Liguori diff --git a/hw/pc_piix.c b/hw/pc_piix.c index 5696aa7..c7c1bd7 100644 --- a/hw/pc_piix.c +++ b/hw/pc_piix.c @@ -162,134 +162,113 @@ static void pc_init(QemuOpts *opts) } } -static QemuOptDesc pc_opts_desc[] = { - COMMON_MACHINE_OPTS(), - { - .name = "acpi", - .type = QEMU_OPT_BOOL, - }, - { - .name = "pci", - .type = QEMU_OPT_BOOL, - }, - { /* end of list */ }, -}; - #ifdef TARGET_X86_64 #define PC_DEFAULT_CPU_MODEL "qemu64" #else #define PC_DEFAULT_CPU_MODEL "qemu32" #endif -static QEMUMachine pc_machine = { - .init = pc_init, - .opts_desc = pc_opts_desc, - .opts_default = (QemuOptValue[]) { - QOPT_VALUE("name", "pc"), - QOPT_VALUE("desc", "Standard PC"), - QOPT_VALUE("acpi", "on"), - QOPT_VALUE("pci", "on"), - QOPT_VALUE("cpu", PC_DEFAULT_CPU_MODEL), - QOPT_VALUE("max_cpus", "255"), - { /* end of list */ } - }, +static QemuOptValue pc_machine[] = { + QOPT_VALUE("name", "pc"), + QOPT_VALUE("desc", "Standard PC"), + QOPT_VALUE("acpi", "on"), + QOPT_VALUE("pci", "on"), + QOPT_VALUE("cpu", PC_DEFAULT_CPU_MODEL), + QOPT_VALUE("max_cpus", "255"), + { /* end of list */ } }; -static QEMUMachine pc_machine_v0_13 = { - .init = pc_init, - .opts_desc = pc_opts_desc, - .opts_default = (QemuOptValue[]) { - QOPT_VALUE("name", "pc-0.13"), - QOPT_VALUE("desc", "Standard PC"), - QOPT_VALUE("acpi", "on"), - QOPT_VALUE("pci", "on"), - QOPT_VALUE("cpu", PC_DEFAULT_CPU_MODEL), - QOPT_VALUE("max_cpus", "255"), - { /* end of list */ } - }, +static QemuOptValue pc_machine_v0_13[] = { + QOPT_VALUE("name", "pc-0.13"), + QOPT_VALUE("desc", "Standard PC"), + QOPT_VALUE("acpi", "on"), + QOPT_VALUE("pci", "on"), + QOPT_VALUE("cpu", PC_DEFAULT_CPU_MODEL), + QOPT_VALUE("max_cpus", "255"), + { /* end of list */ } }; -static QEMUMachine pc_machine_v0_12 = { - .init = pc_init, - .opts_desc = pc_opts_desc, - .opts_default = (QemuOptValue[]) { - QOPT_VALUE("name", "pc-0.12"), - QOPT_VALUE("desc", "Standard PC"), - QOPT_VALUE("acpi", "on"), - QOPT_VALUE("pci", "on"), - QOPT_VALUE("cpu", PC_DEFAULT_CPU_MODEL), - QOPT_VALUE("max_cpus", "255"), - QOPT_COMPAT_INT("virtio-serial-pci", "max_nr_ports", 1), - QOPT_COMPAT_INT("virtio-serial-pci", "vectors", 0), - { /* end of list */ } - }, +static QemuOptValue pc_machine_v0_12[] = { + QOPT_VALUE("name", "pc-0.12"), + QOPT_VALUE("desc", "Standard PC"), + QOPT_VALUE("acpi", "on"), + QOPT_VALUE("pci", "on"), + QOPT_VALUE("cpu", PC_DEFAULT_CPU_MODEL), + QOPT_VALUE("max_cpus", "255"), + QOPT_COMPAT_INT("virtio-serial-pci", "max_nr_ports", 1), + QOPT_COMPAT_INT("virtio-serial-pci", "vectors", 0), + { /* end of list */ } }; -static QEMUMachine pc_machine_v0_11 = { - .init = pc_init, - .opts_desc = pc_opts_desc, - .opts_default = (QemuOptValue[]) { - QOPT_VALUE("name", "pc-0.11"), - QOPT_VALUE("desc", "Standard PC, qemu 0.11"), - QOPT_VALUE("acpi", "on"), - QOPT_VALUE("pci", "on"), - QOPT_VALUE("cpu", PC_DEFAULT_CPU_MODEL), - QOPT_VALUE("max_cpus", "255"), - QOPT_COMPAT_INT("virtio-blk-pci", "vectors", 0), - QOPT_COMPAT_INT("virtio-serial-pci", "max_nr_ports", 1), - QOPT_COMPAT_INT("virtio-serial-pci", "vectors", 0), - QOPT_COMPAT("ide-drive", "ver", "0.11"), - QOPT_COMPAT("scsi-disk", "ver", "0.11"), - QOPT_COMPAT_INT("PCI", "rombar", 0), - { /* end of list */ } - } +static QemuOptValue pc_machine_v0_11[] = { + QOPT_VALUE("name", "pc-0.11"), + QOPT_VALUE("desc", "Standard PC, qemu 0.11"), + QOPT_VALUE("acpi", "on"), + QOPT_VALUE("pci", "on"), + QOPT_VALUE("cpu", PC_DEFAULT_CPU_MODEL), + QOPT_VALUE("max_cpus", "255"), + QOPT_COMPAT_INT("virtio-blk-pci", "vectors", 0), + QOPT_COMPAT_INT("virtio-serial-pci", "max_nr_ports", 1), + QOPT_COMPAT_INT("virtio-serial-pci", "vectors", 0), + QOPT_COMPAT("ide-drive", "ver", "0.11"), + QOPT_COMPAT("scsi-disk", "ver", "0.11"), + QOPT_COMPAT_INT("PCI", "rombar", 0), + { /* end of list */ } }; -static QEMUMachine pc_machine_v0_10 = { - .init = pc_init, - .opts_desc = pc_opts_desc, - .opts_default = (QemuOptValue[]) { - QOPT_VALUE("name", "pc-0.10"), - QOPT_VALUE("desc", "Standard PC, qemu 0.10"), - QOPT_VALUE("acpi", "on"), - QOPT_VALUE("pci", "on"), - QOPT_VALUE("cpu", PC_DEFAULT_CPU_MODEL), - QOPT_VALUE("max_cpu", "255"), - QOPT_COMPAT_INT("virtio-blk-pci", "class", PCI_CLASS_STORAGE_OTHER), - QOPT_COMPAT_INT("virtio-serial-pci", "class", PCI_CLASS_DISPLAY_OTHER), - QOPT_COMPAT_INT("virtio-net-pci", "vectors", 0), - QOPT_COMPAT_INT("virtio-blk-pci", "vectors", 0), - QOPT_COMPAT_INT("virtio-serial-pci", "max_nr_ports", 1), - QOPT_COMPAT_INT("virtio-serial-pci", "vectors", 0), - QOPT_COMPAT("ide-drive", "ver", "0.10"), - QOPT_COMPAT("scsi-disk", "ver", "0.10"), - QOPT_COMPAT_INT("PCI", "rombar", 0), - { /* end of list */ } - }, +static QemuOptValue pc_machine_v0_10[] = { + QOPT_VALUE("name", "pc-0.10"), + QOPT_VALUE("desc", "Standard PC, qemu 0.10"), + QOPT_VALUE("acpi", "on"), + QOPT_VALUE("pci", "on"), + QOPT_VALUE("cpu", PC_DEFAULT_CPU_MODEL), + QOPT_VALUE("max_cpu", "255"), + QOPT_COMPAT_INT("virtio-blk-pci", "class", PCI_CLASS_STORAGE_OTHER), + QOPT_COMPAT_INT("virtio-serial-pci", "class", PCI_CLASS_DISPLAY_OTHER), + QOPT_COMPAT_INT("virtio-net-pci", "vectors", 0), + QOPT_COMPAT_INT("virtio-blk-pci", "vectors", 0), + QOPT_COMPAT_INT("virtio-serial-pci", "max_nr_ports", 1), + QOPT_COMPAT_INT("virtio-serial-pci", "vectors", 0), + QOPT_COMPAT("ide-drive", "ver", "0.10"), + QOPT_COMPAT("scsi-disk", "ver", "0.10"), + QOPT_COMPAT_INT("PCI", "rombar", 0), + { /* end of list */ } +}; + +static QemuOptValue isapc_machine[] = { + QOPT_VALUE("name", "isapc"), + QOPT_VALUE("desc", "ISA-only PC"), + QOPT_VALUE("acpi", "off"), + QOPT_VALUE("pci", "off"), + QOPT_VALUE("cpu", "486"), + QOPT_VALUE("max_cpus", "1"), + { /* end of list */ } }; -static QEMUMachine isapc_machine = { - .opts_desc = pc_opts_desc, - .init = pc_init, - .opts_default = (QemuOptValue[]) { - QOPT_VALUE("name", "isapc"), - QOPT_VALUE("desc", "ISA-only PC"), - QOPT_VALUE("acpi", "off"), - QOPT_VALUE("pci", "off"), - QOPT_VALUE("cpu", "486"), - QOPT_VALUE("max_cpus", "1"), - { /* end of list */ } +static QemuOptDesc pc_opts_desc[] = { + COMMON_MACHINE_OPTS(), + { + .name = "acpi", + .type = QEMU_OPT_BOOL, + }, + { + .name = "pci", + .type = QEMU_OPT_BOOL, }, + { /* end of list */ }, }; static void pc_machine_init(void) { - qemu_register_machine(&pc_machine); - qemu_register_machine(&pc_machine_v0_13); - qemu_register_machine(&pc_machine_v0_12); - qemu_register_machine(&pc_machine_v0_11); - qemu_register_machine(&pc_machine_v0_10); - qemu_register_machine(&isapc_machine); + machine_register_core("pc", pc_init, pc_opts_desc); + + machine_create_from_core("pc", pc_machine); + machine_create_from_core("pc", pc_machine_v0_13); + machine_create_from_core("pc", pc_machine_v0_12); + machine_create_from_core("pc", pc_machine_v0_11); + machine_create_from_core("pc", pc_machine_v0_10); + machine_create_from_core("pc", isapc_machine); + machine_set_default("pc"); } -- 1.7.0.4