[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/16] s390x: make ipte 31-bit aware
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 06/16] s390x: make ipte 31-bit aware |
Date: |
Fri, 11 Nov 2011 18:49:13 +0100 |
When running 31-bit code we can potentially map the same virtual
address twice - once as 0x0yyyyyyy and once as 0x8yyyyyyy, because
the upper bit gets ignored.
This also should be reflected in the tlb invalidation path, so we
really invalidate also the transparently created tlb entries.
Signed-off-by: Alexander Graf <address@hidden>
---
target-s390x/op_helper.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/target-s390x/op_helper.c b/target-s390x/op_helper.c
index e594118..2f46bdd 100644
--- a/target-s390x/op_helper.c
+++ b/target-s390x/op_helper.c
@@ -2950,6 +2950,13 @@ void HELPER(ipte)(uint64_t pte_addr, uint64_t vaddr)
/* XXX we exploit the fact that Linux passes the exact virtual
address here - it's not obliged to! */
tlb_flush_page(env, page);
+
+ /* XXX 31-bit hack */
+ if (page & 0x80000000) {
+ tlb_flush_page(env, page & ~0x80000000);
+ } else {
+ tlb_flush_page(env, page | 0x80000000);
+ }
}
/* flush local tlb */
--
1.6.0.2
- [Qemu-devel] [PULL 00/16] s390 patch queue 2011-11-11 for 1.0, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 02/16] Compile device-hotplug on all targets, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 05/16] s390x: add ldeb instruction, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 04/16] Expose drive_add on all architectures, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 06/16] s390x: make ipte 31-bit aware,
Alexander Graf <=
- [Qemu-devel] [PATCH 13/16] s390x: Add shutdown for TCG s390-virtio machine, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 07/16] s390x: update R and C bits in storage key, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 14/16] tcg: Standardize on TCGReg as the enum for hard registers, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 09/16] s390x: implement SIGP restart and shutdown, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 03/16] Add generic drive hotplugging, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 10/16] s390: fix reset hypercall to reset the status, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 16/16] s390x: initialize virtio dev region, Alexander Graf, 2011/11/11
- [Qemu-devel] [PATCH 12/16] s390: Fix cpu shutdown for KVM, Alexander Graf, 2011/11/11