diff options
author | Richard Henderson | 2017-12-28 21:38:46 +0100 |
---|---|---|
committer | Richard Henderson | 2018-01-30 19:08:18 +0100 |
commit | 86f8d05fc0bd077811c11c603b4263df2192e8e0 (patch) | |
tree | a01845ef03378d6a2b4d556ef49b66aff80ff971 /target/hppa/cpu.h | |
parent | target/hppa: Implement unaligned access trap (diff) | |
download | qemu-86f8d05fc0bd077811c11c603b4263df2192e8e0.tar.gz qemu-86f8d05fc0bd077811c11c603b4263df2192e8e0.tar.xz qemu-86f8d05fc0bd077811c11c603b4263df2192e8e0.zip |
target/hppa: Use space registers in data operations
This changes the system virtual address width to 64-bit and
incorporates the space registers into load/store operations.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/hppa/cpu.h')
-rw-r--r-- | target/hppa/cpu.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/target/hppa/cpu.h b/target/hppa/cpu.h index ef36826f54..49f95a0b77 100644 --- a/target/hppa/cpu.h +++ b/target/hppa/cpu.h @@ -23,10 +23,24 @@ #include "qemu-common.h" #include "cpu-qom.h" +#ifdef TARGET_HPPA64 +#define TARGET_LONG_BITS 64 +#define TARGET_VIRT_ADDR_SPACE_BITS 64 +#define TARGET_REGISTER_BITS 64 +#define TARGET_PHYS_ADDR_SPACE_BITS 64 +#elif defined(CONFIG_USER_ONLY) #define TARGET_LONG_BITS 32 #define TARGET_VIRT_ADDR_SPACE_BITS 32 #define TARGET_REGISTER_BITS 32 #define TARGET_PHYS_ADDR_SPACE_BITS 32 +#else +/* In order to form the GVA from space:offset, + we need a 64-bit virtual address space. */ +#define TARGET_LONG_BITS 64 +#define TARGET_VIRT_ADDR_SPACE_BITS 64 +#define TARGET_REGISTER_BITS 32 +#define TARGET_PHYS_ADDR_SPACE_BITS 32 +#endif #define CPUArchState struct CPUHPPAState |