From: Phil Dennis-Jordan <p...@philjordan.eu> This changes replaces the use of an explicit literal constant for the APIC base address mask with the existing symbolic constant intended for this purpose.
Additionally, we remove the comment about not being able to re-enable the APIC after disabling it. This is no longer the case after the APIC implementation's state machine was modified in 9.0. Signed-off-by: Phil Dennis-Jordan <p...@philjordan.eu> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20241209203629.74436-11-p...@philjordan.eu> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- hw/intc/apic.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/intc/apic.c b/hw/intc/apic.c index d1d343d4216..d18c1dbf2cb 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c @@ -350,9 +350,8 @@ static int apic_set_base(APICCommonState *s, uint64_t val) return -1; } - s->apicbase = (val & 0xfffff000) | + s->apicbase = (val & MSR_IA32_APICBASE_BASE) | (s->apicbase & (MSR_IA32_APICBASE_BSP | MSR_IA32_APICBASE_ENABLE)); - /* if disabled, cannot be enabled again */ if (!(val & MSR_IA32_APICBASE_ENABLE)) { s->apicbase &= ~MSR_IA32_APICBASE_ENABLE; cpu_clear_apic_feature(&s->cpu->env); -- 2.47.1