[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 24/33] target-alpha: Remap PIO space for 43-bit KSEG
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 24/33] target-alpha: Remap PIO space for 43-bit KSEG for EV6. |
Date: |
Thu, 28 Apr 2011 13:51:06 -0700 |
Signed-off-by: Richard Henderson <address@hidden>
---
target-alpha/helper.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/target-alpha/helper.c b/target-alpha/helper.c
index 96b407b..bd3af38 100644
--- a/target-alpha/helper.c
+++ b/target-alpha/helper.c
@@ -220,14 +220,18 @@ static int get_physical_address(CPUState *env,
target_ulong addr,
/* Translate the superpage. */
/* ??? When we do more than emulate Unix PALcode, we'll need to
- determine which superpage is actually active. */
- if (saddr < 0 && (saddr >> (TARGET_VIRT_ADDR_SPACE_BITS - 2) & 3) == 2) {
- /* User-space cannot access kseg addresses. */
+ determine which KSEG is actually active. */
+ if (saddr < 0 && ((saddr >> 41) & 3) == 2) {
+ /* User-space cannot access KSEG addresses. */
if (mmu_idx != MMU_KERNEL_IDX) {
goto exit;
}
+ /* For the benefit of the Typhoon chipset, move bit 40 to bit 43.
+ We would not do this if the 48-bit KSEG is enabled. */
phys = saddr & ((1ull << 40) - 1);
+ phys |= (saddr & (1ull << 40)) << 3;
+
prot = PAGE_READ | PAGE_WRITE | PAGE_EXEC;
ret = -1;
goto exit;
--
1.7.4.4
- [Qemu-devel] [PATCH 15/33] target-alpha: Merge HW_REI and HW_RET implementations., (continued)
- [Qemu-devel] [PATCH 15/33] target-alpha: Merge HW_REI and HW_RET implementations., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 12/33] target-alpha: Add IPRs to be used by the emulation PALcode., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 16/33] target-alpha: Implement do_interrupt for system mode., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 17/33] target-alpha: Swap shadow registers moving to/from PALmode., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 19/33] target-alpha: Use kernel mmu_idx for pal_mode., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 18/33] target-alpha: Add various symbolic constants., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 21/33] target-alpha: Disable interrupts properly., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 20/33] target-alpha: All ISA checks to use TB->FLAGS., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 22/33] target-alpha: Implement more CALL_PAL values inline., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 23/33] target-alpha: Implement cpu_alpha_handle_mmu_fault for system mode., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 24/33] target-alpha: Remap PIO space for 43-bit KSEG for EV6.,
Richard Henderson <=
- [Qemu-devel] [PATCH 25/33] target-alpha: Trap for unassigned and unaligned addresses., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 26/33] target-alpha: Include the PCC_OFS in the RPCC return value., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 27/33] target-alpha: Use a fixed frequency for the RPCC in system mode., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 28/33] target-alpha: Implement TLB flush primitives., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 31/33] target-alpha: Implement WAIT IPR., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 32/33] target-alpha: Implement HALT IPR., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 29/33] target-alpha: Add custom PALcode image for CLIPPER emulation., Richard Henderson, 2011/04/28
- [Qemu-devel] [PATCH 33/33] target-alpha: Add high-resolution access to wall clock and an alarm., Richard Henderson, 2011/04/28