From 7da210c73acec4c6196a3915dba084cd8f9f23f5 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Sat, 16 May 2009 23:57:08 -0400 Subject: Support %ebp register in 'struct bregs'. Save/restore %ebp on irq entry. Support saving and restoring %ebp on call16. Enable display of %ebp in register dumps. --- src/entryfuncs.S | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/entryfuncs.S') diff --git a/src/entryfuncs.S b/src/entryfuncs.S index 96a2fcf..65218e3 100644 --- a/src/entryfuncs.S +++ b/src/entryfuncs.S @@ -67,6 +67,7 @@ pushl %ecx pushl %edx pushl %ebx + pushl %ebp pushl %esi pushl %edi pushw %es @@ -82,6 +83,7 @@ popw %es popl %edi popl %esi + popl %ebp popl %ebx popl %edx popl %ecx @@ -95,6 +97,7 @@ pushl %ecx pushl %edx pushl %ebx + pushl %ebp pushl %esi pushl %edi pushw %es @@ -103,8 +106,8 @@ movw %cx, %ds movl %esp, %ebx // Backup %esp, then zero high bits movzwl %sp, %esp - movl 24(%esp), %ecx // Get calling function - movl %eax, 24(%esp) // Save %eax + movl 28(%esp), %ecx // Get calling function + movl %eax, 28(%esp) // Save %eax movl %esp, %eax // First arg is pointer to struct bregs calll *%ecx movl %ebx, %esp // Restore %esp (including high bits) @@ -112,6 +115,7 @@ popw %es popl %edi popl %esi + popl %ebp popl %ebx popl %edx popl %ecx @@ -126,6 +130,7 @@ pushl %ecx pushl %edx pushl %ebx + pushl %ebp pushl %esi pushl %edi pushw %es @@ -138,6 +143,7 @@ popw %es popl %edi popl %esi + popl %ebp popl %ebx popl %edx popl %ecx -- cgit v1.1