qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 08/13] pc: apic_common: reset APIC ID to init


From: Radim Krčmář
Subject: Re: [Qemu-devel] [PATCH v3 08/13] pc: apic_common: reset APIC ID to initial ID when switching into x2APIC mode
Date: Thu, 13 Oct 2016 16:11:14 +0200

2016-10-13 11:52+0200, Igor Mammedov:
> SDM: x2APIC State Transitions:
>          State Changes From xAPIC Mode to x2APIC Mode
> "
> Any APIC ID value written to the memory-mapped
> local APIC ID register is not preserved
> "
> 
> Signed-off-by: Igor Mammedov <address@hidden>
> ---

Reviewed-by: Radim Krčmář <address@hidden>

>  hw/intc/apic_common.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c
> index ea3c8ca..d78c885 100644
> --- a/hw/intc/apic_common.c
> +++ b/hw/intc/apic_common.c
> @@ -40,6 +40,11 @@ void cpu_set_apic_base(DeviceState *dev, uint64_t val)
>      if (dev) {
>          APICCommonState *s = APIC_COMMON(dev);
>          APICCommonClass *info = APIC_COMMON_GET_CLASS(s);
> +        /* switching to x2APIC, reset possibly modified xAPIC ID */
> +        if (!(s->apicbase & MSR_IA32_APICBASE_EXTD) &&
> +            (val & MSR_IA32_APICBASE_EXTD)) {
> +            s->id = s->initial_apic_id;
> +        }
>          info->set_base(s, val);
>      }
>  }
> -- 
> 2.7.4
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]