opnsense-src/sys/dev/hyperv
Wei Hu 4f8c634de0 arm64 Hyper-V: enable Hyper-V SMP for ARM64
Vmbus_synic_setup() is invoked via vmbus_intrhook -> vmbus_doattach
-> smp_rendezvous. On !EARLY_AP_STARTUP (e.g., aarch64), SMP isn't
functional in intrhooks and smp_rendezvous() will just call
vmbus_synic_setup() on the boot processor. There's nothing that will
initialize the pcpu data on every other AP.

To fix it we need to use SI_SUB_SMP for vmbus_doattach(). With this
patch the vmbus interrupt should work on all arm64 cpus on HyperV.

Reported by:	kevans
Reviewed by:	kevans, whu
Tested by:	Souradeep Chakrabarti <schakrabarti@microsoft.com>
Obtained from:	Souradeep Chakrabarti <schakrabarti@microsoft.com>
Sponsored by:	Microsoft
Differential Revision:	https://reviews.freebsd.org/D40279
2023-06-07 08:24:13 +00:00
..
hvsock spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
include Switch to contigmalloc in the Hyper-V code 2023-06-06 10:50:59 +01:00
input sys/kbio.h: make pre-unicode keymap support optional 2023-02-14 14:03:28 +01:00
netvsc Switch to contigmalloc in the Hyper-V code 2023-06-06 10:50:59 +01:00
pcib Switch to contigmalloc in the Hyper-V code 2023-06-06 10:50:59 +01:00
storvsc spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
utilities spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
vmbus arm64 Hyper-V: enable Hyper-V SMP for ARM64 2023-06-07 08:24:13 +00:00