diff options
Diffstat (limited to 'arch/hexagon/kernel/traps.c')
-rw-r--r-- | arch/hexagon/kernel/traps.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/hexagon/kernel/traps.c b/arch/hexagon/kernel/traps.c index d59ee62f772d..12164a30e8ff 100644 --- a/arch/hexagon/kernel/traps.c +++ b/arch/hexagon/kernel/traps.c | |||
@@ -65,6 +65,10 @@ static const char *ex_name(int ex) | |||
65 | return "Write protection fault"; | 65 | return "Write protection fault"; |
66 | case HVM_GE_C_XMAL: | 66 | case HVM_GE_C_XMAL: |
67 | return "Misaligned instruction"; | 67 | return "Misaligned instruction"; |
68 | case HVM_GE_C_WREG: | ||
69 | return "Multiple writes to same register in packet"; | ||
70 | case HVM_GE_C_PCAL: | ||
71 | return "Program counter values that are not properly aligned"; | ||
68 | case HVM_GE_C_RMAL: | 72 | case HVM_GE_C_RMAL: |
69 | return "Misaligned data load"; | 73 | return "Misaligned data load"; |
70 | case HVM_GE_C_WMAL: | 74 | case HVM_GE_C_WMAL: |
@@ -324,6 +328,12 @@ void do_genex(struct pt_regs *regs) | |||
324 | case HVM_GE_C_XMAL: | 328 | case HVM_GE_C_XMAL: |
325 | misaligned_instruction(regs); | 329 | misaligned_instruction(regs); |
326 | break; | 330 | break; |
331 | case HVM_GE_C_WREG: | ||
332 | illegal_instruction(regs); | ||
333 | break; | ||
334 | case HVM_GE_C_PCAL: | ||
335 | misaligned_instruction(regs); | ||
336 | break; | ||
327 | case HVM_GE_C_RMAL: | 337 | case HVM_GE_C_RMAL: |
328 | misaligned_data_load(regs); | 338 | misaligned_data_load(regs); |
329 | break; | 339 | break; |