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 09/19] KVM: PPC: Book3S HV: add a SET_SOURCE control to the XIVE native device
Date: Mon,  7 Jan 2019 19:43:21 +0100	[thread overview]
Message-ID: <20190107184331.8429-10-clg@kaod.org> (raw)
In-Reply-To: <20190107184331.8429-1-clg@kaod.org>

Interrupt sources are simply created at the OPAL level and then
MASKED. KVM only needs to know about their type: LSI or MSI.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 arch/powerpc/include/uapi/asm/kvm.h           |  5 +
 arch/powerpc/kvm/book3s_xive_native.c         | 98 +++++++++++++++++++
 .../powerpc/kvm/book3s_xive_native_template.c | 27 +++++
 3 files changed, 130 insertions(+)
 create mode 100644 arch/powerpc/kvm/book3s_xive_native_template.c

diff --git a/arch/powerpc/include/uapi/asm/kvm.h b/arch/powerpc/include/uapi/asm/kvm.h
index 8b78b12aa118..6fc9660c5aec 100644
--- a/arch/powerpc/include/uapi/asm/kvm.h
+++ b/arch/powerpc/include/uapi/asm/kvm.h
@@ -680,5 +680,10 @@ struct kvm_ppc_cpu_char {
 #define   KVM_DEV_XIVE_GET_ESB_FD	1
 #define   KVM_DEV_XIVE_GET_TIMA_FD	2
 #define   KVM_DEV_XIVE_VC_BASE		3
+#define KVM_DEV_XIVE_GRP_SOURCES	2	/* 64-bit source attributes */
+
+/* Layout of 64-bit XIVE source attribute values */
+#define KVM_XIVE_LEVEL_SENSITIVE	(1ULL << 0)
+#define KVM_XIVE_LEVEL_ASSERTED		(1ULL << 1)
 
 #endif /* __LINUX_KVM_POWERPC_H */
diff --git a/arch/powerpc/kvm/book3s_xive_native.c b/arch/powerpc/kvm/book3s_xive_native.c
index 29a62914de55..2518640d4a58 100644
--- a/arch/powerpc/kvm/book3s_xive_native.c
+++ b/arch/powerpc/kvm/book3s_xive_native.c
@@ -31,6 +31,24 @@
 
 #include "book3s_xive.h"
 
+/*
+ * We still instantiate them here because we use some of the
+ * generated utility functions as well in this file.
+ */
+#define XIVE_RUNTIME_CHECKS
+#define X_PFX xive_vm_
+#define X_STATIC static
+#define X_STAT_PFX stat_vm_
+#define __x_tima		xive_tima
+#define __x_eoi_page(xd)	((void __iomem *)((xd)->eoi_mmio))
+#define __x_trig_page(xd)	((void __iomem *)((xd)->trig_mmio))
+#define __x_writeb	__raw_writeb
+#define __x_readw	__raw_readw
+#define __x_readq	__raw_readq
+#define __x_writeq	__raw_writeq
+
+#include "book3s_xive_native_template.c"
+
 static void xive_native_cleanup_queue(struct kvm_vcpu *vcpu, int prio)
 {
 	struct kvmppc_xive_vcpu *xc = vcpu->arch.xive_vcpu;
@@ -305,6 +323,78 @@ static int kvmppc_xive_native_get_tima_fd(struct kvmppc_xive *xive, u64 addr)
 	return put_user(ret, ubufp);
 }
 
+static int kvmppc_xive_native_set_source(struct kvmppc_xive *xive, long irq,
+					 u64 addr)
+{
+	struct kvmppc_xive_src_block *sb;
+	struct kvmppc_xive_irq_state *state;
+	u64 __user *ubufp = (u64 __user *) addr;
+	u64 val;
+	u16 idx;
+
+	pr_devel("%s irq=0x%lx\n", __func__, irq);
+
+	if (irq < KVMPPC_XIVE_FIRST_IRQ || irq >= KVMPPC_XIVE_NR_IRQS)
+		return -ENOENT;
+
+	sb = kvmppc_xive_find_source(xive, irq, &idx);
+	if (!sb) {
+		pr_debug("No source, creating source block...\n");
+		sb = kvmppc_xive_create_src_block(xive, irq);
+		if (!sb) {
+			pr_err("Failed to create block...\n");
+			return -ENOMEM;
+		}
+	}
+	state = &sb->irq_state[idx];
+
+	if (get_user(val, ubufp)) {
+		pr_err("fault getting user info !\n");
+		return -EFAULT;
+	}
+
+	/*
+	 * If the source doesn't already have an IPI, allocate
+	 * one and get the corresponding data
+	 */
+	if (!state->ipi_number) {
+		state->ipi_number = xive_native_alloc_irq();
+		if (state->ipi_number == 0) {
+			pr_err("Failed to allocate IRQ !\n");
+			return -ENOMEM;
+		}
+		xive_native_populate_irq_data(state->ipi_number,
+					      &state->ipi_data);
+		pr_debug("%s allocated hw_irq=0x%x for irq=0x%lx\n", __func__,
+			 state->ipi_number, irq);
+	}
+
+	arch_spin_lock(&sb->lock);
+
+	/* Restore LSI state */
+	if (val & KVM_XIVE_LEVEL_SENSITIVE) {
+		state->lsi = true;
+		if (val & KVM_XIVE_LEVEL_ASSERTED)
+			state->asserted = true;
+		pr_devel("  LSI ! Asserted=%d\n", state->asserted);
+	}
+
+	/* Mask IRQ to start with */
+	state->act_server = 0;
+	state->act_priority = MASKED;
+	xive_vm_esb_load(&state->ipi_data, XIVE_ESB_SET_PQ_01);
+	xive_native_configure_irq(state->ipi_number, 0, MASKED, 0);
+
+	/* Increment the number of valid sources and mark this one valid */
+	if (!state->valid)
+		xive->src_count++;
+	state->valid = true;
+
+	arch_spin_unlock(&sb->lock);
+
+	return 0;
+}
+
 static int kvmppc_xive_native_set_attr(struct kvm_device *dev,
 				       struct kvm_device_attr *attr)
 {
@@ -317,6 +407,9 @@ static int kvmppc_xive_native_set_attr(struct kvm_device *dev,
 			return kvmppc_xive_native_set_vc_base(xive, attr->addr);
 		}
 		break;
+	case KVM_DEV_XIVE_GRP_SOURCES:
+		return kvmppc_xive_native_set_source(xive, attr->attr,
+						     attr->addr);
 	}
 	return -ENXIO;
 }
