Il kernel Linux non salva FPU o registri vettoriali per impostazione predefinita per migliorare la velocità degli switch di contesto. Tuttavia, puoi farne uso in determinate circostanze.
La sezione 6.3 di http://agner.org/optimize/calling_conventions.pdf descrive molto bene l'uso dei registri vettoriali in modalità kernel, sia in Windows che in Linux. Ecco una citazione importante:
Un driver di periferica che deve utilizzare registri vettoriali deve prima salvare questi registri chiamando la funzione kernel_fpu_begin() e ripristinare registri chiamando kernel_fpu_end() prima di ritornare o dormire.
C'è di più, come il fatto che non è possibile utilizzarli affatto in contesto di interrupt, quindi suggerisco di leggere l'intera sezione.
Perché il voto ravvicinato mi chiedo? Questa sembra una domanda valida e utile. –
Possibile duplicato: http://stackoverflow.com/q/6227603/1401351. Soprattutto vedere la risorsa collegata in una risposta a questa domanda: Sezione 6.3 di http://www.agner.org/optimize/calling_conventions.pdf – Peter
Ragazzi, ho bisogno di sapere che è possibile utilizzare le istruzioni AVX dal LKM. Nessuno di quei collegamenti mi dice questo. E non cerco nemmeno le convenzioni di chiamata. –