From 51065a1b475e7a7fdab0df5ae2e4490d87717e0e Mon Sep 17 00:00:00 2001 From: Tomas Hruby Date: Mon, 7 Dec 2009 12:01:05 +0000 Subject: [PATCH] Cooments to warn not to use certains instructions - gas2ack cannot handle all variants of some instructions. Until this issues is addressed, this patch places a big warning where appropriate. This code is not supposed to change frequently. --- kernel/arch/i386/klib386.S | 8 ++++++++ kernel/arch/i386/mpx386.S | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/kernel/arch/i386/klib386.S b/kernel/arch/i386/klib386.S index affc8e8ae..6e136cc11 100644 --- a/kernel/arch/i386/klib386.S +++ b/kernel/arch/i386/klib386.S @@ -549,12 +549,16 @@ fninit: fnstsw: xor %eax, %eax + + /* DO NOT CHANGE THE OPERAND!!! gas2ack does not handle it yet */ fnstsw %ax ret fnstcw: push %eax mov 8(%esp), %eax + + /* DO NOT CHANGE THE OPERAND!!! gas2ack does not handle it yet */ fnstcw (%eax) pop %eax ret @@ -599,6 +603,8 @@ read_cr2: read_cr4: push %ebp mov %esp, %ebp + + /* DO NOT CHANGE THE OPERAND!!! gas2ack does not handle it yet */ mov %cr4, %eax pop %ebp ret @@ -611,6 +617,8 @@ write_cr4: push %ebp mov %esp, %ebp mov 8(%ebp), %eax + + /* DO NOT CHANGE THE OPERAND!!! gas2ack does not handle it yet */ mov %eax, %cr4 jmp 0f 0: diff --git a/kernel/arch/i386/mpx386.S b/kernel/arch/i386/mpx386.S index abf7a4929..58351d0b7 100644 --- a/kernel/arch/i386/mpx386.S +++ b/kernel/arch/i386/mpx386.S @@ -542,9 +542,12 @@ copr_not_available: mov %ss:FP_SAVE_AREA_P(%ebp), %eax cmp $0, osfxsr_feature jz fp_l_no_fxsr /* FXSR is not avaible. */ + + /* DO NOT CHANGE THE OPERAND!!! gas2ack does not handle it yet */ fxrstor (%eax) jmp copr_return fp_l_no_fxsr: + /* DO NOT CHANGE THE OPERAND!!! gas2ack does not handle it yet */ frstor (%eax) copr_return: orw $MF_USED_FPU, (%ebx) /* fpu was used during last execution */ @@ -612,10 +615,13 @@ lazy_fpu: mov %ss:FP_SAVE_AREA_P(%eax), %eax cmp $0, osfxsr_feature jz fp_s_no_fxsr /* FXSR is not avaible. */ + + /* DO NOT CHANGE THE OPERAND!!! gas2ack does not handle it yet */ fxsave (%eax) fninit jmp fp_saved fp_s_no_fxsr: + /* DO NOT CHANGE THE OPERAND!!! gas2ack does not handle it yet */ fnsave (%eax) fwait /* required for compatibility with processors prior pentium */ fp_saved: -- 2.44.0