struct task *cpu_task;
} __attribute__((packed));
-#if defined(CONFIG_SMP) && CONFIG_SMP_CPUS > 1
-
-int cpu_get_id(void);
-#define CPU_ID cpu_get_id()
-
-#else
-
-#define CPU_ID 0
-
-#endif /* CONFIG_SMP */
-
-
void _segment_descriptor_set(segment_descriptor_t*, u32_t, u32_t, u32_t, u32_t);
#endif /* __CPU_H */
u32_t reg_refs;
};
+#if FEATURE(SMP) && FEATURE(APIC)
+#define CPU_ID cpu_get_id()
+#else /* !(FEATURE(SMP) && FEATURE(APIC)) */
+#define CPU_ID 0
+#endif /* !(FEATURE(SMP) && FEATURE(APIC)) */
+
int cpu_get_id(void);
u64_t cpu_get_capabilities(void);
u64_t cpu_timestamp(void);
* The number of pages that will be mapped depends on the page directory. If
* PAE-mode paging is employed, pg_dir_map() will attempt to map pages of the
* largest-possible size, meaning that it will attempt to map 4M pages if the
- * alignment of the addresses and the page directory's page size permitts.
+ * alignment of the addresses and the page directory's page size permits.
* Any pages that have been mapped into the page directory will have their
* page attributes set according to the value passed in `attrs'.
* The PAGE_ATTR_PRESENT will be set regardless of the value in `attrs'.