Re: ABI change for device drivers using future AVX instruction set
From: Agner Fog
Date: Sat Jun 28 2008 - 11:09:37 EST
Andi Kleen wrote:
>If a x86 device driver doesn't use the standard kernel interfaces for
saving/restoring extended state
> (kernel_fpu_begin/end) it will die.That is because Linux uses lazy
FPU saving by default and when the
>lazy FPU exception hits kernel code it will crash because that's not
allowed. And the standard interfaces
>are going to handle all extended state supported by the kernel. Full
XSAVE support should be there for
> 2.6.27.
Thank you Andi. Finally an exact and exhaustive answer. :-)
This info is not in the "Unreliable Guide To Hacking The Linux Kernel"
or anywhere else except deeply hidden in the archives of this mailing
list. I had to actually look into the source code of kernel_fpu_begin to
verify that it saves not only the FPU but also the XMM registers and
that it disables pre-emption.
You see why I want proper documentation? If this had been documented in
some reference that was easy to find, I wouldn't have needed to take
your time with all these questions...
Note: Please Cc: me of answers.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/