All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Prerna Saxena <prerna@linux.vnet.ibm.com>
Cc: qemu-ppc <qemu-ppc@nongnu.org>,
	qemu-devel@nongnu.org, Alexander Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] [PATCH 18/19] target-ppc: Enhance the CPU node labels for the guest device tree for pseries.
Date: Mon, 08 Jul 2013 18:45:27 +0200	[thread overview]
Message-ID: <51DAECA7.2090405@suse.de> (raw)
In-Reply-To: <51DADF6F.6010006@linux.vnet.ibm.com>

Hi,

Am 08.07.2013 17:49, schrieb Prerna Saxena:
> On 07/08/2013 02:32 PM, Andreas Färber wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Am 08.07.2013 03:09, schrieb David Gibson:
>>> On Sat, Jul 06, 2013 at 11:54:15PM +1000, Alexey Kardashevskiy
>>> wrote:
>>>> @@ -1342,6 +1346,13 @@ static void
>>>> ppc_spapr_init(QEMUMachineInitArgs *args) 
>>>> register_savevm_live(NULL, "spapr/htab", -1, 1, 
>>>> &savevm_htab_handlers, spapr);
>>>>
>>>> +    /* Ensure that cpu_model is correctly reflected for a KVM
>>>> guest */ +    if (kvm_enabled() && !strcmp(cpu_model, "host")) { 
>>>> +        asm ("mfpvr %0" +            : "=r"(pvr)); +
>>>> cpu_model = ppc_cpu_alias_by_pvr(pvr);
>>>
>>> This needs to be protected by an ifdef CONFIG_KVM or similar.  If
>>> the compiler optimization level is turned down, so that it doesn't 
>>> recognize that the kvm_enabled() is always false, then this could 
>>> attempt to compile the ppc asm instructions on an x86 (or
>>> whatever) host.
>>
>> This hunk can be completely replaced by QOM mechanisms - just didn't
>> get to replying yet...
> 
> Sorry I already sent out a v2, and only then saw your message. Could you
> pls explain how I could use QOM to replace this code block ?

Well, in short the thing is it has not much to do with KVM. The
KVM-specific host-powerpc64-cpu type is derived from the one you're
looking for and thus you can use object_class_get_parent() to obtain the
parent type and look at its name - stripping "-" TYPE_POWERPC_CPU from
it should be much more efficient but will give you the detailed name
including revision. I was planning to propose an alternative patch for that.

Replacing a concrete model name with its simpler alias is a secondary
issue (separate patch) that is not specific to KVM or -cpu host. Compare
-cpu POWER8_v1.0 printing .../POWER8_v1.0@0/... presumably.

Further, Alex has already applied a patch of his working around the
alias table being a rather archaic construct, not intended for frequent
use. Instead of adding even more functions that iterate it, we should
turn it into a hashtable for efficient lookup.

(Note that the cpu_model_str field may contain more than just the model
name, it is otherwise unused in softmmu and I was therefore preparing a
patch to ban its use to linux-user solely, so the type name seems the
most reliable indicator we have and as a bonus no PVR needed for it.)

Regards,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

  reply	other threads:[~2013-07-08 16:45 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-06 13:53 [Qemu-devel] [PATCH 00/19 v4] spapr: migration, pci, msi, power8 Alexey Kardashevskiy
2013-07-06 13:53 ` [Qemu-devel] [PATCH 01/19] pseries: move interrupt controllers to hw/intc/ Alexey Kardashevskiy
2013-07-06 13:53 ` [Qemu-devel] [PATCH 02/19] pseries: rework XICS Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 03/19] savevm: Implement VMS_DIVIDE flag Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 04/19] target-ppc: Convert ppc cpu savevm to VMStateDescription Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 05/19] pseries: savevm support for XICS interrupt controller Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 06/19] pseries: savevm support for VIO devices Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 07/19] pseries: savevm support for PAPR VIO logical lan Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 08/19] pseries: savevm support for PAPR VIO logical tty Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 09/19] pseries: savevm support for PAPR TCE tables Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 10/19] pseries: rework PAPR virtual SCSI Alexey Kardashevskiy
2013-07-08 11:57   ` [Qemu-devel] [PATCH v2] " Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 11/19] pseries: savevm support for " Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 12/19] pseries: savevm support for pseries machine Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 13/19] pseries: savevm support for PCI host bridge Alexey Kardashevskiy
2013-07-07 23:33   ` David Gibson
2013-07-06 13:54 ` [Qemu-devel] [PATCH 14/19] target-ppc: Add helper for KVM_PPC_RTAS_DEFINE_TOKEN Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 15/19] pseries: Support for in-kernel XICS interrupt controller Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 16/19] pseries: savevm support with KVM Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 17/19] target-ppc: Add POWER8 v1.0 CPU model Alexey Kardashevskiy
2013-07-06 13:54 ` [Qemu-devel] [PATCH 18/19] target-ppc: Enhance the CPU node labels for the guest device tree for pseries Alexey Kardashevskiy
2013-07-08  1:09   ` David Gibson
2013-07-08  9:02     ` Andreas Färber
2013-07-08 15:49       ` Prerna Saxena
2013-07-08 16:45         ` Andreas Färber [this message]
2013-07-10  6:38           ` Prerna Saxena
2013-07-10  9:11             ` Andreas Färber
2013-07-08 15:45     ` [Qemu-devel] [PATCH v2 " Prerna Saxena
2013-07-06 13:54 ` [Qemu-devel] [PATCH 19/19] spapr-pci: rework MSI/MSIX Alexey Kardashevskiy
2013-07-29 20:24 ` [Qemu-devel] [PATCH 00/19 v4] spapr: migration, pci, msi, power8 Anthony Liguori

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=51DAECA7.2090405@suse.de \
    --to=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=prerna@linux.vnet.ibm.com \
    --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.