selftests/arm64: add HWCAP2_LRCPC3 test
Add a test for the newly added HWCAP2_LRCPC3. Signed-off-by: Joey Gouly <joey.gouly@arm.com> Cc: Will Deacon <will@kernel.org> Link: https://lore.kernel.org/r/20230919162757.2707023-3-joey.gouly@arm.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
committed by
Catalin Marinas
parent
338a835f40
commit
80652cc0c0
@@ -295,6 +295,19 @@ static void uscat_sigbus(void)
|
||||
asm volatile(".inst 0xb820003f" : : : );
|
||||
}
|
||||
|
||||
static void lrcpc3_sigill(void)
|
||||
{
|
||||
int data[2] = { 1, 2 };
|
||||
|
||||
register int *src asm ("x0") = data;
|
||||
register int data0 asm ("w2") = 0;
|
||||
register int data1 asm ("w3") = 0;
|
||||
|
||||
/* LDIAPP w2, w3, [x0] */
|
||||
asm volatile(".inst 0x99431802"
|
||||
: "=r" (data0), "=r" (data1) : "r" (src) :);
|
||||
}
|
||||
|
||||
static const struct hwcap_data {
|
||||
const char *name;
|
||||
unsigned long at_hwcap;
|
||||
@@ -354,6 +367,13 @@ static const struct hwcap_data {
|
||||
.cpuinfo = "ilrcpc",
|
||||
.sigill_fn = ilrcpc_sigill,
|
||||
},
|
||||
{
|
||||
.name = "LRCPC3",
|
||||
.at_hwcap = AT_HWCAP2,
|
||||
.hwcap_bit = HWCAP2_LRCPC3,
|
||||
.cpuinfo = "lrcpc3",
|
||||
.sigill_fn = lrcpc3_sigill,
|
||||
},
|
||||
{
|
||||
.name = "LSE",
|
||||
.at_hwcap = AT_HWCAP,
|
||||
|
||||
Reference in New Issue
Block a user