summaryrefslogtreecommitdiffstats
path: root/src/bootloader/bl_start.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/bootloader/bl_start.S')
-rw-r--r--src/bootloader/bl_start.S18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/bootloader/bl_start.S b/src/bootloader/bl_start.S
index 0105380b8..210089c34 100644
--- a/src/bootloader/bl_start.S
+++ b/src/bootloader/bl_start.S
@@ -267,28 +267,22 @@ _main_loop:
#define STD_INTERRUPT(name, address) \
intvect_##name: \
or 2,2,2; /* Ensure thread priority is high. */ \
- mtsprg1 r1; /* Save GPR1 */ \
- li r1, address; /* Save exception address. */ \
- mtsprg2 r1; /* Move exception address to SPRG2 */ \
- mfsprg1 r1; /* Restore GPR1 */ \
+ li r17, address; /* Save exception address. */ \
+ mtsprg2 r17; /* Move exception address to SPRG2 */ \
b kernel_std_exception; /* Process interrupt. */
#define STD_INTERRUPT_WITH(name, address, with) \
intvect_##name: \
or 2,2,2; /* Ensure thread priority is high. */ \
- mtsprg1 r1; /* Save GPR1 */ \
- li r1, address; /* Save exception address. */ \
- mtsprg2 r1; /* Move exception address to SPRG2 */ \
- mfsprg1 r1; /* Restore GPR1 */ \
+ li r17, address; /* Save exception address. */ \
+ mtsprg2 r17; /* Move exception address to SPRG2 */ \
b kernel_std_exception_w_##with; /* Process interrupt. */
#define HYPE_INTERRUPT(name, address) \
intvect_##name: \
or 2,2,2; /* Ensure thread priority is high. */ \
- mtsprg1 r1; /* Save GPR1 */ \
- li r1, address; /* Save exception address. */ \
- mtsprg2 r1; /* Move exception address to SPRG2 */ \
- mfsprg1 r1; /* Restore GPR1 */ \
+ li r17, address; /* Save exception address. */ \
+ mtsprg2 r17; /* Move exception address to SPRG2 */ \
b kernel_hype_exception; /* Process interrupt. */
STD_INTERRUPT(system_reset, HBBL_system_reset)
OpenPOWER on IntegriCloud