Can't find macro SAVE_ALL

王哲 wangzhe5004 at gmail.com
Fri May 18 06:19:15 EDT 2012


2012/5/18 HWSW Development <hwsw.development at googlemail.com>

> The macro is defined in arch/x86/include/asm/calling.h
>
> Regards,
> Rooney
>
>
> 2012/5/18 Bill Traynor <wmat at alphatroop.com>
>
>>
>>
>> On Thu, May 17, 2012 at 10:37 PM, 王哲 <wangzhe5004 at gmail.com> wrote:
>>
>>>
>>>
>>> 2012/5/17 Javier Martinez Canillas <martinez.javier at gmail.com>
>>>
>>>> On Thu, May 17, 2012 at 3:59 PM, 王哲 <wangzhe5004 at 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 at 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#L32>
>>>    - arch/cris/include/arch-v10/arch/irq.h, line 85<http://lxr.free-electrons.com/source/arch/cris/include/arch-v10/arch/irq.h#L85>
>>>    - 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 at kernelnewbies.org
>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>>
>>>
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>>      Thanks for all.
>
         I have sloved the problem. this macro is written with assembly
,not c .
        No wonder that i don't search it out in the lxr.linux.no

  arch/x86/kernel/entry_32.s

 192 .macro SAVE_ALL
 193         cld
 194         PUSH_GS
 195         pushl_cfi %fs
 196         /*CFI_REL_OFFSET fs, 0;*/
 197         pushl_cfi %es
 198         /*CFI_REL_OFFSET es, 0;*/
 199         pushl_cfi %ds
 200         /*CFI_REL_OFFSET ds, 0;*/
 201         pushl_cfi %eax
 202         CFI_REL_OFFSET eax, 0
 203         pushl_cfi %ebp
 204         CFI_REL_OFFSET ebp, 0
 205         pushl_cfi %edi
 206         CFI_REL_OFFSET edi, 0
 207         pushl_cfi %esi
 208         CFI_REL_OFFSET esi, 0
 209         pushl_cfi %edx
 210         CFI_REL_OFFSET edx, 0
 211         pushl_cfi %ecx
 212         CFI_REL_OFFSET ecx, 0
 213         pushl_cfi %ebx
 214         CFI_REL_OFFSET ebx, 0
 215         movl $(__USER_DS), %edx
 216         movl %edx, %ds
 217         movl %edx, %es
 218         movl $(__KERNEL_PERCPU), %edx
 219         movl %edx, %fs
 220         SET_KERNEL_GS %edx
 221 .endm




-- 
----------------------------------------------------------------------------------------------
WangZhe  Xi'an Shanxi CHINA
qq                             785924174
blog                           blog.163.com/zhe_wang_2009
----------------------------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120518/37aa5a41/attachment-0001.html 


More information about the Kernelnewbies mailing list