Hi all: i am a kernelnewbies.during studying the linux system call,and analysis the following code (linux kernel 2.6.38) 529 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L529> ENTRY(system_call) 530 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L530>RING0_INT_FRAME # can't unwind into user space anyway 531 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L531> pushl %eax # save orig_eax 532 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L532>CFI_ADJUST_CFA_OFFSET 4 533 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L533> SAVE_ALL 534 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L534>GET_THREAD_INFO(%ebp) 535 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L535> # system call tracing in operation / emulation 536 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L536> testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp) 537 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L537> jnz syscall_trace_entry 538 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L538> cmpl $(nr_syscalls), %eax 539 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L539> jae syscall_badsys 540 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L540> syscall_call: 541 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L541> call *sys_call_table(,%eax,4) 542 <http://lxr.linux.no/linux+*/arch/x86/kernel/entry_32.S#L542> movl %eax,PT_EAX(%esp) # store the return value Question: i want to see what the SAVE_ALL have done.and can't find the Macro SAVE_ALL if anyone knows please help Thanks
On Thu, May 17, 2012 at 3:59 PM, 王哲 <wangzhe5004@gmail.com> wrote:
Hi all: i am a kernelnewbies.during studying the linux system call,and analysis the following code (linux kernel 2.6.38)
529ENTRY(system_call) 530 RING0_INT_FRAME # can't unwind into user space anyway 531 pushl %eax # save orig_eax 532 CFI_ADJUST_CFA_OFFSET 4 533 SAVE_ALL 534 GET_THREAD_INFO(%ebp) 535 # system call tracing in operation / emulation 536 testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp) 537 jnz syscall_trace_entry 538 cmpl $(nr_syscalls), %eax 539 jae syscall_badsys 540syscall_call: 541 call *sys_call_table(,%eax,4) 542 movl %eax,PT_EAX(%esp) # store the return value
Question: i want to see what the SAVE_ALL have done.and can't find the Macro SAVE_ALL if anyone knows please help
Thanks
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
http://lxr.free-electrons.com/ident?i=SAVE_ALL Best regards, -- Javier Martínez Canillas (+34) 682 39 81 69 Barcelona, Spain
2012/5/17 Javier Martinez Canillas <martinez.javier@gmail.com>
On Thu, May 17, 2012 at 3:59 PM, 王哲 <wangzhe5004@gmail.com> wrote:
Hi all: i am a kernelnewbies.during studying the linux system call,and analysis the following code (linux kernel 2.6.38)
529ENTRY(system_call) 530 RING0_INT_FRAME # can't unwind into user space anyway 531 pushl %eax # save orig_eax 532 CFI_ADJUST_CFA_OFFSET 4 533 SAVE_ALL 534 GET_THREAD_INFO(%ebp) 535 # system call tracing in operation / emulation 536 testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp) 537 jnz syscall_trace_entry 538 cmpl $(nr_syscalls), %eax 539 jae syscall_badsys 540syscall_call: 541 call *sys_call_table(,%eax,4) 542 movl %eax,PT_EAX(%esp) # store the return value
Question: i want to see what the SAVE_ALL have done.and can't find the Macro SAVE_ALL if anyone knows please help
Thanks
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
http://lxr.free-electrons.com/ident?i=SAVE_ALL
Thank you Javier Martinez Canillas for reply! but the rearch result : Defined as a preprocessor macro in:
- arch/cris/include/arch-v32/arch/irq.h, line 32<http://lxr.free-electrons.com/source/arch/cris/include/arch-v32/arch/irq.h#L...> - arch/cris/include/arch-v10/arch/irq.h, line 85<http://lxr.free-electrons.com/source/arch/cris/include/arch-v10/arch/irq.h#L...> - arch/sparc/include/asm/asmmacro.h, line 27<http://lxr.free-electrons.com/source/arch/sparc/include/asm/asmmacro.h#L27> is not in x86 Architecture.
Best regards,
-- Javier Martínez Canillas (+34) 682 39 81 69 Barcelona, Spain
On Thu, May 17, 2012 at 10:37 PM, 王哲 <wangzhe5004@gmail.com> wrote:
2012/5/17 Javier Martinez Canillas <martinez.javier@gmail.com>
On Thu, May 17, 2012 at 3:59 PM, 王哲 <wangzhe5004@gmail.com> wrote:
Hi all: i am a kernelnewbies.during studying the linux system call,and analysis the following code (linux kernel 2.6.38)
529ENTRY(system_call) 530 RING0_INT_FRAME # can't unwind into user space anyway 531 pushl %eax # save orig_eax 532 CFI_ADJUST_CFA_OFFSET 4 533 SAVE_ALL 534 GET_THREAD_INFO(%ebp) 535 # system call tracing in operation / emulation 536 testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp) 537 jnz syscall_trace_entry 538 cmpl $(nr_syscalls), %eax 539 jae syscall_badsys 540syscall_call: 541 call *sys_call_table(,%eax,4) 542 movl %eax,PT_EAX(%esp) # store the return value
Question: i want to see what the SAVE_ALL have done.and can't find the Macro SAVE_ALL if anyone knows please help
Thanks
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
http://lxr.free-electrons.com/ident?i=SAVE_ALL
Thank you Javier Martinez Canillas for reply! but the rearch result : Defined as a preprocessor macro in:
- arch/cris/include/arch-v32/arch/irq.h, line 32<http://lxr.free-electrons.com/source/arch/cris/include/arch-v32/arch/irq.h#L...> - arch/cris/include/arch-v10/arch/irq.h, line 85<http://lxr.free-electrons.com/source/arch/cris/include/arch-v10/arch/irq.h#L...> - arch/sparc/include/asm/asmmacro.h, line 27<http://lxr.free-electrons.com/source/arch/sparc/include/asm/asmmacro.h#L27>
is not in x86 Architecture.
Couldn't you find it by doing something like this? In your kernel source tree: $cd arch/x86 $grep -ircl ".macro SAVE_ALL" *
Best regards,
-- Javier Martínez Canillas (+34) 682 39 81 69 Barcelona, Spain
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
participants (3)
-
Bill Traynor -
Javier Martinez Canillas -
王哲