freebsd-dev/sys/x86/xen
Roger Pau Monné ca7af67ac9 xen: fix IPI setup with EARLY_AP_STARTUP
Current Xen IPI setup functions require that the caller provide a device in
order to obtain the name of the interrupt from it. With early AP startup this
device is no longer available at the point where IPIs are bound, and a KASSERT
would trigger:

panic: NULL pcpu device_t
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffffff82233a20
vpanic() at vpanic+0x186/frame 0xffffffff82233aa0
kassert_panic() at kassert_panic+0x126/frame 0xffffffff82233b10
xen_setup_cpus() at xen_setup_cpus+0x5b/frame 0xffffffff82233b50
mi_startup() at mi_startup+0x118/frame 0xffffffff82233b70
btext() at btext+0x2c

Fix this by no longer requiring the presence of a device in order to bind IPIs,
and simply use the "cpuX" format where X is the CPU identifier in order to
describe the interrupt.

Reported by:            sbruno, cperciva
Tested by:              sbruno
X-MFC-With:             r310177
Sponsored by:           Citrix Systems R&D
2016-12-22 16:09:44 +00:00
..
hvm.c Fix build for !SMP kernels after the Xen MSIX workaround. 2016-08-22 21:23:17 +00:00
pv.c Remove misc NULL checks after M_WAITOK allocations. 2016-05-10 10:26:07 +00:00
pvcpu_enum.c Merge ACPICA 20160930. 2016-10-04 20:27:15 +00:00
xen_apic.c xen: fix IPI setup with EARLY_AP_STARTUP 2016-12-22 16:09:44 +00:00
xen_intr.c xen: fix IPI setup with EARLY_AP_STARTUP 2016-12-22 16:09:44 +00:00
xen_msi.c msi: add Xen MSI implementation 2014-09-30 16:46:45 +00:00
xen_nexus.c Remove support for Xen PV domU kernels. Support for HVM domU kernels 2015-04-30 15:48:48 +00:00
xen_pci_bus.c xen: create a new PCI bus override 2014-12-09 18:03:25 +00:00
xenpv.c Replace all resource occurrences of '0UL/~0UL' with '0/~0'. 2016-03-03 05:07:35 +00:00