mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-08 06:44:35 +08:00
kselftest/arm64: Add hwcap test for RNG
Validate the RNG hwcap and make sure we don't generate a SIGILL reading RNDR when it is reported. Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20220913141101.151400-4-broonie@kernel.org Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
859a9d51a2
commit
ef939f3051
@ -33,6 +33,11 @@
|
||||
*/
|
||||
typedef void (*sigill_fn)(void);
|
||||
|
||||
static void rng_sigill(void)
|
||||
{
|
||||
asm volatile("mrs x0, S3_3_C2_C4_0" : : : "x0");
|
||||
}
|
||||
|
||||
static void sme_sigill(void)
|
||||
{
|
||||
/* RDSVL x0, #0 */
|
||||
@ -113,6 +118,13 @@ static const struct hwcap_data {
|
||||
sigill_fn sigill_fn;
|
||||
bool sigill_reliable;
|
||||
} hwcaps[] = {
|
||||
{
|
||||
.name = "RNG",
|
||||
.at_hwcap = AT_HWCAP2,
|
||||
.hwcap_bit = HWCAP2_RNG,
|
||||
.cpuinfo = "rng",
|
||||
.sigill_fn = rng_sigill,
|
||||
},
|
||||
{
|
||||
.name = "SME",
|
||||
.at_hwcap = AT_HWCAP2,
|
||||
|
Loading…
Reference in New Issue
Block a user