On 03/28/2013 12:15 PM, Aurelien Jarno wrote:
>
> This really looks like Linux kernel specific. I haven't been able to
> test on a real machine, but the documentation I have found suggest
that
> without and x87 FPU, the FPU instructions are simply ignored. The
common
> way to detect an FPU is therefore to initialize registers to a given
> value, run fnstsw and fnstcw instructions with the register in
arguments
> and see if they have been modified.
>
> The Linux kernel indeed set the initial value of these registers to
> 0xffff, but I am not sure all codes are doing the same.
>
> For me it looks like better to skip such instructions directly in
> translate.c. As a bonus it seems easy to do that for all FPU
> instructions.
>
It might have been (and this is from memory, so don't take it for
anything) that the register form receives 0xffff, but the memory form
is
ignored.