projects
/
seabios.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
grml...
[seabios.git]
/
src
/
entryfuncs.S
diff --git
a/src/entryfuncs.S
b/src/entryfuncs.S
index 96a2fcfc77958594529f3d6d165a3bc79238ebd0..afc5e611944afb4ad9d3eb01800acbe59635b424 100644
(file)
--- a/
src/entryfuncs.S
+++ b/
src/entryfuncs.S
@@
-67,6
+67,7
@@
pushl %ecx
pushl %edx
pushl %ebx
pushl %ecx
pushl %edx
pushl %ebx
+ pushl %ebp
pushl %esi
pushl %edi
pushw %es
pushl %esi
pushl %edi
pushw %es
@@
-82,6
+83,7
@@
popw %es
popl %edi
popl %esi
popw %es
popl %edi
popl %esi
+ popl %ebp
popl %ebx
popl %edx
popl %ecx
popl %ebx
popl %edx
popl %ecx
@@
-95,6
+97,7
@@
pushl %ecx
pushl %edx
pushl %ebx
pushl %ecx
pushl %edx
pushl %ebx
+ pushl %ebp
pushl %esi
pushl %edi
pushw %es
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
movw %cx, %ds
movl %esp, %ebx // Backup %esp, then zero high bits
movzwl %sp, %esp
- movl 2
4
(%esp), %ecx // Get calling function
- movl %eax, 2
4
(%esp) // Save %eax
+ movl 2
8
(%esp), %ecx // Get calling function
+ movl %eax, 2
8
(%esp) // Save %eax
movl %esp, %eax // First arg is pointer to struct bregs
calll *%ecx
movl %ebx, %esp // Restore %esp (including high bits)
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
popw %es
popl %edi
popl %esi
+ popl %ebp
popl %ebx
popl %edx
popl %ecx
popl %ebx
popl %edx
popl %ecx
@@
-126,6
+130,7
@@
pushl %ecx
pushl %edx
pushl %ebx
pushl %ecx
pushl %edx
pushl %ebx
+ pushl %ebp
pushl %esi
pushl %edi
pushw %es
pushl %esi
pushl %edi
pushw %es
@@
-138,6
+143,7
@@
popw %es
popl %edi
popl %esi
popw %es
popl %edi
popl %esi
+ popl %ebp
popl %ebx
popl %edx
popl %ecx
popl %ebx
popl %edx
popl %ecx
@@
-150,7
+156,7
@@
xorw %ax, %ax
movw %ax, %ss
movl $ BUILD_STACK_ADDR , %esp
xorw %ax, %ax
movw %ax, %ss
movl $ BUILD_STACK_ADDR , %esp
- pushl $ \cfunc
+ movl $ \cfunc , %edx
jmp transition32
.endm
jmp transition32
.endm
@@
-159,3
+165,9
@@
.section .text.asm.\func
.global \func
.endm
.section .text.asm.\func
.global \func
.endm
+
+ // Declare an exported function
+ .macro EXPORTFUNC func
+ .section .text.asm.export.\func
+ .global \func
+ .endm