diff options
| author | Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com> | 2026-02-25 15:44:03 +0300 |
|---|---|---|
| committer | Wei Liu <wei.liu@kernel.org> | 2026-02-25 22:09:49 +0300 |
| commit | 622d68772ddf07573cf88e833afe8ba6c70ac748 (patch) | |
| tree | 33b639709e08f701bafea210ea7614cd8b5c9b39 /include | |
| parent | 5a674ef871fe9d4c7477127340941f2c4d9a2741 (diff) | |
| download | linux-622d68772ddf07573cf88e833afe8ba6c70ac748.tar.xz | |
mshv: add arm64 support for doorbell & intercept SINTs
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.
To better unify the code paths, introduce mshv_sint_vector_init() that
either reads the synthetic register and obtains the INTID (arm64) or
just uses HYPERVISOR_CALLBACK_VECTOR as the interrupt vector (x86).
Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Reviewed-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Signed-off-by: Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/hyperv/hvgdk_mini.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hyperv/hvgdk_mini.h b/include/hyperv/hvgdk_mini.h index 056ef7b6b360..8bb3dd71c5b4 100644 --- a/include/hyperv/hvgdk_mini.h +++ b/include/hyperv/hvgdk_mini.h @@ -1121,6 +1121,8 @@ enum hv_register_name { HV_X64_REGISTER_MSR_MTRR_FIX4KF8000 = 0x0008007A, HV_X64_REGISTER_REG_PAGE = 0x0009001C, +#elif defined(CONFIG_ARM64) + HV_ARM64_REGISTER_SINT_RESERVED_INTERRUPT_ID = 0x00070001, #endif }; |
