diff options
Diffstat (limited to 'kernel/arch/unicore32/include/asm/cputype.h')
-rw-r--r-- | kernel/arch/unicore32/include/asm/cputype.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/kernel/arch/unicore32/include/asm/cputype.h b/kernel/arch/unicore32/include/asm/cputype.h new file mode 100644 index 000000000..ec1a30f98 --- /dev/null +++ b/kernel/arch/unicore32/include/asm/cputype.h @@ -0,0 +1,33 @@ +/* + * linux/arch/unicore32/include/asm/cputype.h + * + * Code specific to PKUnity SoC and UniCore ISA + * + * Copyright (C) 2001-2010 GUAN Xue-tao + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef __UNICORE_CPUTYPE_H__ +#define __UNICORE_CPUTYPE_H__ + +#include <linux/stringify.h> + +#define CPUID_CPUID 0 +#define CPUID_CACHETYPE 1 + +#define read_cpuid(reg) \ + ({ \ + unsigned int __val; \ + asm("movc %0, p0.c0, #" __stringify(reg) \ + : "=r" (__val) \ + : \ + : "cc"); \ + __val; \ + }) + +#define uc32_cpuid read_cpuid(CPUID_CPUID) +#define uc32_cachetype read_cpuid(CPUID_CACHETYPE) + +#endif |