On 06/09/2019 15:01, Jan Beulich wrote: > Legacy apic init uses bigsmp for smp systems with 8 and more CPUs. The > bigsmp APIC implementation uses physical destination mode, but it > nevertheless initializes LDR and DFR. The LDR even ends up incorrectly with > multiple bit being set. > > This does not cause a functional problem because LDR and DFR are ignored > when physical destination mode is active, but it triggered a problem on a > 32-bit KVM guest which jumps into a kdump kernel. > > The multiple bits set unearthed a bug in the KVM APIC implementation. The > code which creates the logical destination map for VCPUs ignores the > disabled state of the APIC and ends up overwriting an existing valid entry > and as a result, APIC calibration hangs in the guest during kdump > initialization. > > Remove the bogus LDR/DFR initialization. > > This is not intended to work around the KVM APIC bug. The LDR/DFR > ininitalization is wrong on its own. > > Suggested-by: Thomas Gleixner <[email protected]> > Signed-off-by: Bandan Das <[email protected]> > [Linux commit bae3a8d3308ee69a7dbdf145911b18dfda8ade0d] > > Drop init_apic_ldr_x2apic_phys() at the same time. > > Signed-off-by: Jan Beulich <[email protected]>
Acked-by: Andrew Cooper <[email protected]> _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
