summaryrefslogtreecommitdiff
path: root/sys/arch/amd64/cpu
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-11-17 16:48:35 -0500
committerIan Moffett <ian@osmora.org>2025-11-17 16:48:35 -0500
commit22c42d69367e9ab98622e204801223b0c8de5b43 (patch)
tree455e5858747eb11324eb72fae9ac39b7f0838c50 /sys/arch/amd64/cpu
parentc0875764f2a30ea8c9d7f628f2fe0ab2e66589f8 (diff)
kern/amd64: lapic: Add lapic_read_id() function
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/arch/amd64/cpu')
-rw-r--r--sys/arch/amd64/cpu/lapic.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/arch/amd64/cpu/lapic.c b/sys/arch/amd64/cpu/lapic.c
index 7f1c9f2..acf2573 100644
--- a/sys/arch/amd64/cpu/lapic.c
+++ b/sys/arch/amd64/cpu/lapic.c
@@ -337,6 +337,18 @@ lapic_enable(struct mcb *mcb)
lapic_write(mcb, LAPIC_REG_SVR, svr | 0xFF);
}
+uint32_t
+lapic_read_id(struct mcb *mcb)
+{
+ uint32_t id;
+
+ if (!mcb->has_x2apic) {
+ return (lapic_read(mcb, LAPIC_REG_ID) >> 24) & 0xF;
+ } else {
+ return lapic_read(mcb, LAPIC_REG_ID);
+ }
+}
+
void
lapic_init(void)
{