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.
This commit is contained in:
parent
45a52f7acc
commit
51065a1b47
2 changed files with 14 additions and 0 deletions
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue