aboutsummaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/asm-offsets.c1
-rw-r--r--asm/head.S2
2 files changed, 3 insertions, 0 deletions
diff --git a/asm/asm-offsets.c b/asm/asm-offsets.c
index 3eac592..45f4243 100644
--- a/asm/asm-offsets.c
+++ b/asm/asm-offsets.c
@@ -87,6 +87,7 @@ int main(void)
OFFSET(STACK_CTR, stack_frame, ctr);
OFFSET(STACK_LR, stack_frame, lr);
OFFSET(STACK_PC, stack_frame, pc);
+ OFFSET(STACK_MSR, stack_frame, msr);
OFFSET(STACK_CFAR, stack_frame, cfar);
OFFSET(STACK_SRR0, stack_frame, srr0);
OFFSET(STACK_SRR1, stack_frame, srr1);
diff --git a/asm/head.S b/asm/head.S
index 1189fc4..336afc9 100644
--- a/asm/head.S
+++ b/asm/head.S
@@ -217,8 +217,10 @@ _exception:
std %r6,STACK_HSRR1(%r1)
mfspr %r3,SPR_DSISR
mfspr %r4,SPR_DAR
+ mfmsr %r5
stw %r3,STACK_DSISR(%r1)
std %r4,STACK_DAR(%r1)
+ std %r5,STACK_MSR(%r1)
mr %r3,%r1
LOAD_IMM64(%r4, SKIBOOT_BASE)
LOAD_IMM32(%r5, exception_entry_foo - __head)