*参照元 [#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]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS