freebsd-skq/sys/dev/xen
royger 79df095233 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
..
balloon
blkback
blkfront In xbd_connect(), use correct scanf conversion specifiers for the 2016-12-14 19:28:19 +00:00
console
control
debug
evtchn xen: fix IPI setup with EARLY_AP_STARTUP 2016-12-22 16:09:44 +00:00
gntdev xen: add a grant-table user-space device 2016-10-31 13:12:58 +00:00
grant_table
netback
netfront xen/netfront: fix statistics 2016-10-31 11:31:11 +00:00
pci
pcifront
privcmd
pvcpu
timer
xenpci
xenstore