summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2021-04-05 15:29:13 +1000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-04-05 11:59:23 +0200
commite98e3436e2d9ac9fa8883d9786b5d31760d18009 (patch)
tree03e38b900a5d3b2140033c9439f94c8e6652d4ac
parentb21f84ef1bb9e9ba69bfea069295ad4618f671eb (diff)
ioapic: Enable processor focus to BSP
Message-Id: <20210405052916.174771-2-damien@zamaudio.com>
-rw-r--r--i386/i386/apic.h1
-rw-r--r--i386/i386at/ioapic.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/i386/i386/apic.h b/i386/i386/apic.h
index 83f7776c..d63dbfcc 100644
--- a/i386/i386/apic.h
+++ b/i386/i386/apic.h
@@ -173,6 +173,7 @@ extern inline void unmask_irq (unsigned int irq_nr);
# define IMCR_USE_APIC 1
#define LAPIC_ENABLE 0x100
+#define LAPIC_FOCUS 0x200
#define LAPIC_NMI 0x400
#define LAPIC_DISABLE 0x10000
#define LAPIC_TIMER_PERIODIC 0x20000
diff --git a/i386/i386at/ioapic.c b/i386/i386at/ioapic.c
index 016bd941..16836016 100644
--- a/i386/i386at/ioapic.c
+++ b/i386/i386at/ioapic.c
@@ -378,6 +378,9 @@ ioapic_configure(void)
global_enable_apic();
+ /* Enable IOAPIC processor focus */
+ lapic->spurious_vector.r |= LAPIC_FOCUS;
+
/* Enable IOAPIC interrupts */
lapic->spurious_vector.r |= LAPIC_ENABLE;