diff options
Diffstat (limited to 'hw/intc')
-rw-r--r-- | hw/intc/apic_common.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index 0858b45943..042e960f42 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -215,14 +215,18 @@ void apic_init_reset(DeviceState *dev) } } -void apic_designate_bsp(DeviceState *dev) +void apic_designate_bsp(DeviceState *dev, bool bsp) { if (dev == NULL) { return; } APICCommonState *s = APIC_COMMON(dev); - s->apicbase |= MSR_IA32_APICBASE_BSP; + if (bsp) { + s->apicbase |= MSR_IA32_APICBASE_BSP; + } else { + s->apicbase &= ~MSR_IA32_APICBASE_BSP; + } } static void apic_reset_common(DeviceState *dev) |