]> Git Repo - linux.git/commit
xen: introduce xen_vcpu_id mapping
authorVitaly Kuznetsov <[email protected]>
Thu, 30 Jun 2016 15:56:37 +0000 (17:56 +0200)
committerDavid Vrabel <[email protected]>
Mon, 25 Jul 2016 12:31:16 +0000 (13:31 +0100)
commit88e957d6e47f1232ad15b21e54a44f1147ea8c1b
treee7384643d570bd17463455d26fc63ada4ecf24a4
parent3e9e57fad3d8530aa30787f861c710f598ddc4e7
xen: introduce xen_vcpu_id mapping

It may happen that Xen's and Linux's ideas of vCPU id diverge. In
particular, when we crash on a secondary vCPU we may want to do kdump
and unlike plain kexec where we do migrate_to_reboot_cpu() we try
booting on the vCPU which crashed. This doesn't work very well for
PVHVM guests as we have a number of hypercalls where we pass vCPU id
as a parameter. These hypercalls either fail or do something
unexpected.

To solve the issue introduce percpu xen_vcpu_id mapping. ARM and PV
guests get direct mapping for now. Boot CPU for PVHVM guest gets its
id from CPUID. With secondary CPUs it is a bit more
trickier. Currently, we initialize IPI vectors before these CPUs boot
so we can't use CPUID. Use ACPI ids from MADT instead.

Signed-off-by: Vitaly Kuznetsov <[email protected]>
Signed-off-by: David Vrabel <[email protected]>
arch/arm/xen/enlighten.c
arch/x86/xen/enlighten.c
include/xen/xen-ops.h
This page took 0.056524 seconds and 4 git commands to generate.