All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Mueller <mimu@linux.vnet.ibm.com>
To: Alexander Graf <agraf@suse.de>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	Gleb Natapov <gleb@kernel.org>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	"Jason J. Herne" <jjherne@linux.vnet.ibm.com>,
	Cornelia Huck <cornelia.huck@de.ibm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Andreas Faerber <afaerber@suse.de>,
	Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [RFC PATCH v2 09/15] cpu-model/s390: Add KVM VM attribute interface routines
Date: Fri, 20 Feb 2015 16:18:05 +0100	[thread overview]
Message-ID: <20150220161805.3d04097a@bee> (raw)
In-Reply-To: <54E73DB8.20902@suse.de>

On Fri, 20 Feb 2015 14:59:20 +0100
Alexander Graf <agraf@suse.de> wrote:

> > +typedef struct S390ProcessorProps {
> > +    uint64_t cpuid;
> > +    uint16_t ibc;
> > +    uint8_t  pad[6];
> > +    uint64_t fac_list[S390_ARCH_FAC_LIST_SIZE_UINT64];
> > +} S390ProcessorProps;
> > +
> > +typedef struct S390MachineProps {
> > +    uint64_t cpuid;
> > +    uint32_t ibc_range;
> > +    uint8_t  pad[4];
> > +    uint64_t fac_list_mask[S390_ARCH_FAC_LIST_SIZE_UINT64];
> > +    uint64_t fac_list[S390_ARCH_FAC_LIST_SIZE_UINT64];
> > +} S390MachineProps;  
> 
> What are those structs there for? To convert between a kvm facing
> interface to an internal interface?

Yes, that's their current use, but if the interface structs: 

+struct kvm_s390_vm_cpu_processor {
+       __u64 cpuid;
+       __u16 ibc;
+       __u8  pad[6];
+       __u64 fac_list[256];
+};
+
+/* kvm S390 machine related attributes are r/o */
+#define KVM_S390_VM_CPU_MACHINE                1
+struct kvm_s390_vm_cpu_machine {
+       __u64 cpuid;
+       __u32 ibc_range;
+       __u8  pad[4];
+       __u64 fac_mask[256];
+       __u64 fac_list[256];
+};

are visible here, I'll reuse them... But stop, that will not work in the 
--disable-kvm case... I need them!
> 
> I don't think they're necessary. The internal layout is visible from the
> KVM code. Just either spawn the class straight from the kvm file or if
> you consider that ugly, pass the values of that struct that you need as
> function parameters to a function in cpu-models.c.


WARNING: multiple messages have this Message-ID (diff)
From: Michael Mueller <mimu@linux.vnet.ibm.com>
To: Alexander Graf <agraf@suse.de>
Cc: linux-s390@vger.kernel.org, kvm@vger.kernel.org,
	Gleb Natapov <gleb@kernel.org>,
	qemu-devel@nongnu.org, linux-kernel@vger.kernel.org,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	"Jason J. Herne" <jjherne@linux.vnet.ibm.com>,
	Cornelia Huck <cornelia.huck@de.ibm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Andreas Faerber <afaerber@suse.de>,
	Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [RFC PATCH v2 09/15] cpu-model/s390: Add KVM VM attribute interface routines
Date: Fri, 20 Feb 2015 16:18:05 +0100	[thread overview]
Message-ID: <20150220161805.3d04097a@bee> (raw)
In-Reply-To: <54E73DB8.20902@suse.de>

On Fri, 20 Feb 2015 14:59:20 +0100
Alexander Graf <agraf@suse.de> wrote:

> > +typedef struct S390ProcessorProps {
> > +    uint64_t cpuid;
> > +    uint16_t ibc;
> > +    uint8_t  pad[6];
> > +    uint64_t fac_list[S390_ARCH_FAC_LIST_SIZE_UINT64];
> > +} S390ProcessorProps;
> > +
> > +typedef struct S390MachineProps {
> > +    uint64_t cpuid;
> > +    uint32_t ibc_range;
> > +    uint8_t  pad[4];
> > +    uint64_t fac_list_mask[S390_ARCH_FAC_LIST_SIZE_UINT64];
> > +    uint64_t fac_list[S390_ARCH_FAC_LIST_SIZE_UINT64];
> > +} S390MachineProps;  
> 
> What are those structs there for? To convert between a kvm facing
> interface to an internal interface?

Yes, that's their current use, but if the interface structs: 

+struct kvm_s390_vm_cpu_processor {
+       __u64 cpuid;
+       __u16 ibc;
+       __u8  pad[6];
+       __u64 fac_list[256];
+};
+
+/* kvm S390 machine related attributes are r/o */
+#define KVM_S390_VM_CPU_MACHINE                1
+struct kvm_s390_vm_cpu_machine {
+       __u64 cpuid;
+       __u32 ibc_range;
+       __u8  pad[4];
+       __u64 fac_mask[256];
+       __u64 fac_list[256];
+};