@@ -353,6 +446,11 @@ static int kvmppc_xive_native_has_attr(struct kvm_device *dev,
 			return 0;
 		}
 		break;
+	case KVM_DEV_XIVE_GRP_SOURCES:
+		if (attr->attr >= KVMPPC_XIVE_FIRST_IRQ &&
+		    attr->attr < KVMPPC_XIVE_NR_IRQS)
+			return 0;
+		break;
 	}
 	return -ENXIO;
 }
diff --git a/arch/powerpc/kvm/book3s_xive_native_template.c b/arch/powerpc/kvm/book3s_xive_native_template.c
new file mode 100644
index 000000000000..e7260da4a596
--- /dev/null
+++ b/arch/powerpc/kvm/book3s_xive_native_template.c
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2017-2019, IBM Corporation.
+ */
+
+/* File to be included by other .c files */
+
+#define XGLUE(a, b) a##b
+#define GLUE(a, b) XGLUE(a, b)
+
+/*
+ * TODO: introduce a common template file with the XIVE native layer
+ * and the XICS-on-XIVE glue for the utility functions
+ */
+static u8 GLUE(X_PFX, esb_load)(struct xive_irq_data *xd, u32 offset)
+{
+	u64 val;
+
+	if (xd->flags & XIVE_IRQ_FLAG_SHIFT_BUG)
+		offset |= offset << 4;
+
+	val = __x_readq(__x_eoi_page(xd) + offset);
+#ifdef __LITTLE_ENDIAN__
+	val >>= 64-8;
+#endif
+	return (u8)val;
+}
-- 
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 09/19] KVM: PPC: Book3S HV: add a SET_SOURCE control to the XIVE native device
Date: Mon, 07 Jan 2019 18:43:21 +0000	[thread overview]
Message-ID: <20190107184331.8429-10-clg@kaod.org> (raw)
In-Reply-To: <20190107184331.8429-1-clg@kaod.org>

