diff options
author | Wei Hu <whu@FreeBSD.org> | 2023-06-07 08:03:59 +0000 |
---|---|---|
committer | Wei Hu <whu@FreeBSD.org> | 2023-06-07 08:24:13 +0000 |
commit | 4f8c634de09ffa2583306821e235f6f92104e729 (patch) | |
tree | 5783375aaf3674ae90b03835b773e1d0aaa350fb /sys/compat | |
parent | 1177a6c8dcfd6625c541d6ffc3c6915b8b6354f7 (diff) | |
download | src-main.tar.gz src-main.zip |
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
Diffstat (limited to 'sys/compat')
0 files changed, 0 insertions, 0 deletions