summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--i386/i386/i386asm.sym1
-rw-r--r--i386/i386/locore.S2
2 files changed, 2 insertions, 1 deletions
diff --git a/i386/i386/i386asm.sym b/i386/i386/i386asm.sym
index 39dbcaf..9449370 100644
--- a/i386/i386/i386asm.sym
+++ b/i386/i386/i386asm.sym
@@ -78,6 +78,7 @@ offset i386_saved_state r err
offset i386_saved_state r efl R_EFLAGS
offset i386_saved_state r eip
offset i386_saved_state r cr2
+offset i386_saved_state r edi
offset i386_interrupt_state i eip
offset i386_interrupt_state i cs
diff --git a/i386/i386/locore.S b/i386/i386/locore.S
index 440435b..0e1462c 100644
--- a/i386/i386/locore.S
+++ b/i386/i386/locore.S
@@ -437,7 +437,7 @@ ENTRY(t_page_fault)
#else /* MACH_XEN */
movl %cr2,%eax /* get the faulting address */
#endif /* MACH_XEN */
- movl %eax,12(%esp) /* save in esp save slot */
+ movl %eax,R_CR2-R_EDI(%esp) /* save in esp save slot */
jmp trap_push_segs /* continue fault */
/*