Interrupt sources are simply created at the OPAL level and then
MASKED. KVM only needs to know about their type: LSI or MSI.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 arch/powerpc/include/uapi/asm/kvm.h           |  5 +
 arch/powerpc/kvm/book3s_xive_native.c         | 98 +++++++++++++++++++
 .../powerpc/kvm/book3s_xive_native_template.c | 27 +++++
 3 files changed, 130 insertions(+)
 create mode 100644 arch/powerpc/kvm/book3s_xive_native_template.c

diff --git a/arch/powerpc/include/uapi/asm/kvm.h b/arch/powerpc/include/uapi/asm/kvm.h
index 8b78b12aa118..6fc9660c5aec 100644
--- a/arch/powerpc/include/uapi/asm/kvm.h
+++ b/arch/powerpc/include/uapi/asm/kvm.h
@@ -680,5 +680,10 @@ struct kvm_ppc_cpu_char {
 #define   KVM_DEV_XIVE_GET_ESB_FD	1
 #define   KVM_DEV_XIVE_GET_TIMA_FD	2
 #define   KVM_DEV_XIVE_VC_BASE		3
+#define KVM_DEV_XIVE_GRP_SOURCES	2	/* 64-bit source attributes */
+
+/* Layout of 64-bit XIVE source attribute values */
+#define KVM_XIVE_LEVEL_SENSITIVE	(1ULL << 0)
+#define KVM_XIVE_LEVEL_ASSERTED		(1ULL << 1)
 
 #endif /* __LINUX_KVM_POWERPC_H */
diff --git a/arch/powerpc/kvm/book3s_xive_native.c b/arch/powerpc/kvm/book3s_xive_native.c
index 29a62914de55..2518640d4a58 100644
--- a/arch/powerpc/kvm/book3s_xive_native.c
+++ b/arch/powerpc/kvm/book3s_xive_native.c
@@ -31,6 +31,24 @@
 
 #include "book3s_xive.h"
 
+/*
+ * We still instantiate them here because we use some of the
+ * generated utility functions as well in this file.
+ */
+#define XIVE_RUNTIME_CHECKS
+#define X_PFX xive_vm_
+#define X_STATIC static
+#define X_STAT_PFX stat_vm_
+#define __x_tima		xive_tima
+#define __x_eoi_page(xd)	((void __iomem *)((xd)->eoi_mmio))
+#define __x_trig_page(xd)	((void __iomem *)((xd)->trig_mmio))
+#define __x_writeb	__raw_writeb
+#define __x_readw	__raw_readw
+#define __x_readq	__raw_readq
+#define __x_writeq	__raw_writeq
+
+#include "book3s_xive_native_template.c"
+
 static void xive_native_cleanup_queue(struct kvm_vcpu *vcpu, int prio)
 {
 	struct kvmppc_xive_vcpu *xc = vcpu->arch.xive_vcpu;
@@ -305,6 +323,78 @@ static int kvmppc_xive_native_get_tima_fd(struct kvmppc_xive *xive, u64 addr)
 	return put_user(ret, ubufp);
 }
 
+static int kvmppc_xive_native_set_source(struct kvmppc_xive *xive, long irq,
+					 u64 addr)
+{
+	struct kvmppc_xive_src_block *sb;
+	struct kvmppc_xive_irq_state *state;
+	u64 __user *ubufp = (u64 __user *) addr;
+	u64 val;
+	u16 idx;
+
+	pr_devel("%s irq=0x%lx\n", __func__, irq);
+
+	if (irq < KVMPPC_XIVE_FIRST_IRQ || irq >= KVMPPC_XIVE_NR_IRQS)
+		return -ENOENT;
+
+	sb = kvmppc_xive_find_source(xive, irq, &idx);
+	if (!sb) {
+		pr_debug("No source, creating source block...\n");
+		sb = kvmppc_xive_create_src_block(xive, irq);
+		if (!sb) {
+			pr_err("Failed to create block...\n");
+			return -ENOMEM;
+		}
+	}
+	state = &sb->irq_state[idx];
+
+	if (get_user(val, ubufp)) {
+		pr_err("fault getting user info !\n");
+		return -EFAULT;
+	}
+
+	/*
+	 * If the source doesn't already have an IPI, allocate
+	 * one and get the corresponding data
+	 */
+	if (!state->ipi_number) {
+		state->ipi_number = xive_native_alloc_irq();
+		if (state->ipi_number = 0) {
+			pr_err("Failed to allocate IRQ !\n");
+			return -ENOMEM;
+		}
+		xive_native_populate_irq_data(state->ipi_number,
+					      &state->ipi_data);
+		pr_debug("%s allocated hw_irq=0x%x for irq=0x%lx\n", __func__,
+			 state->ipi_number, irq);
+	}
+
+	arch_spin_lock(&sb->lock);
+
+	/* Restore LSI state */
+	if (val & KVM_XIVE_LEVEL_SENSITIVE) {
+		state->lsi = true;
+		if (val & KVM_XIVE_LEVEL_ASSERTED)
+			state->asserted = true;
+		pr_devel("  LSI ! Asserted=%d\n", state->asserted);
+	}
+
+	/* Mask IRQ to start with */
+	state->act_server = 0;
+	state->act_priority = MASKED;
+	xive_vm_esb_load(&state->ipi_data, XIVE_ESB_SET_PQ_01);
+	xive_native_configure_irq(state->ipi_number, 0, MASKED, 0);
+
+	/* Increment the number of valid sources and mark this one valid */
+	if (!state->valid)
+		xive->src_count++;
+	state->valid = true;
+
+	arch_spin_unlock(&sb->lock);
+
+	return 0;
+}
+
 static int kvmppc_xive_native_set_attr(struct kvm_device *dev,
 				       struct kvm_device_attr *attr)
 {
@@ -317,6 +407,9 @@ static int kvmppc_xive_native_set_attr(struct kvm_device *dev,
 			return kvmppc_xive_native_set_vc_base(xive, attr->addr);
 		}
 		break;
+	case KVM_DEV_XIVE_GRP_SOURCES:
+		return kvmppc_xive_native_set_source(xive, attr->attr,
+						     attr->addr);
 	}
 	return -ENXIO;
 }
