diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2015-10-08 13:37:04 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2015-10-08 13:37:04 +0100 |
commit | ca4e4b82848982311a40d0937c1de9db1108fdb0 (patch) | |
tree | 76f3a11a206eaa424e2a24dff3a1d91ea3f5dfeb /target-tilegx/cpu.h | |
parent | fb6345f452ba7cefb395389abb17d0af0e42c54b (diff) | |
parent | fec7daab3d63b7b2ca61581fffc40142b22b2bd5 (diff) |
Merge remote-tracking branch 'remotes/rth/tags/pull-tile-20151007' into staging
Collected patches
# gpg: Signature made Wed 07 Oct 2015 10:30:17 BST using RSA key ID 4DD0279B
# gpg: Good signature from "Richard Henderson <rth7680@gmail.com>"
# gpg: aka "Richard Henderson <rth@redhat.com>"
# gpg: aka "Richard Henderson <rth@twiddle.net>"
* remotes/rth/tags/pull-tile-20151007:
target-tilegx: Support iret instruction and related special registers
target-tilegx: Use TILEGX_EXCP_OPCODE_UNKNOWN and TILEGX_EXCP_OPCODE_UNIMPLEMENTED correctly
target-tilegx: Implement v2mults instruction
target-tilegx: Implement v?int_* instructions.
target-tilegx: Implement v2sh* instructions
target-tilegx: Handle nofault prefetch instructions
target-tilegx: Fix a typo for mnemonic about "ld_add"
target-tilegx: Use TILEGX_EXCP_SIGNAL instead of TILEGX_EXCP_SEGV
target-tilegx: Decode ill pseudo-instructions
linux-user/tilegx: Implement tilegx signal features
linux-user/syscall_defs.h: Sync the latest si_code from Linux kernel
target-tilegx: Let x1 pipe process bpt instruction only
target-tilegx: Implement complex multiply instructions
target-tilegx: Implement table index instructions
target-tilegx: Implement crc instructions
target-tilegx: Implement v1multu instruction
target-tilegx: Implement v*add and v*sub instructions
target-tilegx: Implement v*shl, v*shru, and v*shrs instructions
target-tilegx: Tidy simd_helper.c
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-tilegx/cpu.h')
-rw-r--r-- | target-tilegx/cpu.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/target-tilegx/cpu.h b/target-tilegx/cpu.h index b9f5082b95..6c0fd5365d 100644 --- a/target-tilegx/cpu.h +++ b/target-tilegx/cpu.h @@ -53,6 +53,8 @@ enum { TILEGX_SPR_CMPEXCH = 0, TILEGX_SPR_CRITICAL_SEC = 1, TILEGX_SPR_SIM_CONTROL = 2, + TILEGX_SPR_EX_CONTEXT_0_0 = 3, + TILEGX_SPR_EX_CONTEXT_0_1 = 4, TILEGX_SPR_COUNT }; @@ -60,7 +62,7 @@ enum { typedef enum { TILEGX_EXCP_NONE = 0, TILEGX_EXCP_SYSCALL = 1, - TILEGX_EXCP_SEGV = 2, + TILEGX_EXCP_SIGNAL = 2, TILEGX_EXCP_OPCODE_UNKNOWN = 0x101, TILEGX_EXCP_OPCODE_UNIMPLEMENTED = 0x102, TILEGX_EXCP_OPCODE_CMPEXCH = 0x103, @@ -87,10 +89,12 @@ typedef struct CPUTLGState { uint64_t pc; /* Current pc */ #if defined(CONFIG_USER_ONLY) + uint64_t excaddr; /* exception address */ uint64_t atomic_srca; /* Arguments to atomic "exceptions" */ uint64_t atomic_srcb; uint32_t atomic_dstr; - uint64_t excaddr; /* exception address */ + uint32_t signo; /* Signal number */ + uint32_t sigcode; /* Signal code */ #endif CPU_COMMON |