All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Cédric Le Goater" <clg@kaod.org>
To: kvm-ppc@vger.kernel.org
Cc: kvm@vger.kernel.org, "Paul Mackerras" <paulus@samba.org>,
	"Cédric Le Goater" <clg@kaod.org>,
	linuxppc-dev@lists.ozlabs.org,
	"David Gibson" <david@gibson.dropbear.id.au>
Subject: [PATCH 03/19] KVM: PPC: Book3S HV: check the IRQ controller type
Date: Mon,  7 Jan 2019 19:43:15 +0100	[thread overview]
Message-ID: <20190107184331.8429-4-clg@kaod.org> (raw)
In-Reply-To: <20190107184331.8429-1-clg@kaod.org>

We will have different KVM devices for interrupts, one for the
XICS-over-XIVE mode and one for the XIVE native exploitation
mode. Let's add some checks to make sure we are not mixing the
interfaces in KVM.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 arch/powerpc/kvm/book3s_xive.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
index f78d002f0fe0..8a4fa45f07f8 100644
--- a/arch/powerpc/kvm/book3s_xive.c
+++ b/arch/powerpc/kvm/book3s_xive.c
@@ -819,6 +819,9 @@ u64 kvmppc_xive_get_icp(struct kvm_vcpu *vcpu)
 {
 	struct kvmppc_xive_vcpu *xc = vcpu->arch.xive_vcpu;
 
+	if (!kvmppc_xics_enabled(vcpu))
+		return -EPERM;
+
 	if (!xc)
 		return 0;
 
@@ -835,6 +838,9 @@ int kvmppc_xive_set_icp(struct kvm_vcpu *vcpu, u64 icpval)
 	u8 cppr, mfrr;
 	u32 xisr;
 
+	if (!kvmppc_xics_enabled(vcpu))
+		return -EPERM;
+
 	if (!xc || !xive)
 		return -ENOENT;
 
-- 
2.20.1

WARNING: multiple messages have this Message-ID (diff)
From: "Cédric Le Goater" <clg@kaod.org>
To: kvm-ppc@vger.kernel.org
Cc: kvm@vger.kernel.org, "Paul Mackerras" <paulus@samba.org>,
	"Cédric Le Goater" <clg@kaod.org>,
	linuxppc-dev@lists.ozlabs.org,
	"David Gibson" <david@gibson.dropbear.id.au>
Subject: [PATCH 03/19] KVM: PPC: Book3S HV: check the IRQ controller type
Date: Mon, 07 Jan 2019 18:43:15 +0000	[thread overview]
Message-ID: <20190107184331.8429-4-clg@kaod.org> (raw)
In-Reply-To: <20190107184331.8429-1-clg@kaod.org>

We will have different KVM devices for interrupts, one for the
XICS-over-XIVE mode and one for the XIVE native exploitation
mode. Let's add some checks to make sure we are not mixing the
interfaces in KVM.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 arch/powerpc/kvm/book3s_xive.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
index f78d002f0fe0..8a4fa45f07f8 100644
--- a/arch/powerpc/kvm/book3s_xive.c
+++ b/arch/powerpc/kvm/book3s_xive.c
@@ -819,6 +819,9 @@ u64 kvmppc_xive_get_icp(struct kvm_vcpu *vcpu)
 {
 	struct kvmppc_xive_vcpu *xc = vcpu->arch.xive_vcpu;
 
+	if (!kvmppc_xics_enabled(vcpu))
+		return -EPERM;
+
 	if (!xc)
 		return 0;
 
@@ -835,6 +838,9 @@ int kvmppc_xive_set_icp(struct kvm_vcpu *vcpu, u64 icpval)
 	u8 cppr, mfrr;
 	u32 xisr;
 
+	if (!kvmppc_xics_enabled(vcpu))
+		return -EPERM;
+
 	if (!xc || !xive)
 		return -ENOENT;
 
-- 
2.20.1

  parent reply	other threads:[~2019-01-07 18:43 UTC|newest]

Thread overview: 271+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-07 18:43 [PATCH 00/19] KVM: PPC: Book3S HV: add XIVE native exploitation mode Cédric Le Goater
2019-01-07 18:43 ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 01/19] powerpc/xive: export flags for the XIVE native exploitation mode hcalls Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-09  3:33   ` David Gibson
2019-01-09  3:33     ` David Gibson
2019-01-09 13:08   ` Michael Ellerman
2019-01-09 13:08     ` Michael Ellerman
2019-01-09 13:38     ` Cédric Le Goater
2019-01-09 13:38       ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 02/19] powerpc/xive: add OPAL extensions for the XIVE native exploitation support Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-09  4:26   ` David Gibson
2019-01-09  4:26     ` David Gibson
2019-01-07 18:43 ` Cédric Le Goater [this message]
2019-01-07 18:43   ` [PATCH 03/19] KVM: PPC: Book3S HV: check the IRQ controller type Cédric Le Goater
2019-01-09  4:27   ` David Gibson
2019-01-09  4:27     ` David Gibson
2019-01-22  4:56   ` Paul Mackerras
2019-01-22  4:56     ` Paul Mackerras
2019-01-23 16:24     ` Cédric Le Goater
2019-01-23 16:24       ` Cédric Le Goater
2019-02-04  0:50       ` David Gibson
2019-02-04  0:50         ` David Gibson
2019-02-04 10:16         ` Cédric Le Goater
2019-02-04 10:16           ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 04/19] KVM: PPC: Book3S HV: export services for the XIVE native exploitation device Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-11  4:09   ` David Gibson
2019-01-11  4:09     ` David Gibson
2019-01-07 18:43 ` [PATCH 05/19] KVM: PPC: Book3S HV: add a new KVM device for the XIVE native exploitation mode Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-22  5:05   ` Paul Mackerras
2019-01-22  5:05     ` Paul Mackerras
2019-01-23 16:28     ` Cédric Le Goater
2019-01-23 16:28       ` Cédric Le Goater
2019-01-28 17:35     ` Cédric Le Goater
2019-01-28 17:35       ` Cédric Le Goater
2019-01-30  4:29       ` Paul Mackerras
2019-01-30  4:29         ` Paul Mackerras
2019-01-30  7:01         ` Cédric Le Goater
2019-01-30  7:01           ` Cédric Le Goater
2019-01-31  3:01           ` Paul Mackerras
2019-01-31  3:01             ` Paul Mackerras
2019-02-01 17:03             ` Cédric Le Goater
2019-02-01 17:03               ` Cédric Le Goater
2019-02-04  4:25   ` David Gibson
2019-02-04  4:25     ` David Gibson
2019-02-04 11:19     ` Cédric Le Goater
2019-02-04 11:19       ` Cédric Le Goater
2019-02-05  5:26       ` David Gibson
2019-02-05  5:26         ` David Gibson
2019-01-07 18:43 ` [PATCH 06/19] KVM: PPC: Book3S HV: add a GET_ESB_FD control to the XIVE native device Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-22  5:09   ` Paul Mackerras
2019-01-22  5:09     ` Paul Mackerras
2019-01-23 16:48     ` Cédric Le Goater
2019-01-23 16:48       ` Cédric Le Goater
2019-02-04  4:45   ` David Gibson
2019-02-04  4:45     ` David Gibson
2019-02-04 11:30     ` Cédric Le Goater
2019-02-04 11:30       ` Cédric Le Goater
2019-02-05  5:28       ` David Gibson
2019-02-05  5:28         ` David Gibson
2019-02-05 12:55         ` Cédric Le Goater
2019-02-05 12:55           ` Cédric Le Goater
2019-02-06  1:23           ` David Gibson
2019-02-06  1:23             ` David Gibson
2019-02-06  7:21             ` Cédric Le Goater
2019-02-06  7:21               ` Cédric Le Goater
2019-02-07  2:49               ` David Gibson
2019-02-07  2:49                 ` David Gibson
2019-02-07  9:03                 ` Cédric Le Goater
2019-02-07  9:03                   ` Cédric Le Goater
2019-02-07  9:03                   ` Cédric Le Goater
2019-02-08  5:15                   ` David Gibson
2019-02-08  5:15                     ` David Gibson
2019-02-08  7:58                     ` Cédric Le Goater
2019-02-08  7:58                       ` Cédric Le Goater
2019-02-08 21:53                       ` Paul Mackerras
2019-02-08 21:53                         ` Paul Mackerras
2019-02-09  9:41                         ` Cédric Le Goater
2019-02-09  9:41                           ` Cédric Le Goater
2019-02-11  2:38                           ` David Gibson
2019-02-11  2:38                             ` David Gibson
2019-02-11  6:42                             ` Benjamin Herrenschmidt
2019-02-11  6:42                               ` Benjamin Herrenschmidt
2019-02-12 22:07                               ` Cédric Le Goater
2019-02-12 22:07                                 ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 07/19] KVM: PPC: Book3S HV: add a GET_TIMA_FD control to " Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 08/19] KVM: PPC: Book3S HV: add a VC_BASE control to the " Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-22  5:14   ` Paul Mackerras
2019-01-22  5:14     ` Paul Mackerras
2019-01-23 16:56     ` Cédric Le Goater
2019-01-23 16:56       ` Cédric Le Goater
2019-02-04  4:49       ` David Gibson
2019-02-04  4:49         ` David Gibson
2019-02-04 15:36         ` Cédric Le Goater
2019-02-04 15:36           ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 09/19] KVM: PPC: Book3S HV: add a SET_SOURCE " Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  4:57   ` David Gibson
2019-02-04  4:57     ` David Gibson
2019-02-04 19:07     ` Cédric Le Goater
2019-02-04 19:07       ` Cédric Le Goater
2019-02-05  5:35       ` David Gibson
2019-02-05  5:35         ` David Gibson
2019-02-05 13:39         ` Cédric Le Goater
2019-02-05 13:39           ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 10/19] KVM: PPC: Book3S HV: add a EISN attribute to kvmppc_xive_irq_state Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 11/19] KVM: PPC: Book3S HV: add support for the XIVE native exploitation mode hcalls Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-22  5:23   ` Paul Mackerras
2019-01-22  5:23     ` Paul Mackerras
2019-01-23  6:44     ` Benjamin Herrenschmidt
2019-01-23  6:44       ` Benjamin Herrenschmidt
2019-01-23  8:48       ` Cédric Le Goater
2019-01-23  8:48         ` Cédric Le Goater
2019-01-23 10:26         ` Paul Mackerras
2019-01-23 10:26           ` Paul Mackerras
2019-01-23 10:48           ` Cédric Le Goater
2019-01-23 10:48             ` Cédric Le Goater
2019-01-23 21:23           ` Benjamin Herrenschmidt
2019-01-23 21:23             ` Benjamin Herrenschmidt
2019-01-07 18:43 ` [PATCH 12/19] KVM: PPC: Book3S HV: record guest queue page address Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  5:15   ` David Gibson
2019-02-04  5:15     ` David Gibson
2019-02-04 15:37     ` Cédric Le Goater
2019-02-04 15:37       ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 13/19] KVM: PPC: Book3S HV: add a SYNC control for the XIVE native migration Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  5:17   ` David Gibson
2019-02-04  5:17     ` David Gibson
2019-02-04 15:39     ` Cédric Le Goater
2019-02-04 15:39       ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 14/19] KVM: PPC: Book3S HV: add a control to make the XIVE EQ pages dirty Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  5:18   ` David Gibson
2019-02-04  5:18     ` David Gibson
2019-02-04 15:46     ` Cédric Le Goater
2019-02-04 15:46       ` Cédric Le Goater
2019-02-05  5:30       ` David Gibson
2019-02-05  5:30         ` David Gibson
2019-01-07 18:43 ` [PATCH 15/19] KVM: PPC: Book3S HV: add get/set accessors for the source configuration Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  5:21   ` David Gibson
2019-02-04  5:21     ` David Gibson
2019-02-04 16:07     ` Cédric Le Goater
2019-02-04 16:07       ` Cédric Le Goater
2019-02-05  5:32       ` David Gibson
2019-02-05  5:32         ` David Gibson
2019-02-05 13:03         ` Cédric Le Goater
2019-02-05 13:03           ` Cédric Le Goater
2019-02-06  1:23           ` David Gibson
2019-02-06  1:23             ` David Gibson
2019-02-06  1:24             ` David Gibson
2019-02-06  1:24               ` David Gibson
2019-02-06  7:07               ` Cédric Le Goater
2019-02-06  7:07                 ` Cédric Le Goater
2019-02-07  2:48                 ` David Gibson
2019-02-07  2:48                   ` David Gibson
2019-02-07  9:13                   ` Cédric Le Goater
2019-02-07  9:13                     ` Cédric Le Goater
2019-02-08  5:15                     ` David Gibson
2019-02-08  5:15                       ` David Gibson
2019-02-14 16:50                       ` Cédric Le Goater
2019-02-14 16:50                         ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 16/19] KVM: PPC: Book3S HV: add get/set accessors for the EQ configuration Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  5:24   ` David Gibson
2019-02-04  5:24     ` David Gibson
2019-02-05 17:45     ` Cédric Le Goater
2019-02-05 17:45       ` Cédric Le Goater
2019-01-07 19:10 ` [PATCH 17/19] KVM: PPC: Book3S HV: add get/set accessors for the VP XIVE state Cédric Le Goater
2019-01-07 19:10   ` Cédric Le Goater
2019-01-07 19:10   ` [PATCH 18/19] KVM: PPC: Book3S HV: add passthrough support Cédric Le Goater
2019-01-07 19:10     ` Cédric Le Goater
2019-01-22  5:26     ` Paul Mackerras
2019-01-22  5:26       ` Paul Mackerras
2019-01-23  6:45       ` Benjamin Herrenschmidt
2019-01-23  6:45         ` Benjamin Herrenschmidt
2019-01-23 10:30         ` Paul Mackerras
2019-01-23 10:30           ` Paul Mackerras
2019-01-23 11:07           ` Cédric Le Goater
2019-01-23 11:07             ` Cédric Le Goater
2019-01-28  6:13             ` Paul Mackerras
2019-01-28  6:13               ` Paul Mackerras
2019-01-28 18:26               ` Cédric Le Goater
2019-01-28 18:26                 ` Cédric Le Goater
2019-01-29  2:45                 ` Paul Mackerras
2019-01-29  2:45                   ` Paul Mackerras
2019-01-29 13:47                   ` Cédric Le Goater
2019-01-29 13:47                     ` Cédric Le Goater
2019-01-30  6:20                     ` Paul Mackerras
2019-01-30  6:20                       ` Paul Mackerras
2019-01-30 15:54                       ` Cédric Le Goater
2019-01-30 15:54                         ` Cédric Le Goater
2019-01-31  2:48                         ` Paul Mackerras
2019-01-31  2:48                           ` Paul Mackerras
2019-01-29  4:12                 ` Paul Mackerras
2019-01-29  4:12                   ` Paul Mackerras
2019-01-29 17:44                   ` Cédric Le Goater
2019-01-29 17:44                     ` Cédric Le Goater
2019-01-30  5:55                     ` Paul Mackerras
2019-01-30  5:55                       ` Paul Mackerras
2019-01-30  7:06                       ` Cédric Le Goater
2019-01-30  7:06                         ` Cédric Le Goater
2019-01-23 21:25           ` Benjamin Herrenschmidt
2019-01-23 21:25             ` Benjamin Herrenschmidt
2019-01-24  8:41             ` Cédric Le Goater
2019-01-24  8:41               ` Cédric Le Goater
2019-01-28  4:43             ` Paul Mackerras
2019-01-28  4:43               ` Paul Mackerras
2019-01-29 13:46               ` Cédric Le Goater
2019-01-29 13:46                 ` Cédric Le Goater
2019-01-07 19:10   ` [PATCH 19/19] KVM: introduce a KVM_DELETE_DEVICE ioctl Cédric Le Goater
2019-01-07 19:10     ` Cédric Le Goater
2019-01-22  5:42     ` Paul Mackerras
2019-01-22  5:42       ` Paul Mackerras
2019-01-23 18:39       ` Cédric Le Goater
2019-01-23 18:39         ` Cédric Le Goater
2019-01-23 21:32         ` Benjamin Herrenschmidt
2019-01-23 21:32           ` Benjamin Herrenschmidt
2019-02-04  5:26   ` [PATCH 17/19] KVM: PPC: Book3S HV: add get/set accessors for the VP XIVE state David Gibson
2019-02-04  5:26     ` David Gibson
2019-02-04 18:57     ` Cédric Le Goater
2019-02-04 18:57       ` Cédric Le Goater
2019-02-05  5:33       ` David Gibson
2019-02-05  5:33         ` David Gibson
2019-02-05 11:58         ` Cédric Le Goater
2019-02-05 11:58           ` Cédric Le Goater
2019-02-06  1:19           ` David Gibson
2019-02-06  1:19             ` David Gibson
2019-01-22  4:46 ` [PATCH 00/19] KVM: PPC: Book3S HV: add XIVE native exploitation mode Paul Mackerras
2019-01-22  4:46   ` Paul Mackerras
2019-01-23 19:07   ` Cédric Le Goater
2019-01-23 19:07     ` Cédric Le Goater
2019-01-23 21:35     ` Benjamin Herrenschmidt
2019-01-23 21:35       ` Benjamin Herrenschmidt
2019-01-26  8:25       ` Cédric Le Goater
2019-01-26  8:25         ` Cédric Le Goater
2019-02-04  5:36         ` David Gibson
2019-02-04  5:36           ` David Gibson
2019-02-05 11:31           ` Cédric Le Goater
2019-02-05 11:31             ` Cédric Le Goater
2019-02-05 22:13             ` Paul Mackerras
2019-02-05 22:13               ` Paul Mackerras
2019-02-06  1:18               ` David Gibson
2019-02-06  1:18                 ` David Gibson
2019-02-06  7:35                 ` Cédric Le Goater
2019-02-06  7:35                   ` Cédric Le Goater
2019-02-07  2:51                   ` David Gibson
2019-02-07  2:51                     ` David Gibson
2019-02-07  8:31                     ` Cédric Le Goater
2019-02-07  8:31                       ` Cédric Le Goater
2019-02-08  5:07                       ` David Gibson
2019-02-08  5:07                         ` David Gibson
2019-02-08  7:38                         ` Cédric Le Goater
2019-02-08  7:38                           ` Cédric Le Goater
2019-01-28  5:51     ` Paul Mackerras
2019-01-28  5:51       ` Paul Mackerras
2019-01-29 13:51       ` Cédric Le Goater
2019-01-29 13:51         ` Cédric Le Goater
2019-01-30  5:40         ` Paul Mackerras
2019-01-30  5:40           ` Paul Mackerras
2019-01-30 15:36           ` Cédric Le Goater
2019-01-30 15:36             ` Cédric Le Goater

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=20190107184331.8429-4-clg@kaod.org \
    --to=clg@kaod.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=paulus@samba.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.