diff options
| author | Robin Getz <robin.getz@analog.com> | 2009-06-17 11:18:18 -0400 |
|---|---|---|
| committer | Mike Frysinger <vapier@gentoo.org> | 2009-07-16 01:39:39 -0400 |
| commit | 1997660cea28202ece0956cd44f332ac57700138 (patch) | |
| tree | fc1e567bf3119d02cd8e85ea2b1ff619eb2b2af5 /arch | |
| parent | 35b5c55fee08e6e4001ba98060a2d0b82f70b5f4 (diff) | |
Blackfin: cleanup code a bit with comments and defines
Improve the assembly with a few explanatory comments and use symbolic
defines rather than numeric values for bit positions.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/blackfin/mach-common/entry.S | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S index 5a4e7c7fd92c..fb1795d5be2a 100644 --- a/arch/blackfin/mach-common/entry.S +++ b/arch/blackfin/mach-common/entry.S | |||
| @@ -218,7 +218,7 @@ ENTRY(_ex_single_step) | |||
| 218 | /* Single stepping only a single instruction, so clear the trace | 218 | /* Single stepping only a single instruction, so clear the trace |
| 219 | * bit here. */ | 219 | * bit here. */ |
| 220 | r7 = syscfg; | 220 | r7 = syscfg; |
| 221 | bitclr (r7, 0); | 221 | bitclr (r7, SYSCFG_SSSTEP_P); |
| 222 | syscfg = R7; | 222 | syscfg = R7; |
| 223 | jump _ex_trap_c; | 223 | jump _ex_trap_c; |
| 224 | 224 | ||
| @@ -251,7 +251,7 @@ ENTRY(_ex_single_step) | |||
| 251 | if !cc jump _bfin_return_from_exception; | 251 | if !cc jump _bfin_return_from_exception; |
| 252 | 252 | ||
| 253 | r7 = syscfg; | 253 | r7 = syscfg; |
| 254 | bitclr (r7, 0); | 254 | bitclr (r7, SYSCFG_SSSTEP_P); /* Turn off single step */ |
| 255 | syscfg = R7; | 255 | syscfg = R7; |
| 256 | 256 | ||
| 257 | /* Fall through to _bfin_return_from_exception. */ | 257 | /* Fall through to _bfin_return_from_exception. */ |
| @@ -342,9 +342,11 @@ ENTRY(_ex_trap_c) | |||
| 342 | r6 = retx; | 342 | r6 = retx; |
| 343 | [p5 + PDA_RETX] = r6; | 343 | [p5 + PDA_RETX] = r6; |
| 344 | #endif | 344 | #endif |
| 345 | /* Save the state of single stepping */ | ||
| 345 | r6 = SYSCFG; | 346 | r6 = SYSCFG; |
| 346 | [p5 + PDA_SYSCFG] = r6; | 347 | [p5 + PDA_SYSCFG] = r6; |
| 347 | BITCLR(r6, 0); | 348 | /* Clear it while we handle the exception in IRQ5 mode */ |
| 349 | BITCLR(r6, SYSCFG_SSSTEP_P); | ||
| 348 | SYSCFG = r6; | 350 | SYSCFG = r6; |
| 349 | 351 | ||
| 350 | /* Disable all interrupts, but make sure level 5 is enabled so | 352 | /* Disable all interrupts, but make sure level 5 is enabled so |
| @@ -367,7 +369,7 @@ ENDPROC(_ex_trap_c) | |||
| 367 | * exception. This is a unrecoverable event, so crash. | 369 | * exception. This is a unrecoverable event, so crash. |
| 368 | * Note: this cannot be ENTRY() as we jump here with "if cc jump" ... | 370 | * Note: this cannot be ENTRY() as we jump here with "if cc jump" ... |
| 369 | */ | 371 | */ |
| 370 | _double_fault: | 372 | ENTRY(_double_fault) |
| 371 | /* Turn caches & protection off, to ensure we don't get any more | 373 | /* Turn caches & protection off, to ensure we don't get any more |
| 372 | * double exceptions | 374 | * double exceptions |
| 373 | */ | 375 | */ |
| @@ -872,7 +874,7 @@ ENTRY(_ret_from_exception) | |||
| 872 | raise 15; /* raise evt15 to do signal or reschedule */ | 874 | raise 15; /* raise evt15 to do signal or reschedule */ |
| 873 | 4: | 875 | 4: |
| 874 | r0 = syscfg; | 876 | r0 = syscfg; |
| 875 | bitclr(r0, 0); | 877 | bitclr(r0, SYSCFG_SSSTEP_P); /* Turn off single step */ |
| 876 | syscfg = r0; | 878 | syscfg = r0; |
| 877 | 5: | 879 | 5: |
| 878 | rts; | 880 | rts; |
