mach_apicdef.h 548 B

12345678910111213141516171819202122232425
  1. #ifndef __ASM_MACH_APICDEF_H
  2. #define __ASM_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)
  7. #define SET_APIC_ID(x) (((x)<<24))
  8. #define GET_XAPIC_ID(x) (((x) >> 24) & 0xFFu)
  9. #else
  10. #define APIC_ID_MASK (0xF<<24)
  11. static inline unsigned get_apic_id(unsigned long x)
  12. {
  13. unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
  14. if (APIC_XAPIC(ver))
  15. return (((x)>>24)&0xFF);
  16. else
  17. return (((x)>>24)&0xF);
  18. }
  19. #define GET_APIC_ID(x) get_apic_id(x)
  20. #endif
  21. #endif