*参照元 [#reabb3ba] #backlinks *説明 [#ne6f1346] -パス: [[linux-2.6.33/arch/x86/kernel/entry_32.S]] -FIXME: これは何? --説明 **引数 [#z24d585c] -なし **返り値 [#u11c9697] -なし **参考 [#p3a4076d] *実装 [#u0f0350a] .macro SAVE_ALL cld PUSH_GS - --[[linux-2.6.33/PUSH_GS()]] pushl %fs CFI_ADJUST_CFA_OFFSET 4 - -FS は 32ビット(4バイト)なので、CFA に 4 加える。 --[[linux-2.6.33/CFI_ADJUST_CFA_OFFSET()]] /*CFI_REL_OFFSET fs, 0;*/ - --[[linux-2.6.33/CFI_REL_OFFSET()]] pushl %es CFI_ADJUST_CFA_OFFSET 4 /*CFI_REL_OFFSET es, 0;*/ pushl %ds CFI_ADJUST_CFA_OFFSET 4 /*CFI_REL_OFFSET ds, 0;*/ pushl %eax CFI_ADJUST_CFA_OFFSET 4 CFI_REL_OFFSET eax, 0 - --[[linux-2.6.33/CFI_REL_OFFSET()]] pushl %ebp CFI_ADJUST_CFA_OFFSET 4 CFI_REL_OFFSET ebp, 0 pushl %edi CFI_ADJUST_CFA_OFFSET 4 CFI_REL_OFFSET edi, 0 pushl %esi CFI_ADJUST_CFA_OFFSET 4 CFI_REL_OFFSET esi, 0 pushl %edx CFI_ADJUST_CFA_OFFSET 4 CFI_REL_OFFSET edx, 0 pushl %ecx CFI_ADJUST_CFA_OFFSET 4 CFI_REL_OFFSET ecx, 0 pushl %ebx CFI_ADJUST_CFA_OFFSET 4 CFI_REL_OFFSET ebx, 0 movl $(__USER_DS), %edx - --[[linux-2.6.33/__USER_DS]] movl %edx, %ds movl %edx, %es movl $(__KERNEL_PERCPU), %edx - --[[linux-2.6.33/__KERNEL_PERCPU]] movl %edx, %fs SET_KERNEL_GS %edx - --[[linux-2.6.33/SET_KERNEL_GS()]] .endm *コメント [#v6fc5165]