From dd8070d865ad1b32876931f812a80645f97112ff Mon Sep 17 00:00:00 2001 From: Chen Gang Date: Sat, 26 Sep 2015 13:00:35 +0800 Subject: target-tilegx: Decode ill pseudo-instructions Notice raise and bpt, decoding the constants embedded in the nop addil instruction in the x0 slot. [rth: Generalize TILEGX_EXCP_OPCODE_ILL to TILEGX_EXCP_SIGNAL. Drop validation of signal values.] Signed-off-by: Chen Gang Message-Id: <1443243635-4886-1-git-send-email-gang.chen.5i5j@gmail.com> Signed-off-by: Richard Henderson --- target-tilegx/cpu.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'target-tilegx/cpu.h') diff --git a/target-tilegx/cpu.h b/target-tilegx/cpu.h index b9f5082..023ccd4 100644 --- a/target-tilegx/cpu.h +++ b/target-tilegx/cpu.h @@ -61,6 +61,7 @@ typedef enum { TILEGX_EXCP_NONE = 0, TILEGX_EXCP_SYSCALL = 1, TILEGX_EXCP_SEGV = 2, + TILEGX_EXCP_SIGNAL = 3, TILEGX_EXCP_OPCODE_UNKNOWN = 0x101, TILEGX_EXCP_OPCODE_UNIMPLEMENTED = 0x102, TILEGX_EXCP_OPCODE_CMPEXCH = 0x103, @@ -87,10 +88,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 -- cgit v1.1