From: "Anirudh Rayabharam (Microsoft)" <[email protected]>
On x86, the HYPERVISOR_CALLBACK_VECTOR is used to receive synthetic interrupts (SINTs) from the hypervisor for doorbells and intercepts. There is no such vector reserved for arm64. On arm64, the hypervisor exposes a synthetic register that can be read to find the INTID that should be used for SINTs. This INTID is in the PPI range. Changes in v6: - Rebase on latest hyperv-next. - Consistent init/exit & setup/cleanup function naming. - Pick up Reviewed-by tags. v5: https://lore.kernel.org/linux-hyperv/[email protected]/ Changes in v5: - Better align with coding-style.rst guidelines. v4: https://lore.kernel.org/linux-hyperv/?t=20260211170747 Changes in v4: - Hypervisor now exposes a synthetic register to read the SINT vector instead of using an ACPI platform device. So make changes to accomodate that. Changes in v3: - Moved the hv_root_partition() check into the reboot notifier to avoid doing it multiple times. v2: https://lore.kernel.org/linux-hyperv/[email protected]/ Changes in v2: Addressed review comments: - Moved more stuff into mshv_synic.c - Code simplifications - Removed unnecessary debug prints v1: https://lore.kernel.org/linux-hyperv/[email protected]/ Anirudh Rayabharam (Microsoft) (2): mshv: refactor synic init and cleanup mshv: add arm64 support for doorbell & intercept SINTs drivers/hv/mshv_root.h | 5 +- drivers/hv/mshv_root_main.c | 64 ++---------- drivers/hv/mshv_synic.c | 188 +++++++++++++++++++++++++++++++++--- include/hyperv/hvgdk_mini.h | 2 + 4 files changed, 185 insertions(+), 74 deletions(-) -- 2.34.1

