x86 core_id() uses the LAPIC again
[akaros.git] / kern / arch / i386 / arch.h
index 1182bc4..cfa69f7 100644 (file)
@@ -134,17 +134,10 @@ irq_is_enabled(void)
        return read_eflags() & FL_IF;
 }
 
-/*
- * Returns the core id.  Unfortunately, this is a serializing instruction, and
- * may not be the best way either.  This is ripped from lapic_get_default_id().
- */
 static __inline uint32_t
 core_id(void)
 {
-       uint32_t ebx;
-       cpuid(1, 0, &ebx, 0, 0);
-       // p6 family only uses 4 bits here, and 0xf is reserved for the IOAPIC
-       return (ebx & 0xFF000000) >> 24;
+       return lapic_get_id();
 }
 
 static __inline void