Commit 148eb0a1 authored by Ard Biesheuvel's avatar Ard Biesheuvel Committed by Catalin Marinas

arm64: drop redundant macros from read_cpuid()

asm/cputype.h contains a bunch of #defines for CPU id registers
that essentially map to themselves. Remove the #defines and pass
the tokens directly to the inline asm() that reads the registers.
Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 81cac699
...@@ -16,23 +16,13 @@ ...@@ -16,23 +16,13 @@
#ifndef __ASM_CPUTYPE_H #ifndef __ASM_CPUTYPE_H
#define __ASM_CPUTYPE_H #define __ASM_CPUTYPE_H
#define ID_MIDR_EL1 "midr_el1"
#define ID_MPIDR_EL1 "mpidr_el1"
#define ID_CTR_EL0 "ctr_el0"
#define ID_AA64PFR0_EL1 "id_aa64pfr0_el1"
#define ID_AA64DFR0_EL1 "id_aa64dfr0_el1"
#define ID_AA64AFR0_EL1 "id_aa64afr0_el1"
#define ID_AA64ISAR0_EL1 "id_aa64isar0_el1"
#define ID_AA64MMFR0_EL1 "id_aa64mmfr0_el1"
#define INVALID_HWID ULONG_MAX #define INVALID_HWID ULONG_MAX
#define MPIDR_HWID_BITMASK 0xff00ffffff #define MPIDR_HWID_BITMASK 0xff00ffffff
#define read_cpuid(reg) ({ \ #define read_cpuid(reg) ({ \
u64 __val; \ u64 __val; \
asm("mrs %0, " reg : "=r" (__val)); \ asm("mrs %0, " #reg : "=r" (__val)); \
__val; \ __val; \
}) })
...@@ -54,12 +44,12 @@ ...@@ -54,12 +44,12 @@
*/ */
static inline u32 __attribute_const__ read_cpuid_id(void) static inline u32 __attribute_const__ read_cpuid_id(void)
{ {
return read_cpuid(ID_MIDR_EL1); return read_cpuid(MIDR_EL1);
} }
static inline u64 __attribute_const__ read_cpuid_mpidr(void) static inline u64 __attribute_const__ read_cpuid_mpidr(void)
{ {
return read_cpuid(ID_MPIDR_EL1); return read_cpuid(MPIDR_EL1);
} }
static inline unsigned int __attribute_const__ read_cpuid_implementor(void) static inline unsigned int __attribute_const__ read_cpuid_implementor(void)
...@@ -74,7 +64,7 @@ static inline unsigned int __attribute_const__ read_cpuid_part_number(void) ...@@ -74,7 +64,7 @@ static inline unsigned int __attribute_const__ read_cpuid_part_number(void)
static inline u32 __attribute_const__ read_cpuid_cachetype(void) static inline u32 __attribute_const__ read_cpuid_cachetype(void)
{ {
return read_cpuid(ID_CTR_EL0); return read_cpuid(CTR_EL0);
} }
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment