[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 22/22] pseries: Allow writes to KVM accelerated TCE
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 22/22] pseries: Allow writes to KVM accelerated TCE table |
Date: |
Sun, 30 Oct 2011 21:23:13 +0100 |
From: David Gibson <address@hidden>
Sufficiently recent kernels include a KVM call to accelerate use of
PAPR TCE tables (IOMMU), which are used by PAPR virtual IO devices.
This involves qemu mapping the TCE table in from a kernel obtained fd,
which currently we do with PROT_READ only. This is a hangover from
early (never released) versions of this kernel interface which only
permitted read-only mappings and required us to destroy and recreate
the table when we needed to clear it from qemu.
Now, the kernel permits read-write mappings, and we rely on this to
clear the table in spapr_vio_quiesce_one(). However, due to
insufficient testing, I forgot to update the actual mapping of the
table in kvmppc_create_spapr_tce() to add PROT_WRITE to the mmap().
This patch corrects the oversight.
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
---
target-ppc/kvm.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
index f3d0861..429349f 100644
--- a/target-ppc/kvm.c
+++ b/target-ppc/kvm.c
@@ -850,7 +850,7 @@ void *kvmppc_create_spapr_tce(uint32_t liobn, uint32_t
window_size, int *pfd)
len = (window_size / SPAPR_VIO_TCE_PAGE_SIZE) * sizeof(VIOsPAPR_RTCE);
/* FIXME: round this up to page size */
- table = mmap(NULL, len, PROT_READ, MAP_SHARED, fd, 0);
+ table = mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
if (table == MAP_FAILED) {
close(fd);
return NULL;
--
1.6.0.2
- [Qemu-devel] [PATCH 13/22] ppc: Add cpu defs for POWER7 revisions 2.1 and 2.3, (continued)
- [Qemu-devel] [PATCH 13/22] ppc: Add cpu defs for POWER7 revisions 2.1 and 2.3, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 09/22] pseries: Add device tree properties for VMX/VSX and DFP under kvm, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 15/22] PPC: Bump qemu-system-ppc to 64-bit physical address space, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 07/22] Set an invalid-bits mask for each SPE instructions, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 18/22] PPC: Fail configure when libfdt is not available, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 17/22] ppc: Avoid decrementer related kvm exits, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 11/22] ppc: Remove broken partial PVR matching, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 21/22] KVM: PPC: Override host vmx/vsx/dfp only when information known, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 14/22] pseries: Under kvm use guest cpu = host cpu by default, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 08/22] ppc: Generalize the kvmppc_get_clockfreq() function, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 22/22] pseries: Allow writes to KVM accelerated TCE table,
Alexander Graf <=
- [Qemu-devel] [PATCH 12/22] ppc: First cut implementation of -cpu host, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 19/22] pseries: Correct vmx/dfp handling in both KVM and TCG cases, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 20/22] ppc: Fix up usermode only builds, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 16/22] PPC: Disable non-440 CPUs for ppcemb target, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 10/22] pseries: Update SLOF firmware image, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 23/22] ppc: Alter CPU state to mask out TCG unimplemented instructions as appropriate, Alexander Graf, 2011/10/31
- [Qemu-devel] [PATCH 24/22] pseries: Add partial support for PCI, Alexander Graf, 2011/10/31
- Re: [Qemu-devel] [PULL 00/22] ppc patch queue 2011-10-30, Alexander Graf, 2011/10/31