From: Anthony Liguori <anthony@codemonkey.ws>
To: Alexander Graf <agraf@suse.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] KVM: Use -cpu host as default on x86
Date: Tue, 01 Nov 2011 11:44:45 -0500 [thread overview]
Message-ID: <4EB021FD.4040405@codemonkey.ws> (raw)
In-Reply-To: <1318519453-6672-1-git-send-email-agraf@suse.de>
On 10/13/2011 10:24 AM, Alexander Graf wrote:
> When running QEMU without -cpu parameter, the user usually wants a sane
> default. So far, we're using the qemu64/qemu32 CPU type, which basically
> means "the maximum TCG can emulate".
>
> That's a really good default when using TCG, but when running with KVM
> we much rather want a default saying "the maximum KVM can support".
>
> Fortunately we already have such a CPU type. It's called "host". All we
> need to do is to select it by default when not getting a -cpu passed in.
>
> This fixes a lot of subtile breakage in the GNU toolchain (libgmp) which
> hicks up on QEMU's non-existent CPU models.
>
> Signed-off-by: Alexander Graf<agraf@suse.de>
Need to make sure that older machine types (i.e. pc-0.15, pc-0.14) default to
the appropriate CPU model.
Regards,
Anthony Liguori
> ---
> hw/pc.c | 10 +++++++---
> hw/pc.h | 2 +-
> hw/pc_piix.c | 2 +-
> 3 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/hw/pc.c b/hw/pc.c
> index 203627d..e0c48f2 100644
> --- a/hw/pc.c
> +++ b/hw/pc.c
> @@ -941,17 +941,21 @@ static CPUState *pc_new_cpu(const char *cpu_model)
> return env;
> }
>
> -void pc_cpus_init(const char *cpu_model)
> +void pc_cpus_init(const char *cpu_model, int kvm_enabled)
> {
> int i;
>
> /* init CPUs */
> if (cpu_model == NULL) {
> + if (kvm_enabled) {
> + cpu_model = "host";
> + } else {
> #ifdef TARGET_X86_64
> - cpu_model = "qemu64";
> + cpu_model = "qemu64";
> #else
> - cpu_model = "qemu32";
> + cpu_model = "qemu32";
> #endif
> + }
> }
>
> for(i = 0; i< smp_cpus; i++) {
> diff --git a/hw/pc.h b/hw/pc.h
> index f3e21b6..b5519ff 100644
> --- a/hw/pc.h
> +++ b/hw/pc.h
> @@ -130,7 +130,7 @@ void pc_register_ferr_irq(qemu_irq irq);
> void pc_cmos_set_s3_resume(void *opaque, int irq, int level);
> void pc_acpi_smi_interrupt(void *opaque, int irq, int level);
>
> -void pc_cpus_init(const char *cpu_model);
> +void pc_cpus_init(const char *cpu_model, int kvm_enabled);
> void pc_memory_init(MemoryRegion *system_memory,
> const char *kernel_filename,
> const char *kernel_cmdline,
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index ce1c87f..a080191 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -99,7 +99,7 @@ static void pc_init1(MemoryRegion *system_memory,
> MemoryRegion *pci_memory;
> MemoryRegion *rom_memory;
>
> - pc_cpus_init(cpu_model);
> + pc_cpus_init(cpu_model, kvm_enabled());
>
> if (kvmclock_enabled) {
> kvmclock_create();
prev parent reply other threads:[~2011-11-01 16:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-13 15:24 [Qemu-devel] [PATCH] KVM: Use -cpu host as default on x86 Alexander Graf
2011-10-29 18:08 ` Alexander Graf
2011-11-01 16:44 ` Anthony Liguori [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EB021FD.4040405@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=agraf@suse.de \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.