freebsd-dev/sys/x86
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
..
acpica Prefix hex memory addresses with 0x in diagnostic messages from the 2016-12-11 19:01:27 +00:00
bios Add missing header needed by free(9). 2012-09-30 15:42:20 +00:00
cpufreq - Mention mismatching numbers in MSR vs. ACPI _PSS count warning: seeing 2016-12-01 14:31:05 +00:00
include hyperv: Implement userspace gettimeofday(2) with Hyper-V reference TSC 2016-12-19 07:40:45 +00:00
iommu Release DMAR table after using it. 2016-12-05 11:42:09 +00:00
isa Add an EARLY_AP_STARTUP option to start APs earlier during boot. 2016-05-14 18:22:52 +00:00
pci Convert rman to use rman_res_t instead of u_long 2016-01-27 02:23:54 +00:00
x86 Don't run the MCA record refill task during boot. 2016-12-14 19:00:08 +00:00
xen xen: fix IPI setup with EARLY_AP_STARTUP 2016-12-22 16:09:44 +00:00