Message ID | 20241209203629.74436-11-phil@philjordan.eu (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | hvf and APIC fixes, improvements, and optimisations | expand |
On 9/12/24 21:36, phil@philjordan.eu wrote: > From: Phil Dennis-Jordan <phil@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 <phil@philjordan.eu> > --- > hw/intc/apic.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/hw/intc/apic.c b/hw/intc/apic.c index add99f01e5..d72cbb2a8f 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);