mach_apicdef.h 593 B

123456789101112131415161718192021222324
  1. #ifndef ASM_X86__MACH_DEFAULT__MACH_APICDEF_H
  2. #define ASM_X86__MACH_DEFAULT__MACH_APICDEF_H
  3. #include <asm/apic.h>
  4. #ifdef CONFIG_X86_64
  5. #define APIC_ID_MASK (0xFFu<<24)
  6. #define GET_APIC_ID(x) (((x)>>24)&0xFFu)
  7. #define SET_APIC_ID(x) (((x)<<24))
  8. #else
  9. #define APIC_ID_MASK (0xF<<24)
  10. static inline unsigned get_apic_id(unsigned long x)
  11. {
  12. unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
  13. if (APIC_XAPIC(ver))
  14. return (((x)>>24)&0xFF);
  15. else
  16. return (((x)>>24)&0xF);
  17. }
  18. #define GET_APIC_ID(x) get_apic_id(x)
  19. #endif
  20. #endif /* ASM_X86__MACH_DEFAULT__MACH_APICDEF_H */