Messages in this thread | | | Date | Sat, 28 Jun 2008 17:09:19 +0200 | From | Agner Fog <> | Subject | Re: ABI change for device drivers using future AVX instruction set |
| |
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.
| |