From: Michael Roth <mdroth@linux.vnet.ibm.com>
To: Thomas Huth <thuth@redhat.com>,
qemu-ppc@nongnu.org, david@gibson.dropbear.id.au
Cc: Alexey Kardashevskiy <aik@ozlabs.ru>,
agraf@suse.de, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 3/5] ppc: Provide function to get CPU class of the host CPU
Date: Tue, 07 Jun 2016 19:38:18 -0500 [thread overview]
Message-ID: <20160608003818.713.80897@loki> (raw)
In-Reply-To: <1465313980-31281-4-git-send-email-thuth@redhat.com>
Quoting Thomas Huth (2016-06-07 10:39:38)
> When running with KVM, we might be interested in some details
> of the host CPU class, too, so provide a function to get the
> corresponding CPU class.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
> ---
> target-ppc/kvm.c | 19 ++++++++++++++-----
> target-ppc/kvm_ppc.h | 7 +++++++
> 2 files changed, 21 insertions(+), 5 deletions(-)
>
> diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
> index 24d6032..6c15361 100644
> --- a/target-ppc/kvm.c
> +++ b/target-ppc/kvm.c
> @@ -2329,6 +2329,19 @@ static PowerPCCPUClass *ppc_cpu_get_family_class(PowerPCCPUClass *pcc)
> return POWERPC_CPU_CLASS(oc);
> }
>
> +PowerPCCPUClass *kvm_ppc_get_host_cpu_class(void)
> +{
> + uint32_t host_pvr = mfpvr();
> + PowerPCCPUClass *pvr_pcc;
> +
> + pvr_pcc = ppc_cpu_class_by_pvr(host_pvr);
> + if (pvr_pcc == NULL) {
> + pvr_pcc = ppc_cpu_class_by_pvr_mask(host_pvr);
> + }
> +
> + return pvr_pcc;
> +}
> +
> static int kvm_ppc_register_host_cpu_type(void)
> {
> TypeInfo type_info = {
> @@ -2336,14 +2349,10 @@ static int kvm_ppc_register_host_cpu_type(void)
> .instance_init = kvmppc_host_cpu_initfn,
> .class_init = kvmppc_host_cpu_class_init,
> };
> - uint32_t host_pvr = mfpvr();
> PowerPCCPUClass *pvr_pcc;
> DeviceClass *dc;
>
> - pvr_pcc = ppc_cpu_class_by_pvr(host_pvr);
> - if (pvr_pcc == NULL) {
> - pvr_pcc = ppc_cpu_class_by_pvr_mask(host_pvr);
> - }
> + pvr_pcc = kvm_ppc_get_host_cpu_class();
> if (pvr_pcc == NULL) {
> return -1;
> }
> diff --git a/target-ppc/kvm_ppc.h b/target-ppc/kvm_ppc.h
> index 3b2090e..20bfb59 100644
> --- a/target-ppc/kvm_ppc.h
> +++ b/target-ppc/kvm_ppc.h
> @@ -56,6 +56,7 @@ void kvmppc_hash64_write_pte(CPUPPCState *env, target_ulong pte_index,
> bool kvmppc_has_cap_fixup_hcalls(void);
> int kvmppc_enable_hwrng(void);
> int kvmppc_put_books_sregs(PowerPCCPU *cpu);
> +PowerPCCPUClass *kvm_ppc_get_host_cpu_class(void);
>
> #else
>
> @@ -252,6 +253,12 @@ static inline int kvmppc_put_books_sregs(PowerPCCPU *cpu)
> {
> abort();
> }
> +
> +static inline PowerPCCPUClass *kvm_ppc_get_host_cpu_class(void)
> +{
> + return NULL;
> +}
> +
> #endif
>
> #ifndef CONFIG_KVM
> --
> 1.8.3.1
>
>
next prev parent reply other threads:[~2016-06-08 0:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-07 15:39 [Qemu-devel] [PATCH 0/5] ppc: Improve sPAPR CPU compatibility mode settings Thomas Huth
2016-06-07 15:39 ` [Qemu-devel] [PATCH 1/5] ppc/spapr: Refactor h_client_architecture_support() CPU parsing code Thomas Huth
2016-06-08 0:33 ` Michael Roth
2016-06-07 15:39 ` [Qemu-devel] [PATCH 2/5] ppc: Split pcr_mask settings into supported bits and the register mask Thomas Huth
2016-06-08 0:34 ` Michael Roth
2016-06-07 15:39 ` [Qemu-devel] [PATCH 3/5] ppc: Provide function to get CPU class of the host CPU Thomas Huth
2016-06-08 0:38 ` Michael Roth [this message]
2016-06-07 15:39 ` [Qemu-devel] [PATCH 4/5] ppc: Improve PCR bit selection in ppc_set_compat() Thomas Huth
2016-06-08 1:12 ` David Gibson
2016-06-08 6:47 ` Thomas Huth
2016-06-08 5:44 ` [Qemu-devel] [Qemu-ppc] " David Gibson
2016-06-08 6:59 ` Thomas Huth
2016-06-08 7:24 ` David Gibson
2016-06-08 7:37 ` Thomas Huth
2016-06-07 15:39 ` [Qemu-devel] [PATCH 5/5] ppc: Add PowerISA 2.07 compatibility mode Thomas Huth
2016-06-08 1:11 ` [Qemu-devel] [PATCH 0/5] ppc: Improve sPAPR CPU compatibility mode settings David Gibson
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=20160608003818.713.80897@loki \
--to=mdroth@linux.vnet.ibm.com \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=david@gibson.dropbear.id.au \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=thuth@redhat.com \
/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 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).