cputype.h 787 B

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * linux/arch/unicore32/include/asm/cputype.h
  3. *
  4. * Code specific to PKUnity SoC and UniCore ISA
  5. *
  6. * Copyright (C) 2001-2010 GUAN Xue-tao
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. #ifndef __UNICORE_CPUTYPE_H__
  13. #define __UNICORE_CPUTYPE_H__
  14. #include <linux/stringify.h>
  15. #define CPUID_CPUID 0
  16. #define CPUID_CACHETYPE 1
  17. #define read_cpuid(reg) \
  18. ({ \
  19. unsigned int __val; \
  20. asm("movc %0, p0.c0, #" __stringify(reg) \
  21. : "=r" (__val) \
  22. : \
  23. : "cc"); \
  24. __val; \
  25. })
  26. #define uc32_cpuid read_cpuid(CPUID_CPUID)
  27. #define uc32_cachetype read_cpuid(CPUID_CACHETYPE)
  28. #endif