aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSandrine Bailleux <sandrine.bailleux@arm.com>2013-12-17 13:47:14 +0000
committerDan Handley <dan.handley@arm.com>2013-12-20 15:52:16 +0000
commitbdb774df31a2a25604aa1331690c9b63353809f5 (patch)
tree9c48aa93b9e60103c5ef44db7e5507af92b3a45a /lib
parenta960f28267f061ba52ef4c8778753095250b100c (diff)
Fix SPSR register size in gp_regs structure
SPSR is a 32-bit register and so its size should be reflected in the gp_regs structure. This patch fixes the type of gp_regs.spsr to use a 32-bit variable. It also makes the size of the other register fields more explicit. Change-Id: I27e0367df1a91cc501d5217c1b3856d4097c60ba
Diffstat (limited to 'lib')
-rw-r--r--lib/arch/aarch64/misc_helpers.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/arch/aarch64/misc_helpers.S b/lib/arch/aarch64/misc_helpers.S
index c951d0e..3001a45 100644
--- a/lib/arch/aarch64/misc_helpers.S
+++ b/lib/arch/aarch64/misc_helpers.S
@@ -103,12 +103,12 @@ save_regs:; .type save_regs, %function
mrs x0, sp_el0
stp x28, x0, [sp, #GPREGS_X28_OFF]
mrs x0, spsr_el3
- str x0, [sp, #GPREGS_SPSR_OFF]
+ str w0, [sp, #GPREGS_SPSR_OFF]
ret
restore_regs:; .type restore_regs, %function
- ldr x9, [sp, #GPREGS_SPSR_OFF]
+ ldr w9, [sp, #GPREGS_SPSR_OFF]
msr spsr_el3, x9
ldp x28, x9, [sp, #GPREGS_X28_OFF]
msr sp_el0, x9