38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
|
// SPDX-License-Identifier: GPL-2.0
|
||
|
#include <linux/compiler.h>
|
||
|
|
||
|
#include "arch-tests.h"
|
||
|
#include "tests/tests.h"
|
||
|
#include "util/header.h"
|
||
|
|
||
|
int test__cpuid_match(struct test_suite *test __maybe_unused,
|
||
|
int subtest __maybe_unused)
|
||
|
{
|
||
|
/* midr with no leading zeros matches */
|
||
|
if (strcmp_cpuid_str("0x410fd0c0", "0x00000000410fd0c0"))
|
||
|
return -1;
|
||
|
/* Upper case matches */
|
||
|
if (strcmp_cpuid_str("0x410fd0c0", "0x00000000410FD0C0"))
|
||
|
return -1;
|
||
|
/* r0p0 = r0p0 matches */
|
||
|
if (strcmp_cpuid_str("0x00000000410fd480", "0x00000000410fd480"))
|
||
|
return -1;
|
||
|
/* r0p1 > r0p0 matches */
|
||
|
if (strcmp_cpuid_str("0x00000000410fd480", "0x00000000410fd481"))
|
||
|
return -1;
|
||
|
/* r1p0 > r0p0 matches*/
|
||
|
if (strcmp_cpuid_str("0x00000000410fd480", "0x00000000411fd480"))
|
||
|
return -1;
|
||
|
/* r0p0 < r0p1 doesn't match */
|
||
|
if (!strcmp_cpuid_str("0x00000000410fd481", "0x00000000410fd480"))
|
||
|
return -1;
|
||
|
/* r0p0 < r1p0 doesn't match */
|
||
|
if (!strcmp_cpuid_str("0x00000000411fd480", "0x00000000410fd480"))
|
||
|
return -1;
|
||
|
/* Different CPU doesn't match */
|
||
|
if (!strcmp_cpuid_str("0x00000000410fd4c0", "0x00000000430f0af0"))
|
||
|
return -1;
|
||
|
|
||
|
return 0;
|
||
|
}
|