git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: kernel stack tracing
[lunaix-os.git]
/
lunaix-os
/
arch
/
i386
/
exceptions
/
interrupt.S
diff --git
a/lunaix-os/arch/i386/exceptions/interrupt.S
b/lunaix-os/arch/i386/exceptions/interrupt.S
index e5a125fde8edf54018d887bf59f696cdc666305a..c61e6a60a65f75925edf9f2eee5874b5246a1d4f 100644
(file)
--- a/
lunaix-os/arch/i386/exceptions/interrupt.S
+++ b/
lunaix-os/arch/i386/exceptions/interrupt.S
@@
-33,6
+33,7
@@
*/
.section .text
*/
.section .text
+ .type interrupt_wrapper, @function
.global interrupt_wrapper
interrupt_wrapper:
cld
.global interrupt_wrapper
interrupt_wrapper:
cld
@@
-90,6
+91,7
@@
subl $16, %esp
movl %eax, (%esp)
subl $16, %esp
movl %eax, (%esp)
+ xorl %ebp, %ebp # marks the boundary of stack walking
call intr_handler
movl (%esp), %eax
call intr_handler
movl (%esp), %eax
@@
-158,6
+160,7
@@
iret
iret
+ .type switch_to, @function
.global switch_to
switch_to:
# 约定
.global switch_to
switch_to:
# 约定
@@
-201,6
+204,7
@@
movl proc_intr_ctx(%ebx), %eax
jmp soft_iret
movl proc_intr_ctx(%ebx), %eax
jmp soft_iret
+ .type handle_signal, @function
.global handle_signal
handle_signal:
# 注意1:任何对proc_sig的布局改动,都须及时的保证这里的一致性!
.global handle_signal
handle_signal:
# 注意1:任何对proc_sig的布局改动,都须及时的保证这里的一致性!