are visible here, I'll reuse them... But stop, that will not work in the 
--disable-kvm case... I need them!
> 
> I don't think they're necessary. The internal layout is visible from the
> KVM code. Just either spawn the class straight from the kvm file or if
> you consider that ugly, pass the values of that struct that you need as
> function parameters to a function in cpu-models.c.

  reply	other threads:[~2015-02-20 15:18 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-17 14:23 [RFC PATCH v2 00/15] QEMU: s390: cpu model implementation Michael Mueller
2015-02-17 14:23 ` [Qemu-devel] " Michael Mueller
2015-02-17 14:23 ` [RFC PATCH v2 01/15] cpu-model: Introduce probe mode for machine none Michael Mueller
2015-02-17 14:23   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 02/15] cpu-model: Introduce option --probe to switch into probe mode Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24   ` Michael Mueller
2015-02-17 19:16   ` [Qemu-devel] " Eric Blake
2015-02-17 19:16     ` Eric Blake
2015-02-18  9:08     ` [Qemu-devel] " Michael Mueller
2015-02-18  9:08       ` Michael Mueller
2015-02-18  9:08       ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 03/15] cpu-model: Introduce stub routine cpu_desc_avail Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24   ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 04/15] cpu-model/s390: Introduce S390 CPU models Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24   ` Michael Mueller
2015-02-20 13:54   ` Alexander Graf
2015-02-20 13:54     ` [Qemu-devel] " Alexander Graf
2015-02-20 15:00     ` Michael Mueller
2015-02-20 15:00       ` Michael Mueller
2015-02-20 15:22       ` Alexander Graf
2015-02-20 15:22         ` Alexander Graf
2015-02-20 15:49         ` Michael Mueller
2015-02-20 15:49           ` Michael Mueller
2015-02-20 16:57           ` Alexander Graf
2015-02-20 16:57             ` Alexander Graf
2015-02-20 17:37             ` Michael Mueller
2015-02-20 17:37               ` Michael Mueller
2015-02-20 17:50               ` Alexander Graf
2015-02-20 17:50                 ` Alexander Graf
2015-02-20 19:43                 ` Michael Mueller
2015-02-20 19:43                   ` Michael Mueller
2015-02-20 19:55                   ` Alexander Graf
2015-02-20 19:55                     ` Alexander Graf
2015-02-23 12:56         ` Christian Borntraeger
2015-02-23 12:56           ` Christian Borntraeger
2015-02-23 13:27           ` Christian Borntraeger
2015-02-23 13:27             ` Christian Borntraeger
2015-02-20 13:55   ` Alexander Graf
2015-02-20 13:55     ` [Qemu-devel] " Alexander Graf
2015-02-20 15:02     ` Michael Mueller
2015-02-20 15:02       ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 05/15] cpu-model/s390: Introduce S390 CPU facilities Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 06/15] cpu-model/s390: Define cpu model specific facility lists Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 07/15] cpu-model/s390: Add cpu model alias definition routines Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 08/15] cpu-model/s390: Update linux-headers/asm-s390/kvm.h Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 09/15] cpu-model/s390: Add KVM VM attribute interface routines Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-20 13:59   ` Alexander Graf
2015-02-20 13:59     ` [Qemu-devel] " Alexander Graf
2015-02-20 15:18     ` Michael Mueller [this message]
2015-02-20 15:18       ` Michael Mueller
2015-02-20 16:59       ` Alexander Graf
2015-02-20 16:59         ` Alexander Graf
2015-02-20 18:42         ` Michael Mueller
2015-02-20 18:42           ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 10/15] cpu-model/s390: Add cpu class initialization routines Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24   ` Michael Mueller
2015-02-20 16:02   ` Richard Henderson
2015-02-20 16:02     ` [Qemu-devel] " Richard Henderson
2015-02-20 16:12     ` Michael Mueller
2015-02-20 16:12       ` Michael Mueller
2015-02-20 16:12       ` Michael Mueller
2015-02-20 16:27       ` [Qemu-devel] " Michael Mueller
2015-02-20 16:27         ` Michael Mueller
2015-02-20 16:34       ` Andreas Färber
2015-02-20 16:34         ` Andreas Färber
2015-02-20 16:55         ` Michael Mueller
2015-02-20 18:11   ` Richard Henderson
2015-02-20 18:11     ` [Qemu-devel] " Richard Henderson
2015-02-20 18:59     ` Michael Mueller
2015-02-20 18:59       ` Michael Mueller
2015-02-20 19:21       ` Alexander Graf
2015-02-20 19:21         ` Alexander Graf
2015-02-20 19:35         ` Michael Mueller
2015-02-20 19:35           ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 11/15] cpu-model/s390: Add QMP command query-cpu-model Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24   ` Michael Mueller
2015-02-17 18:03   ` [Qemu-devel] " Eric Blake
2015-02-18  8:39     ` Michael Mueller
2015-02-18  8:39       ` Michael Mueller
2015-02-18  8:39       ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 12/15] cpu-model/s390: Extend QMP command query-cpu-definitions Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 18:09   ` Eric Blake
2015-02-18  9:29     ` Michael Mueller
2015-02-18  9:29       ` Michael Mueller
2015-02-18  9:29       ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 13/15] cpu-model/s390: Add processor property routines Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-20 14:03   ` Alexander Graf
2015-02-20 14:03     ` [Qemu-devel] " Alexander Graf
2015-02-20 15:32     ` Michael Mueller
2015-02-20 15:32       ` Michael Mueller
2015-02-20 15:41       ` Andreas Färber
2015-02-20 15:41         ` Andreas Färber
2015-02-20 16:04         ` Michael Mueller
2015-02-20 16:04           ` Michael Mueller
2015-02-20 16:28           ` Andreas Färber
2015-02-20 16:28             ` Andreas Färber
2015-02-20 16:53             ` Michael Mueller
2015-02-20 16:53               ` Michael Mueller
2015-02-20 16:05         ` Michael Mueller
2015-02-20 16:05           ` Michael Mueller
2015-02-20 17:00       ` Alexander Graf
2015-02-20 17:00         ` Alexander Graf
2015-02-20 19:29         ` Michael Mueller
2015-02-20 19:29           ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 14/15] cpu-model/s390: Add cpu model selection routine Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 15/15] cpu-model/s390: Enable S390 cpu model Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller

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=20150220161805.3d04097a@bee \
    --to=mimu@linux.vnet.ibm.com \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=gleb@kernel.org \
    --cc=jjherne@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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.