* [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 when running under KVM @ 2010-07-28 12:42 Jes.Sorensen 2010-07-28 12:42 ` [Qemu-devel] [PATCH 1/2] Set a default CPU type for compat PC machine defs Jes.Sorensen ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: Jes.Sorensen @ 2010-07-28 12:42 UTC (permalink / raw) To: qemu-devel; +Cc: kvm, avi From: Jes Sorensen <Jes.Sorensen@redhat.com> This set of patches adds default CPU types to the PC compat definitions, and patch #2 sets the CPU type to kvm64/kvm32 when running under KVM. Long term we might want to qdev'ify the CPUs but I think it is better to keep it simple for 0.13. Jes Sorensen (2): Set a default CPU type for compat PC machine defs. Use kvm32/kvm64 as default CPUs when running under KVM. hw/boards.h | 1 + hw/pc.c | 13 +++++++++++-- hw/pc_piix.c | 15 +++++++++++++++ vl.c | 2 ++ 4 files changed, 29 insertions(+), 2 deletions(-) ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH 1/2] Set a default CPU type for compat PC machine defs. 2010-07-28 12:42 [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 when running under KVM Jes.Sorensen @ 2010-07-28 12:42 ` Jes.Sorensen 2010-07-28 12:42 ` [Qemu-devel] [PATCH 2/2] Use kvm32/kvm64 as default CPUs when running under KVM Jes.Sorensen ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: Jes.Sorensen @ 2010-07-28 12:42 UTC (permalink / raw) To: qemu-devel; +Cc: kvm, avi From: Jes Sorensen <Jes.Sorensen@redhat.com> This allows for changing the default CPU type on the current PC definition without breaking legacy mode. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> --- hw/boards.h | 1 + hw/pc_piix.c | 15 +++++++++++++++ vl.c | 2 ++ 3 files changed, 18 insertions(+), 0 deletions(-) diff --git a/hw/boards.h b/hw/boards.h index 6f0f0d7..932bc23 100644 --- a/hw/boards.h +++ b/hw/boards.h @@ -19,6 +19,7 @@ typedef struct QEMUMachine { QEMUMachineInitFunc *init; int use_scsi; int max_cpus; + const char *def_cpu_model; unsigned int no_serial:1, no_parallel:1, use_virtcon:1, diff --git a/hw/pc_piix.c b/hw/pc_piix.c index 812ddfd..51742a0 100644 --- a/hw/pc_piix.c +++ b/hw/pc_piix.c @@ -223,6 +223,11 @@ static QEMUMachine pc_machine_v0_12 = { .desc = "Standard PC", .init = pc_init_pci, .max_cpus = 255, +#ifdef TARGET_X86_64 + .def_cpu_model = "qemu64", +#else + .def_cpu_model = "qemu32", +#endif .compat_props = (GlobalProperty[]) { { .driver = "virtio-serial-pci", @@ -242,6 +247,11 @@ static QEMUMachine pc_machine_v0_11 = { .desc = "Standard PC, qemu 0.11", .init = pc_init_pci, .max_cpus = 255, +#ifdef TARGET_X86_64 + .def_cpu_model = "qemu64", +#else + .def_cpu_model = "qemu32", +#endif .compat_props = (GlobalProperty[]) { { .driver = "virtio-blk-pci", @@ -277,6 +287,11 @@ static QEMUMachine pc_machine_v0_10 = { .desc = "Standard PC, qemu 0.10", .init = pc_init_pci, .max_cpus = 255, +#ifdef TARGET_X86_64 + .def_cpu_model = "qemu64", +#else + .def_cpu_model = "qemu32", +#endif .compat_props = (GlobalProperty[]) { { .driver = "virtio-blk-pci", diff --git a/vl.c b/vl.c index ba6ee11..ca2c509 100644 --- a/vl.c +++ b/vl.c @@ -2868,6 +2868,8 @@ int main(int argc, char **argv, char **envp) } qemu_add_globals(); + if ((cpu_model == NULL) && (machine->def_cpu_model)) + cpu_model = machine->def_cpu_model; machine->init(ram_size, boot_devices, kernel_filename, kernel_cmdline, initrd_filename, cpu_model); -- 1.7.1.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH 2/2] Use kvm32/kvm64 as default CPUs when running under KVM. 2010-07-28 12:42 [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 when running under KVM Jes.Sorensen 2010-07-28 12:42 ` [Qemu-devel] [PATCH 1/2] Set a default CPU type for compat PC machine defs Jes.Sorensen @ 2010-07-28 12:42 ` Jes.Sorensen 2010-07-28 13:49 ` [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 " Markus Armbruster 2010-08-26 2:00 ` Sheng Yang 3 siblings, 0 replies; 5+ messages in thread From: Jes.Sorensen @ 2010-07-28 12:42 UTC (permalink / raw) To: qemu-devel; +Cc: kvm, avi From: Jes Sorensen <Jes.Sorensen@redhat.com> KVM has a minimum CPU requirement in order to run, so there is no reason to default to the very basic family 6, model 2 (or model 3 for qemu32) CPU since the additional features are going to be available on the host CPU. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> --- hw/pc.c | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hw/pc.c b/hw/pc.c index 58dea57..b17a199 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -39,6 +39,7 @@ #include "msix.h" #include "sysbus.h" #include "sysemu.h" +#include "kvm.h" /* output Bochs bios info messages */ //#define DEBUG_BIOS @@ -866,11 +867,19 @@ void pc_cpus_init(const char *cpu_model) /* init CPUs */ if (cpu_model == NULL) { + if (kvm_enabled()) { #ifdef TARGET_X86_64 - cpu_model = "qemu64"; + cpu_model = "kvm64"; #else - cpu_model = "qemu32"; + cpu_model = "kvm32"; #endif + } else { +#ifdef TARGET_X86_64 + cpu_model = "qemu64"; +#else + cpu_model = "qemu32"; +#endif + } } for(i = 0; i < smp_cpus; i++) { -- 1.7.1.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 when running under KVM 2010-07-28 12:42 [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 when running under KVM Jes.Sorensen 2010-07-28 12:42 ` [Qemu-devel] [PATCH 1/2] Set a default CPU type for compat PC machine defs Jes.Sorensen 2010-07-28 12:42 ` [Qemu-devel] [PATCH 2/2] Use kvm32/kvm64 as default CPUs when running under KVM Jes.Sorensen @ 2010-07-28 13:49 ` Markus Armbruster 2010-08-26 2:00 ` Sheng Yang 3 siblings, 0 replies; 5+ messages in thread From: Markus Armbruster @ 2010-07-28 13:49 UTC (permalink / raw) To: Jes.Sorensen; +Cc: qemu-devel, kvm, avi Jes.Sorensen@redhat.com writes: > From: Jes Sorensen <Jes.Sorensen@redhat.com> > > This set of patches adds default CPU types to the PC compat > definitions, and patch #2 sets the CPU type to kvm64/kvm32 when > running under KVM. > > Long term we might want to qdev'ify the CPUs but I think it is better > to keep it simple for 0.13. Makes sense to me. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 when running under KVM 2010-07-28 12:42 [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 when running under KVM Jes.Sorensen ` (2 preceding siblings ...) 2010-07-28 13:49 ` [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 " Markus Armbruster @ 2010-08-26 2:00 ` Sheng Yang 3 siblings, 0 replies; 5+ messages in thread From: Sheng Yang @ 2010-08-26 2:00 UTC (permalink / raw) To: qemu-devel; +Cc: Jes.Sorensen, Anthony Liguori, avi, kvm On Wednesday 28 July 2010 20:42:22 Jes.Sorensen@redhat.com wrote: > From: Jes Sorensen <Jes.Sorensen@redhat.com> > > This set of patches adds default CPU types to the PC compat > definitions, and patch #2 sets the CPU type to kvm64/kvm32 when > running under KVM. > > Long term we might want to qdev'ify the CPUs but I think it is better > to keep it simple for 0.13. Looks good to me. Some Windows guest wouldn't enable MSI if it think the processor is too old. So we need this patchset. -- regards Yang, Sheng > Jes Sorensen (2): > Set a default CPU type for compat PC machine defs. > Use kvm32/kvm64 as default CPUs when running under KVM. > > hw/boards.h | 1 + > hw/pc.c | 13 +++++++++++-- > hw/pc_piix.c | 15 +++++++++++++++ > vl.c | 2 ++ > 4 files changed, 29 insertions(+), 2 deletions(-) ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-08-26 2:00 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-07-28 12:42 [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 when running under KVM Jes.Sorensen 2010-07-28 12:42 ` [Qemu-devel] [PATCH 1/2] Set a default CPU type for compat PC machine defs Jes.Sorensen 2010-07-28 12:42 ` [Qemu-devel] [PATCH 2/2] Use kvm32/kvm64 as default CPUs when running under KVM Jes.Sorensen 2010-07-28 13:49 ` [Qemu-devel] [PATCH v2 0/2] Use kvm64/kvm32 " Markus Armbruster 2010-08-26 2:00 ` Sheng Yang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).