From: Paolo Bonzini <pbonzini@redhat.com>
To: Alexander Graf <agraf@suse.de>, qemu-ppc@nongnu.org
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 2.1] PPC: KVM: Fix g3beige and mac99 when HV is loaded
Date: Thu, 24 Jul 2014 15:44:47 +0200 [thread overview]
Message-ID: <53D10DCF.5030807@redhat.com> (raw)
In-Reply-To: <1406191971-22404-1-git-send-email-agraf@suse.de>
Il 24/07/2014 10:52, Alexander Graf ha scritto:
> On PPC we have 2 different styles of KVM: PR and HV. HV can only virtualize
> sPAPR guests while PR can virtualize everything that's reasonably close to
> the host hardware platform.
>
> As long as only one kernel module (PR or HV) is loaded, the "default" kvm type
> is the module that's loaded. So if your hardware only supports PR mode you can
> easily spawn a Mac VM.
>
> However, if both HV and PR are loaded we default to HV mode. And in that case
> the Mac machines have to explicitly ask for PR mode to get a working VM.
>
> Fix this up by explicitly having the Mac machines ask for PR style KVM. This
> fixes bootup of Mac VMs on systems where bot HV and PR kvm modules are loaded
> for me.
>
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---
> hw/ppc/mac_newworld.c | 7 +++++++
> hw/ppc/mac_oldworld.c | 7 +++++++
> 2 files changed, 14 insertions(+)
>
> diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
> index f5bccd2..2e66a35 100644
> --- a/hw/ppc/mac_newworld.c
> +++ b/hw/ppc/mac_newworld.c
> @@ -477,12 +477,19 @@ static void ppc_core99_init(MachineState *machine)
> qemu_register_boot_set(fw_cfg_boot_set, fw_cfg);
> }
>
> +static int core99_kvm_type(const char *arg)
> +{
> + /* Always force PR KVM */
> + return 2;
> +}
> +
> static QEMUMachine core99_machine = {
> .name = "mac99",
> .desc = "Mac99 based PowerMAC",
> .init = ppc_core99_init,
> .max_cpus = MAX_CPUS,
> .default_boot_order = "cd",
> + .kvm_type = core99_kvm_type,
> };
>
> static void core99_machine_init(void)
> diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
> index cd9bdbc..ec7ed38 100644
> --- a/hw/ppc/mac_oldworld.c
> +++ b/hw/ppc/mac_oldworld.c
> @@ -346,6 +346,12 @@ static void ppc_heathrow_init(MachineState *machine)
> qemu_register_boot_set(fw_cfg_boot_set, fw_cfg);
> }
>
> +static int heathrow_kvm_type(const char *arg)
> +{
> + /* Always force PR KVM */
> + return 2;
> +}
> +
> static QEMUMachine heathrow_machine = {
> .name = "g3beige",
> .desc = "Heathrow based PowerMAC",
> @@ -355,6 +361,7 @@ static QEMUMachine heathrow_machine = {
> .is_default = 1,
> #endif
> .default_boot_order = "cd", /* TOFIX "cad" when Mac floppy is implemented */
> + .kvm_type = heathrow_kvm_type,
> };
>
> static void heathrow_machine_init(void)
>
Why should anything except pseries ever use HV KVM?
Paolo
next prev parent reply other threads:[~2014-07-24 13:45 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-24 8:52 [Qemu-devel] [PATCH 2.1] PPC: KVM: Fix g3beige and mac99 when HV is loaded Alexander Graf
2014-07-24 13:44 ` Paolo Bonzini [this message]
2014-07-24 13:54 ` Alexander Graf
2014-07-24 14:11 ` Paolo Bonzini
2014-07-24 14:13 ` Alexander Graf
2014-07-24 14:55 ` Paolo Bonzini
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=53D10DCF.5030807@redhat.com \
--to=pbonzini@redhat.com \
--cc=agraf@suse.de \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@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.