microblaze: Separate GP registers from MSR handling
Separate general purpose register restoring from MSR handling. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
@@ -208,9 +208,7 @@ syscall_debug_table:
|
|||||||
mfs r11, rmsr; /* save MSR */ \
|
mfs r11, rmsr; /* save MSR */ \
|
||||||
swi r11, r1, PT_MSR;
|
swi r11, r1, PT_MSR;
|
||||||
|
|
||||||
#define RESTORE_REGS \
|
#define RESTORE_REGS_GP \
|
||||||
lwi r11, r1, PT_MSR; \
|
|
||||||
mts rmsr , r11; \
|
|
||||||
lwi r2, r1, PT_R2; /* restore SDA */ \
|
lwi r2, r1, PT_R2; /* restore SDA */ \
|
||||||
lwi r3, r1, PT_R3; \
|
lwi r3, r1, PT_R3; \
|
||||||
lwi r4, r1, PT_R4; \
|
lwi r4, r1, PT_R4; \
|
||||||
@@ -242,6 +240,11 @@ syscall_debug_table:
|
|||||||
lwi r30, r1, PT_R30; \
|
lwi r30, r1, PT_R30; \
|
||||||
lwi r31, r1, PT_R31; /* Restore cur task reg */
|
lwi r31, r1, PT_R31; /* Restore cur task reg */
|
||||||
|
|
||||||
|
#define RESTORE_REGS \
|
||||||
|
lwi r11, r1, PT_MSR; \
|
||||||
|
mts rmsr , r11; \
|
||||||
|
RESTORE_REGS_GP
|
||||||
|
|
||||||
#define SAVE_STATE \
|
#define SAVE_STATE \
|
||||||
swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)); /* save stack */ \
|
swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)); /* save stack */ \
|
||||||
/* See if already in kernel mode.*/ \
|
/* See if already in kernel mode.*/ \
|
||||||
|
Reference in New Issue
Block a user