On Sun, Jun 23, 2013 at 10:41:24PM -0600, Alex Williamson wrote:
On Mon, 2013-06-24 at 13:52 +1000, David Gibson wrote:
On Sat, Jun 22, 2013 at 08:28:06AM -0600, Alex Williamson wrote:
On Sat, 2013-06-22 at 22:03 +1000, David Gibson wrote:
On Thu, Jun 20, 2013 at 08:55:13AM -0600, Alex
On Sun, Jun 23, 2013 at 09:28:13AM +1000, Benjamin Herrenschmidt wrote:
On Sat, 2013-06-22 at 22:03 +1000, David Gibson wrote:
I think the interface should not take the group fd, but the container
fd. Holding a reference to *that* would keep the necessary things
around. But more to the
On Sat, Jun 22, 2013 at 08:28:06AM -0600, Alex Williamson wrote:
On Sat, 2013-06-22 at 22:03 +1000, David Gibson wrote:
On Thu, Jun 20, 2013 at 08:55:13AM -0600, Alex Williamson wrote:
On Thu, 2013-06-20 at 18:48 +1000, Alexey Kardashevskiy wrote:
On 06/20/2013 05:47 PM, Benjamin
On Mon, 2013-06-24 at 13:54 +1000, David Gibson wrote:
DDW means an API by which the guest can request the creation of
additional iommus for a given device (typically, in addition to the
default smallish 32-bit one using 4k pages, the guest can request
a larger window in 64-bit space using
On Mon, 2013-06-24 at 13:52 +1000, David Gibson wrote:
On Sat, Jun 22, 2013 at 08:28:06AM -0600, Alex Williamson wrote:
On Sat, 2013-06-22 at 22:03 +1000, David Gibson wrote:
On Thu, Jun 20, 2013 at 08:55:13AM -0600, Alex Williamson wrote:
On Thu, 2013-06-20 at 18:48 +1000, Alexey
On 06/21/2013 12:55 AM, Alex Williamson wrote:
On Thu, 2013-06-20 at 18:48 +1000, Alexey Kardashevskiy wrote:
On 06/20/2013 05:47 PM, Benjamin Herrenschmidt wrote:
On Thu, 2013-06-20 at 15:28 +1000, David Gibson wrote:
Just out of curiosity - would not get_file() and fput_atomic() on a
On Thu, Jun 20, 2013 at 08:55:13AM -0600, Alex Williamson wrote:
On Thu, 2013-06-20 at 18:48 +1000, Alexey Kardashevskiy wrote:
On 06/20/2013 05:47 PM, Benjamin Herrenschmidt wrote:
On Thu, 2013-06-20 at 15:28 +1000, David Gibson wrote:
Just out of curiosity - would not get_file() and
On Sat, 2013-06-22 at 22:03 +1000, David Gibson wrote:
On Thu, Jun 20, 2013 at 08:55:13AM -0600, Alex Williamson wrote:
On Thu, 2013-06-20 at 18:48 +1000, Alexey Kardashevskiy wrote:
On 06/20/2013 05:47 PM, Benjamin Herrenschmidt wrote:
On Thu, 2013-06-20 at 15:28 +1000, David Gibson
On Sat, 2013-06-22 at 22:03 +1000, David Gibson wrote:
I think the interface should not take the group fd, but the container
fd. Holding a reference to *that* would keep the necessary things
around. But more to the point, it's the right thing semantically:
The container is essentially the
On Thu, 2013-06-20 at 15:28 +1000, David Gibson wrote:
Just out of curiosity - would not get_file() and fput_atomic() on a
group's
file* do the right job instead of vfio_group_add_external_user() and
vfio_group_del_external_user()?
I was thinking that too. Grabbing a file reference
On 06/20/2013 05:47 PM, Benjamin Herrenschmidt wrote:
On Thu, 2013-06-20 at 15:28 +1000, David Gibson wrote:
Just out of curiosity - would not get_file() and fput_atomic() on a
group's
file* do the right job instead of vfio_group_add_external_user() and
vfio_group_del_external_user()?
I was
On Thu, 2013-06-20 at 18:48 +1000, Alexey Kardashevskiy wrote:
On 06/20/2013 05:47 PM, Benjamin Herrenschmidt wrote:
On Thu, 2013-06-20 at 15:28 +1000, David Gibson wrote:
Just out of curiosity - would not get_file() and fput_atomic() on a
group's
file* do the right job instead of
On 19.06.2013, at 06:59, Benjamin Herrenschmidt wrote:
On Wed, 2013-06-19 at 13:05 +0930, Rusty Russell wrote:
symbol_get() won't try to load a module; it'll just fail. This is what
you want, since they must have vfio in the kernel to get a valid fd...
Ok, cool. I suppose what we want
On Wed, 2013-06-19 at 11:58 +0200, Alexander Graf wrote:
Alex, any objection ?
Which Alex? :)
Heh, mostly Williamson in this specific case but your input is still
welcome :-)
I think validate works, it keeps iteration logic out of the kernel
which is a good thing. There still needs to be
On Thu, 2013-06-20 at 00:50 +1000, Benjamin Herrenschmidt wrote:
On Wed, 2013-06-19 at 11:58 +0200, Alexander Graf wrote:
Alex, any objection ?
Which Alex? :)
Heh, mostly Williamson in this specific case but your input is still
welcome :-)
I think validate works, it keeps
On 06/20/2013 01:49 AM, Alex Williamson wrote:
On Thu, 2013-06-20 at 00:50 +1000, Benjamin Herrenschmidt wrote:
On Wed, 2013-06-19 at 11:58 +0200, Alexander Graf wrote:
Alex, any objection ?
Which Alex? :)
Heh, mostly Williamson in this specific case but your input is still
welcome :-)
On Tue, 2013-06-18 at 14:38 +1000, Benjamin Herrenschmidt wrote:
On Mon, 2013-06-17 at 20:32 -0600, Alex Williamson wrote:
Right, we don't want to create dependencies across modules. I don't
have a vision for how this should work. This is effectively a complete
side-band to vfio, so
On Tue, 2013-06-18 at 08:48 -0600, Alex Williamson wrote:
On Tue, 2013-06-18 at 14:38 +1000, Benjamin Herrenschmidt wrote:
On Mon, 2013-06-17 at 20:32 -0600, Alex Williamson wrote:
Right, we don't want to create dependencies across modules. I don't
have a vision for how this should
On 06/16/2013 02:39 PM, Benjamin Herrenschmidt wrote:
static pte_t kvmppc_lookup_pte(pgd_t *pgdir, unsigned long hva, bool
writing,
-unsigned long *pte_sizep)
+unsigned long *pte_sizep, bool do_get_page)
{
pte_t *ptep;
unsigned int shift
Alex Williamson alex.william...@redhat.com writes:
On Mon, 2013-06-17 at 13:56 +1000, Benjamin Herrenschmidt wrote:
On Sun, 2013-06-16 at 21:13 -0600, Alex Williamson wrote:
IOMMU groups themselves don't provide security, they're accessed by
interfaces like VFIO, which provide the
On Wed, 2013-06-19 at 13:05 +0930, Rusty Russell wrote:
symbol_get() won't try to load a module; it'll just fail. This is what
you want, since they must have vfio in the kernel to get a valid fd...
Ok, cool. I suppose what we want here Alexey is slightly higher level,
something like:
On Mon, 2013-06-17 at 13:56 +1000, Benjamin Herrenschmidt wrote:
On Sun, 2013-06-16 at 21:13 -0600, Alex Williamson wrote:
IOMMU groups themselves don't provide security, they're accessed by
interfaces like VFIO, which provide the security. Given a brief look, I
agree, this looks like a
On Mon, 2013-06-17 at 20:32 -0600, Alex Williamson wrote:
Right, we don't want to create dependencies across modules. I don't
have a vision for how this should work. This is effectively a complete
side-band to vfio, so we're really just dealing in the iommu group
space. Maybe there needs
On 05.06.2013, at 08:11, Alexey Kardashevskiy wrote:
This allows the host kernel to handle H_PUT_TCE, H_PUT_TCE_INDIRECT
and H_STUFF_TCE requests without passing them to QEMU, which should
save time on switching to QEMU and back.
Both real and virtual modes are supported - whenever the
On Wed, 2013-06-05 at 16:11 +1000, Alexey Kardashevskiy wrote:
+long kvm_vm_ioctl_create_spapr_tce_iommu(struct kvm *kvm,
+ struct kvm_create_spapr_tce_iommu *args)
+{
+ struct kvmppc_spapr_tce_table *tt = NULL;
+ struct iommu_group *grp;
+ struct iommu_table
On Mon, 2013-06-17 at 08:39 +1000, Benjamin Herrenschmidt wrote:
On Wed, 2013-06-05 at 16:11 +1000, Alexey Kardashevskiy wrote:
+long kvm_vm_ioctl_create_spapr_tce_iommu(struct kvm *kvm,
+ struct kvm_create_spapr_tce_iommu *args)
+{
+ struct kvmppc_spapr_tce_table *tt
On Sun, 2013-06-16 at 21:13 -0600, Alex Williamson wrote:
IOMMU groups themselves don't provide security, they're accessed by
interfaces like VFIO, which provide the security. Given a brief look, I
agree, this looks like a possible backdoor. The typical VFIO way to
handle this would be to
static pte_t kvmppc_lookup_pte(pgd_t *pgdir, unsigned long hva, bool writing,
- unsigned long *pte_sizep)
+ unsigned long *pte_sizep, bool do_get_page)
{
pte_t *ptep;
unsigned int shift = 0;
@@ -135,6 +136,14 @@ static pte_t
This allows the host kernel to handle H_PUT_TCE, H_PUT_TCE_INDIRECT
and H_STUFF_TCE requests without passing them to QEMU, which should
save time on switching to QEMU and back.
Both real and virtual modes are supported - whenever the kernel
fails to handle TCE request, it passes it to the virtual
On 05/28/2013 07:12:32 PM, Alexey Kardashevskiy wrote:
On 05/29/2013 09:35 AM, Scott Wood wrote:
On 05/28/2013 06:30:40 PM, Alexey Kardashevskiy wrote:
@@ -939,6 +940,9 @@ struct kvm_s390_ucas_mapping {
#define KVM_GET_DEVICE_ATTR _IOW(KVMIO, 0xe2, struct
kvm_device_attr)
On 05/30/2013 06:05 AM, Scott Wood wrote:
On 05/28/2013 07:12:32 PM, Alexey Kardashevskiy wrote:
On 05/29/2013 09:35 AM, Scott Wood wrote:
On 05/28/2013 06:30:40 PM, Alexey Kardashevskiy wrote:
@@ -939,6 +940,9 @@ struct kvm_s390_ucas_mapping {
#define KVM_GET_DEVICE_ATTR
On 05/29/2013 06:10:33 PM, Alexey Kardashevskiy wrote:
On 05/30/2013 06:05 AM, Scott Wood wrote:
On 05/28/2013 07:12:32 PM, Alexey Kardashevskiy wrote:
On 05/29/2013 09:35 AM, Scott Wood wrote:
On 05/28/2013 06:30:40 PM, Alexey Kardashevskiy wrote:
@@ -939,6 +940,9 @@ struct
On 05/30/2013 09:14 AM, Scott Wood wrote:
On 05/29/2013 06:10:33 PM, Alexey Kardashevskiy wrote:
On 05/30/2013 06:05 AM, Scott Wood wrote:
On 05/28/2013 07:12:32 PM, Alexey Kardashevskiy wrote:
On 05/29/2013 09:35 AM, Scott Wood wrote:
On 05/28/2013 06:30:40 PM, Alexey Kardashevskiy
On 05/24/2013 09:45:24 PM, David Gibson wrote:
On Wed, May 22, 2013 at 04:06:57PM -0500, Scott Wood wrote:
On 05/20/2013 10:06:46 PM, Alexey Kardashevskiy wrote:
diff --git a/arch/powerpc/kvm/powerpc.c
b/arch/powerpc/kvm/powerpc.c
index 8465c2a..da6bf61 100644
---
On 05/26/2013 09:44:24 PM, Alexey Kardashevskiy wrote:
On 05/25/2013 12:45 PM, David Gibson wrote:
On Wed, May 22, 2013 at 04:06:57PM -0500, Scott Wood wrote:
On 05/20/2013 10:06:46 PM, Alexey Kardashevskiy wrote:
diff --git a/arch/powerpc/kvm/powerpc.c
b/arch/powerpc/kvm/powerpc.c
index
On 05/29/2013 03:45 AM, Scott Wood wrote:
On 05/26/2013 09:44:24 PM, Alexey Kardashevskiy wrote:
On 05/25/2013 12:45 PM, David Gibson wrote:
On Wed, May 22, 2013 at 04:06:57PM -0500, Scott Wood wrote:
On 05/20/2013 10:06:46 PM, Alexey Kardashevskiy wrote:
diff --git
On 05/29/2013 09:35 AM, Scott Wood wrote:
On 05/28/2013 06:30:40 PM, Alexey Kardashevskiy wrote:
@@ -939,6 +940,9 @@ struct kvm_s390_ucas_mapping {
#define KVM_GET_DEVICE_ATTR _IOW(KVMIO, 0xe2, struct
kvm_device_attr)
#define KVM_HAS_DEVICE_ATTR _IOW(KVMIO, 0xe3, struct
On 05/29/2013 02:32 AM, Scott Wood wrote:
On 05/24/2013 09:45:24 PM, David Gibson wrote:
On Wed, May 22, 2013 at 04:06:57PM -0500, Scott Wood wrote:
On 05/20/2013 10:06:46 PM, Alexey Kardashevskiy wrote:
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index
Il 25/05/2013 04:45, David Gibson ha scritto:
+ case KVM_CREATE_SPAPR_TCE_IOMMU: {
+ struct kvm_create_spapr_tce_iommu create_tce_iommu;
+ struct kvm *kvm = filp-private_data;
+
+ r = -EFAULT;
+ if (copy_from_user(create_tce_iommu, argp,
+
On 05/27/2013 08:23 PM, Paolo Bonzini wrote:
Il 25/05/2013 04:45, David Gibson ha scritto:
+ case KVM_CREATE_SPAPR_TCE_IOMMU: {
+ struct kvm_create_spapr_tce_iommu create_tce_iommu;
+ struct kvm *kvm = filp-private_data;
+
+ r = -EFAULT;
+ if
On 05/25/2013 12:45 PM, David Gibson wrote:
On Wed, May 22, 2013 at 04:06:57PM -0500, Scott Wood wrote:
On 05/20/2013 10:06:46 PM, Alexey Kardashevskiy wrote:
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 8465c2a..da6bf61 100644
--- a/arch/powerpc/kvm/powerpc.c
On Wed, May 22, 2013 at 04:06:57PM -0500, Scott Wood wrote:
On 05/20/2013 10:06:46 PM, Alexey Kardashevskiy wrote:
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 8465c2a..da6bf61 100644
--- a/arch/powerpc/kvm/powerpc.c
@@ -396,6 +396,7 @@ int
On 05/20/2013 10:06:46 PM, Alexey Kardashevskiy wrote:
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 8465c2a..da6bf61 100644
--- a/arch/powerpc/kvm/powerpc.c
@@ -396,6 +396,7 @@ int kvm_dev_ioctl_check_extension(long ext)
+++ b/arch/powerpc/kvm/powerpc.c
This allows the host kernel to handle H_PUT_TCE, H_PUT_TCE_INDIRECT
and H_STUFF_TCE requests without passing them to QEMU, which should
save time on switching to QEMU and back.
Both real and virtual modes are supported - whenever the kernel
fails to handle TCE request, it passes it to the virtual
44 matches
Mail list logo