Hi all,

QEMU doesn't implement the SPARC crypto instructions, so the kernel's
crypto tests cannot execute optimized SPARC code.

See this issue[1] raised by Eric Biggers.

I became involved in this after submitting a patch[2] for native SPARC
XTS support. Since the kernel devs currently have no way of testing
this, outside of real hardware, the motivation is to make this possible
with the help of QEMU.

I've done some reading into the QEMU code, and might be able to
contribute an implementation.

Before investing time in it, I would appreciate some feedback from the
maintainers.

I'm thinking about adding a "crypto" CPU feature to sun4u which enables
the missing instructions.

Why sun4u and not sun4v? Because it would allow a direct -kernel image
boot without the OpenSPARC firmware, which QEMU doesn't ship.

This would mean adding SPARC T4(+) instructions on sun4u CPU models.
This combo does not really exist, so I want to know if that is
acceptable, or if you would rather have this done differently.

Since the kernel currently learns about the instructions from the sun4v
machine description's hwcap-list, a small kernel patch would be
required to read a hwcap-list property from the OF CPU node instead.
OpenBIOS could set that property for a CPU that has the feature.

If this is not desirable, it can also be implemented for sun4v with
OpenSPARC firmware. Kernel developers would need that firmware and a
boot disk image, since niagara cannot boot with -kernel.

I have a T4-1 and a T7-1 (M7) to check the instructions against.

[1] https://github.com/sparclinux/issues/issues/77
[2] https://lore.kernel.org/all/[email protected]/

Looking forward to hearing your thoughts,
Stian Halseth

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to