diff options
Diffstat (limited to 'arch/sparc/include/asm/leon.h')
-rw-r--r-- | arch/sparc/include/asm/leon.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/leon.h b/arch/sparc/include/asm/leon.h index 3ea5964c43b4..8580d1764f90 100644 --- a/arch/sparc/include/asm/leon.h +++ b/arch/sparc/include/asm/leon.h | |||
@@ -224,6 +224,18 @@ static inline void sparc_leon3_disable_cache(void) | |||
224 | "sta %%l2, [%%g0] 2\n\t" : : : "l1", "l2"); | 224 | "sta %%l2, [%%g0] 2\n\t" : : : "l1", "l2"); |
225 | }; | 225 | }; |
226 | 226 | ||
227 | static inline unsigned long sparc_leon3_asr17(void) | ||
228 | { | ||
229 | u32 asr17; | ||
230 | __asm__ __volatile__ ("rd %%asr17, %0\n\t" : "=r"(asr17)); | ||
231 | return asr17; | ||
232 | }; | ||
233 | |||
234 | static inline int sparc_leon3_cpuid(void) | ||
235 | { | ||
236 | return sparc_leon3_asr17() >> 28; | ||
237 | } | ||
238 | |||
227 | #endif /*!__ASSEMBLY__*/ | 239 | #endif /*!__ASSEMBLY__*/ |
228 | 240 | ||
229 | #ifdef CONFIG_SMP | 241 | #ifdef CONFIG_SMP |