@@ -353,6 +446,11 @@ static int kvmppc_xive_native_has_attr(struct kvm_device *dev,
 			return 0;
 		}
 		break;
+	case KVM_DEV_XIVE_GRP_SOURCES:
+		if (attr->attr >= KVMPPC_XIVE_FIRST_IRQ &&
+		    attr->attr < KVMPPC_XIVE_NR_IRQS)
+			return 0;
+		break;
 	}
 	return -ENXIO;
 }
diff --git a/arch/powerpc/kvm/book3s_xive_native_template.c b/arch/powerpc/kvm/book3s_xive_native_template.c
new file mode 100644
index 000000000000..e7260da4a596
--- /dev/null
+++ b/arch/powerpc/kvm/book3s_xive_native_template.c
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2017-2019, IBM Corporation.
+ */
+
+/* File to be included by other .c files */
+
+#define XGLUE(a, b) a##b
+#define GLUE(a, b) XGLUE(a, b)
+
+/*
+ * TODO: introduce a common template file with the XIVE native layer
+ * and the XICS-on-XIVE glue for the utility functions
+ */
+static u8 GLUE(X_PFX, esb_load)(struct xive_irq_data *xd, u32 offset)
+{
+	u64 val;
+
+	if (xd->flags & XIVE_IRQ_FLAG_SHIFT_BUG)
+		offset |= offset << 4;
+
+	val = __x_readq(__x_eoi_page(xd) + offset);
+#ifdef __LITTLE_ENDIAN__
+	val >>= 64-8;
+#endif
+	return (u8)val;
+}
-- 
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 ` [PATCH 03/19] KVM: PPC: Book3S HV: check the IRQ controller type Cédric Le Goater
2019-01-07 18:43   ` 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 ` Cédric Le Goater [this message]
2019-01-07 18:43   ` [PATCH 09/19] KVM: PPC: Book3S HV: add a SET_SOURCE " 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-10-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.