freebsd-nq/sys/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
..
evtchn
interface xen/vchan: change license of header from Lesser GPL v2.1 to BSD 2016-09-30 13:41:24 +00:00
xenbus xenbus: add a comment with the names of the generated accessors 2016-01-15 14:34:31 +00:00
xenmem xen: introduce a newbus function to allocate unused memory 2015-05-08 14:48:40 +00:00
xenstore
blkif.h xen: Code cleanup and small bug fixes 2015-10-21 10:44:07 +00:00
error.h xen: rewrite Xen error translation 2016-06-02 07:45:01 +00:00
evtchn.h
features.c
features.h
gntdev.h xen: add a grant-table user-space device 2016-10-31 13:12:58 +00:00
gnttab.h xen: add missing #define in include guard. 2016-06-02 07:43:02 +00:00
hvm.h
hypervisor.h xen: Code cleanup and small bug fixes 2015-10-21 10:44:07 +00:00
privcmd.h
xen_intr.h xen: fix IPI setup with EARLY_AP_STARTUP 2016-12-22 16:09:44 +00:00
xen_msi.h
xen_pci.h
xen_pv.h
xen-os.h xen: Correct typo in #undef for symbol NBPL 2016-06-06 14:55:46 +00:00