bsps/sparc: Add a symbol for each trap table entry

This makes it easier to review start.o and set break points to trap table
entries.  This change was checked by inspecting the trap table in start.o with
objdump.

Update #4458.
This commit is contained in:
Sebastian Huber
2021-06-18 19:28:28 +02:00
parent 89c1e879c0
commit 7a140e2ed5

View File

@@ -23,10 +23,13 @@
#define START_LEON3_ENABLE_SMP #define START_LEON3_ENABLE_SMP
#endif #endif
#define TRAP_SYM(_vector) SYM(trap_##_vector)
/* /*
* Unexpected trap will halt the processor by forcing it to error state * Unexpected trap will halt the processor by forcing it to error state
*/ */
#define BAD_TRAP \ #define BAD_TRAP(_vector) \
TRAP_SYM(_vector):; \
ta 0; \ ta 0; \
nop; \ nop; \
nop; \ nop; \
@@ -81,7 +84,7 @@
* Software trap. Treat as BAD_TRAP for the time being... * Software trap. Treat as BAD_TRAP for the time being...
*/ */
#define SOFT_TRAP BAD_TRAP #define SOFT_TRAP(_vector) BAD_TRAP(_vector)
.section ".text" .section ".text"
PUBLIC(start) PUBLIC(start)
@@ -105,73 +108,143 @@ start:
SYM(trap_table): SYM(trap_table):
RTRAP( 0, SYM(hard_reset) ); ! 00 reset trap RTRAP( 0, SYM(hard_reset) ); ! 00 reset trap
BAD_TRAP; ! 01 instruction access BAD_TRAP(0x01) ! 01 instruction access
! exception ! exception
BAD_TRAP; ! 02 illegal instruction BAD_TRAP(0x02) ! 02 illegal instruction
BAD_TRAP; ! 03 privileged instruction BAD_TRAP(0x03) ! 03 privileged instruction
#if defined(SPARC_USE_LAZY_FP_SWITCH) #if defined(SPARC_USE_LAZY_FP_SWITCH)
TRAP_SYM(0x04):
FPDIS_TRAP(SYM(syscall_lazy_fp_switch)); ! 04 fp disabled FPDIS_TRAP(SYM(syscall_lazy_fp_switch)); ! 04 fp disabled
#else #else
BAD_TRAP; ! 04 fp disabled BAD_TRAP(0x04) ! 04 fp disabled
#endif #endif
TRAP_SYM(0x05):
WOTRAP(5, SYM(window_overflow_trap_handler)); ! 05 window overflow WOTRAP(5, SYM(window_overflow_trap_handler)); ! 05 window overflow
TRAP_SYM(0x06):
WUTRAP(6, SYM(window_underflow_trap_handler));! 06 window underflow WUTRAP(6, SYM(window_underflow_trap_handler));! 06 window underflow
BAD_TRAP; ! 07 memory address not aligned BAD_TRAP(0x07) ! 07 memory address not aligned
BAD_TRAP; ! 08 fp exception BAD_TRAP(0x08) ! 08 fp exception
BAD_TRAP; ! 09 data access exception BAD_TRAP(0x09) ! 09 data access exception
BAD_TRAP; ! 0A tag overflow BAD_TRAP(0x0a) ! 0A tag overflow
BAD_TRAP; ! 0B undefined BAD_TRAP(0x0b) ! 0B undefined
BAD_TRAP; ! 0C undefined BAD_TRAP(0x0c) ! 0C undefined
BAD_TRAP; ! 0D undefined BAD_TRAP(0x0d) ! 0D undefined
BAD_TRAP; ! 0E undefined BAD_TRAP(0x0e) ! 0E undefined
BAD_TRAP; ! 0F undefined BAD_TRAP(0x0f) ! 0F undefined
BAD_TRAP; ! 10 undefined BAD_TRAP(0x10) ! 10 undefined
/* /*
* ERC32 defined traps * External interrupt traps
*/ */
BAD_TRAP; ! 11 masked errors BAD_TRAP(0x11) ! 11 external interrupt 1
BAD_TRAP; ! 12 external 1 BAD_TRAP(0x12) ! 12 external interrupt 2
BAD_TRAP; ! 13 external 2 BAD_TRAP(0x13) ! 13 external interrupt 3
BAD_TRAP; ! 14 UART A RX/TX BAD_TRAP(0x14) ! 14 external interrupt 4
BAD_TRAP; ! 15 UART B RX/TX BAD_TRAP(0x15) ! 15 external interrupt 5
BAD_TRAP; ! 16 correctable memory error BAD_TRAP(0x16) ! 16 external interrupt 6
BAD_TRAP; ! 17 UART error BAD_TRAP(0x17) ! 17 external interrupt 7
BAD_TRAP; ! 18 DMA access error BAD_TRAP(0x18) ! 18 external interrupt 8
BAD_TRAP; ! 19 DMA timeout BAD_TRAP(0x19) ! 19 external interrupt 9
BAD_TRAP; ! 1A external 3 BAD_TRAP(0x1a) ! 1A external interrupt 10
BAD_TRAP; ! 1B external 4 BAD_TRAP(0x1b) ! 1B external interrupt 11
BAD_TRAP; ! 1C general purpose timer BAD_TRAP(0x1c) ! 1C external interrupt 12
BAD_TRAP; ! 1D real time clock BAD_TRAP(0x1d) ! 1D external interrupt 13
BAD_TRAP; ! 1E external 5 BAD_TRAP(0x1e) ! 1E external interrupt 14
BAD_TRAP; ! 1F watchdog timeout BAD_TRAP(0x1f) ! 1F external interrupt 15
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 20 - 23 undefined BAD_TRAP(0x20) ! 20 undefined
BAD_TRAP; ! 24 cp_disabled BAD_TRAP(0x21) ! 21 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 25 - 27 undefined BAD_TRAP(0x22) ! 22 undefined
BAD_TRAP; ! 28 cp_exception BAD_TRAP(0x23) ! 23 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 29 - 2B undefined BAD_TRAP(0x24) ! 24 cp_disabled
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 2C - 2F undefined BAD_TRAP(0x25) ! 25 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 30 - 33 undefined BAD_TRAP(0x26) ! 26 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 34 - 37 undefined BAD_TRAP(0x27) ! 27 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 38 - 3B undefined BAD_TRAP(0x28) ! 28 cp_exception
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 3C - 3F undefined BAD_TRAP(0x29) ! 29 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 40 - 43 undefined BAD_TRAP(0x2a) ! 2A undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 44 - 47 undefined BAD_TRAP(0x2b) ! 2B undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 48 - 4B undefined BAD_TRAP(0x2c) ! 2C undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 4C - 4F undefined BAD_TRAP(0x2d) ! 2D undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 50 - 53 undefined BAD_TRAP(0x2e) ! 2E undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 54 - 57 undefined BAD_TRAP(0x2f) ! 2F undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 58 - 5B undefined BAD_TRAP(0x30) ! 30 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 5C - 5F undefined BAD_TRAP(0x31) ! 31 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 60 - 63 undefined BAD_TRAP(0x32) ! 32 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 64 - 67 undefined BAD_TRAP(0x33) ! 33 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 68 - 6B undefined BAD_TRAP(0x34) ! 34 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 6C - 6F undefined BAD_TRAP(0x35) ! 35 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 70 - 73 undefined BAD_TRAP(0x36) ! 36 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 74 - 77 undefined BAD_TRAP(0x37) ! 37 undefined
BAD_TRAP; BAD_TRAP; BAD_TRAP; BAD_TRAP; ! 78 - 7B undefined BAD_TRAP(0x38) ! 38 undefined
BAD_TRAP(0x39) ! 39 undefined
BAD_TRAP(0x3a) ! 3A undefined
BAD_TRAP(0x3b) ! 3B undefined
BAD_TRAP(0x3c) ! 3C undefined
BAD_TRAP(0x3d) ! 3D undefined
BAD_TRAP(0x3e) ! 3E undefined
BAD_TRAP(0x3f) ! 3F undefined
BAD_TRAP(0x40) ! 40 undefined
BAD_TRAP(0x41) ! 41 undefined
BAD_TRAP(0x42) ! 42 undefined
BAD_TRAP(0x43) ! 43 undefined
BAD_TRAP(0x44) ! 44 undefined
BAD_TRAP(0x45) ! 45 undefined
BAD_TRAP(0x46) ! 46 undefined
BAD_TRAP(0x47) ! 47 undefined
BAD_TRAP(0x48) ! 48 undefined
BAD_TRAP(0x49) ! 49 undefined
BAD_TRAP(0x4a) ! 4A undefined
BAD_TRAP(0x4b) ! 4B undefined
BAD_TRAP(0x4c) ! 4C undefined
BAD_TRAP(0x4d) ! 4D undefined
BAD_TRAP(0x4e) ! 4E undefined
BAD_TRAP(0x4f) ! 4F undefined
BAD_TRAP(0x50) ! 50 undefined
BAD_TRAP(0x51) ! 51 undefined
BAD_TRAP(0x52) ! 52 undefined
BAD_TRAP(0x53) ! 53 undefined
BAD_TRAP(0x54) ! 54 undefined
BAD_TRAP(0x55) ! 55 undefined
BAD_TRAP(0x56) ! 56 undefined
BAD_TRAP(0x57) ! 57 undefined
BAD_TRAP(0x58) ! 58 undefined
BAD_TRAP(0x59) ! 59 undefined
BAD_TRAP(0x5a) ! 5A undefined
BAD_TRAP(0x5b) ! 5B undefined
BAD_TRAP(0x5c) ! 5C undefined
BAD_TRAP(0x5d) ! 5D undefined
BAD_TRAP(0x5e) ! 5E undefined
BAD_TRAP(0x5f) ! 5F undefined
BAD_TRAP(0x60) ! 60 undefined
BAD_TRAP(0x61) ! 61 undefined
BAD_TRAP(0x62) ! 62 undefined
BAD_TRAP(0x63) ! 63 undefined
BAD_TRAP(0x64) ! 64 undefined
BAD_TRAP(0x65) ! 65 undefined
BAD_TRAP(0x66) ! 66 undefined
BAD_TRAP(0x67) ! 67 undefined
BAD_TRAP(0x68) ! 68 undefined
BAD_TRAP(0x69) ! 69 undefined
BAD_TRAP(0x6a) ! 6A undefined
BAD_TRAP(0x6b) ! 6B undefined
BAD_TRAP(0x6c) ! 6C undefined
BAD_TRAP(0x6d) ! 6D undefined
BAD_TRAP(0x6e) ! 6E undefined
BAD_TRAP(0x6f) ! 6F undefined
BAD_TRAP(0x70) ! 70 undefined
BAD_TRAP(0x71) ! 71 undefined
BAD_TRAP(0x72) ! 72 undefined
BAD_TRAP(0x73) ! 73 undefined
BAD_TRAP(0x74) ! 74 undefined
BAD_TRAP(0x75) ! 75 undefined
BAD_TRAP(0x76) ! 76 undefined
BAD_TRAP(0x77) ! 77 undefined
BAD_TRAP(0x78) ! 78 undefined
BAD_TRAP(0x79) ! 79 undefined
BAD_TRAP(0x7a) ! 7A undefined
BAD_TRAP(0x7b) ! 7B undefined
/* /*
This is a sad patch to make sure that we know where the This is a sad patch to make sure that we know where the
@@ -184,13 +257,15 @@ SYM(trap_table):
SYM(_ERC32_MEC_Timer_Control_Mirror): SYM(_ERC32_MEC_Timer_Control_Mirror):
BAD_TRAP; BAD_TRAP; ! 7C - 7D undefined BAD_TRAP(0x7C) ! 7C undefined
BAD_TRAP(0x7D) ! 7D undefined
SYM(CLOCK_SPEED): SYM(CLOCK_SPEED):
TRAP_SYM(0x7e):
.word 0x0a, 0, 0, 0 ! 7E (10 MHz default) .word 0x0a, 0, 0, 0 ! 7E (10 MHz default)
BAD_TRAP; ! 7F undefined BAD_TRAP(0x7F) ! 7F undefined
/* /*
* Software traps * Software traps
@@ -201,12 +276,17 @@ SYM(CLOCK_SPEED):
* installed before. * installed before.
*/ */
TRAP_SYM(0x80):
TRAP( 0x80, SYM(syscall) ); ! 80 halt syscall SW trap TRAP( 0x80, SYM(syscall) ); ! 80 halt syscall SW trap
SOFT_TRAP; SOFT_TRAP; ! 81 - 82 SOFT_TRAP(0x81) ! 81
SOFT_TRAP(0x82) ! 82
TRAP_SYM(0x83):
TRAP( 0x83, SYM(window_flush_trap_handler) ); ! 83 flush windows SW trap TRAP( 0x83, SYM(window_flush_trap_handler) ); ! 83 flush windows SW trap
SOFT_TRAP(0x84) ! 84
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! 84 - 87 SOFT_TRAP(0x85) ! 85
SOFT_TRAP; ! 88 SOFT_TRAP(0x86) ! 86
SOFT_TRAP(0x87) ! 87
SOFT_TRAP(0x88) ! 88
/* /*
* SW Trap 9-15 Reserved for Operating System * SW Trap 9-15 Reserved for Operating System
@@ -214,44 +294,133 @@ SYM(CLOCK_SPEED):
* SPARC_SWTRAP_IRQDIS * SPARC_SWTRAP_IRQDIS
* SPARC_SWTRAP_IRQEN * SPARC_SWTRAP_IRQEN
*/ */
TRAP_SYM(0x89):
IRQDIS_TRAP(SYM(syscall_irqdis)); ! 89 IRQ Disable syscall trap IRQDIS_TRAP(SYM(syscall_irqdis)); ! 89 IRQ Disable syscall trap
TRAP_SYM(0x8a):
IRQEN_TRAP(SYM(syscall_irqen)); ! 8A IRQ Enable syscall trap IRQEN_TRAP(SYM(syscall_irqen)); ! 8A IRQ Enable syscall trap
#if defined(SPARC_USE_SYNCHRONOUS_FP_SWITCH) #if defined(SPARC_USE_SYNCHRONOUS_FP_SWITCH)
TRAP_SYM(0x8b):
IRQDIS_TRAP(SYM(syscall_irqdis_fp)); ! 8B IRQ disable IRQDIS_TRAP(SYM(syscall_irqdis_fp)); ! 8B IRQ disable
! and set PSR[EF] syscall trap ! and set PSR[EF] syscall trap
#else #else
SOFT_TRAP; ! 8B SOFT_TRAP(0x8b) ! 8B
#endif #endif
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! 8C - 8F SOFT_TRAP(0x8c) ! 8C
SOFT_TRAP(0x8d) ! 8D
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! 90 - 93 SOFT_TRAP(0x8e) ! 8E
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! 94 - 97 SOFT_TRAP(0x8f) ! 8F
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! 98 - 9B SOFT_TRAP(0x90) ! 90
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! 9C - 9F SOFT_TRAP(0x91) ! 91
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! A0 - A3 SOFT_TRAP(0x92) ! 92
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! A4 - A7 SOFT_TRAP(0x93) ! 93
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! A8 - AB SOFT_TRAP(0x94) ! 94
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! AC - AF SOFT_TRAP(0x95) ! 95
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! B0 - B3 SOFT_TRAP(0x96) ! 96
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! B4 - B7 SOFT_TRAP(0x97) ! 97
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! B8 - BB SOFT_TRAP(0x98) ! 98
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! BC - BF SOFT_TRAP(0x99) ! 99
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! C0 - C3 SOFT_TRAP(0x9a) ! 9A
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! C4 - C7 SOFT_TRAP(0x9b) ! 9B
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! C8 - CB SOFT_TRAP(0x9c) ! 9C
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! CC - CF SOFT_TRAP(0x9d) ! 9D
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! D0 - D3 SOFT_TRAP(0x9e) ! 9E
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! D4 - D7 SOFT_TRAP(0x9f) ! 9F
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! D8 - DB SOFT_TRAP(0xa0) ! a0
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! DC - DF SOFT_TRAP(0xa1) ! a1
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! E0 - E3 SOFT_TRAP(0xa2) ! a2
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! E4 - E7 SOFT_TRAP(0xa3) ! a3
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! E8 - EB SOFT_TRAP(0xa4) ! a4
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! EC - EF SOFT_TRAP(0xa5) ! a5
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! F0 - F3 SOFT_TRAP(0xa6) ! a6
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! F4 - F7 SOFT_TRAP(0xa7) ! a7
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! F8 - FB SOFT_TRAP(0xa8) ! a8
SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; SOFT_TRAP; ! FC - FF SOFT_TRAP(0xa9) ! a9
SOFT_TRAP(0xaa) ! aA
SOFT_TRAP(0xab) ! aB
SOFT_TRAP(0xac) ! aC
SOFT_TRAP(0xad) ! aD
SOFT_TRAP(0xae) ! aE
SOFT_TRAP(0xaf) ! aF
SOFT_TRAP(0xb0) ! b0
SOFT_TRAP(0xb1) ! b1
SOFT_TRAP(0xb2) ! b2
SOFT_TRAP(0xb3) ! b3
SOFT_TRAP(0xb4) ! b4
SOFT_TRAP(0xb5) ! b5
SOFT_TRAP(0xb6) ! b6
SOFT_TRAP(0xb7) ! b7
SOFT_TRAP(0xb8) ! b8
SOFT_TRAP(0xb9) ! b9
SOFT_TRAP(0xba) ! bA
SOFT_TRAP(0xbb) ! bB
SOFT_TRAP(0xbc) ! bC
SOFT_TRAP(0xbd) ! bD
SOFT_TRAP(0xbe) ! bE
SOFT_TRAP(0xbf) ! bF
SOFT_TRAP(0xc0) ! c0
SOFT_TRAP(0xc1) ! c1
SOFT_TRAP(0xc2) ! c2
SOFT_TRAP(0xc3) ! c3
SOFT_TRAP(0xc4) ! c4
SOFT_TRAP(0xc5) ! c5
SOFT_TRAP(0xc6) ! c6
SOFT_TRAP(0xc7) ! c7
SOFT_TRAP(0xc8) ! c8
SOFT_TRAP(0xc9) ! c9
SOFT_TRAP(0xca) ! cA
SOFT_TRAP(0xcb) ! cB
SOFT_TRAP(0xcc) ! cC
SOFT_TRAP(0xcd) ! cD
SOFT_TRAP(0xce) ! cE
SOFT_TRAP(0xcf) ! cF
SOFT_TRAP(0xd0) ! d0
SOFT_TRAP(0xd1) ! d1
SOFT_TRAP(0xd2) ! d2
SOFT_TRAP(0xd3) ! d3
SOFT_TRAP(0xd4) ! d4
SOFT_TRAP(0xd5) ! d5
SOFT_TRAP(0xd6) ! d6
SOFT_TRAP(0xd7) ! d7
SOFT_TRAP(0xd8) ! d8
SOFT_TRAP(0xd9) ! d9
SOFT_TRAP(0xda) ! dA
SOFT_TRAP(0xdb) ! dB
SOFT_TRAP(0xdc) ! dC
SOFT_TRAP(0xdd) ! dD
SOFT_TRAP(0xde) ! dE
SOFT_TRAP(0xdf) ! dF
SOFT_TRAP(0xe0) ! e0
SOFT_TRAP(0xe1) ! e1
SOFT_TRAP(0xe2) ! e2
SOFT_TRAP(0xe3) ! e3
SOFT_TRAP(0xe4) ! e4
SOFT_TRAP(0xe5) ! e5
SOFT_TRAP(0xe6) ! e6
SOFT_TRAP(0xe7) ! e7
SOFT_TRAP(0xe8) ! e8
SOFT_TRAP(0xe9) ! e9
SOFT_TRAP(0xea) ! eA
SOFT_TRAP(0xeb) ! eB
SOFT_TRAP(0xec) ! eC
SOFT_TRAP(0xed) ! eD
SOFT_TRAP(0xee) ! eE
SOFT_TRAP(0xef) ! eF
SOFT_TRAP(0xf0) ! f0
SOFT_TRAP(0xf1) ! f1
SOFT_TRAP(0xf2) ! f2
SOFT_TRAP(0xf3) ! f3
SOFT_TRAP(0xf4) ! f4
SOFT_TRAP(0xf5) ! f5
SOFT_TRAP(0xf6) ! f6
SOFT_TRAP(0xf7) ! f7
SOFT_TRAP(0xf8) ! f8
SOFT_TRAP(0xf9) ! f9
SOFT_TRAP(0xfa) ! fA
SOFT_TRAP(0xfb) ! fB
SOFT_TRAP(0xfc) ! fC
SOFT_TRAP(0xfd) ! fD
SOFT_TRAP(0xfe) ! fE
SOFT_TRAP(0xff) ! fF
/* /*
* This is the hard reset code. * This is the hard reset code.