AESNI driver and fpu_kern KPI

Kostik Belousov kostikbel at
Sat May 15 10:04:10 UTC 2010


please find at the
combined patch, containing the fpu_kern KPI and Intel AESNI crypto(9)
driver.  I did development and some testing on the hardware generously
provided by Sentex Communications to Netperf cluster.

I already posted the kern_fpu part. This is a KPI for x86 arches to
denote the region of the kernel code as using the FPU/SSE hardware. I
wanted to use the KPI for some in-kernel SSE code to have a proof that
interface is useful and up to the task. The crypto(9) driver using
AESNI instructions appeared to be a perfect match.

Also, the patch should fix the "fpu dna in kernel mode" messages
usually appearing when using VIA padlock engine. Padlock does not use
FPU resources, but occasionally issues NPX exception if FPU is marked
as unavailable due to context switch.

I am interested in the problem reports and reviews. Maintainers of
!x86-oids are welcome to provide feedback whether they feel that
proposed KPI could be implemented on their architectures, or what
modifications they consider as needed to be able to implement

Unless major objections are raised or bugs are found, I plan to commit
the fpu_kern KPI shortly.

On the other hand, some code in the AESNI driver was derived from the
Intel whitepaper, that does not specified a license for the code
explicitely. I asked the author of the paper for clarification, he
seems to be supportive. In the worst case, aeskeys_{i386,amd64}.S
files would be rewritten from scratch. Until the issue is resolved,
AESNI part cannot be committed.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url :

More information about the freebsd-amd64 mailing list