From: Kameron Carr <[email protected]> Sent: Tuesday, July 21, 2026 1:12 PM
> > Realms (CoCo VMs on ARM) require host calls to be routed through the RMM > (Realm Management Monitor) via the RSI (Realm Service Interface). This > series implements most of the necessary changes to support Realms on > Hyper-V. > > One required change is not included in this series. The two buffers > allocated via vzalloc() in netvsc_init_buf() cannot be decrypted in > vmbus_establish_gpadl(). Currently only linearly mapped memory can be > decrypted. > > This patch series was tested by booting a Realm on Cobalt 200 running > Windows. I tested 4KB and 64KB page size. I replaced vzalloc() in > netvsc_init_buf() with alloc_pages_node() -> set_memory_decrypted() -> > vmap() in my testing as a workaround for the issue mentioned above [1]. > > Changes since v1 [2]: > Patch 1: Add explicit padding to the RSI host call structure > Patch 3: Change from a per-cpu pointer lazily allocated to an array > of host call structs indexed by cpu id > Patch 4: Align input_page + output_page allocation to PAGE_SIZE since > that is the smallest unit of memory that can be decrypted > ~Remove KASAN tags before passing address to > set_memory_decrypted() since __is_lm_address() does pointer > arithmetic.~ > Patch 5: Add a helper function to reduce repetition > Check for NULL before indexing into host call array > > Changes since v2 [3]: > Patch 3: Remove hv_hostcall_free() and inline the logic for simplicity > Reorder edits to keep #include line at the end of the file > Patch 4: Remove kasan_reset_tag() > > [1] > https://lore.kernel.org/all/[email protected]/ > [2] > https://lore.kernel.org/all/[email protected]/ > [3] > https://lore.kernel.org/all/[email protected]/ > > Kameron Carr (6): > arm64: rsi: Add RSI host call structure and helper function > firmware: smccc: Detect hypervisor via RSI host call in CCA Realms > arm64: hyperv: Add per-CPU RSI host call infrastructure for CCA Realms > Drivers: hv: Mark shared memory as decrypted for CCA Realms > arm64: hyperv: Route hypercalls through RSI host call in CCA Realms > arm64: hyperv: Implement hv_is_isolation_supported() for CCA Realms > > arch/arm64/hyperv/hv_core.c | 155 +++++++++++++++++++++++------- > arch/arm64/hyperv/mshyperv.c | 38 +++++++- > arch/arm64/include/asm/mshyperv.h | 4 + > arch/arm64/include/asm/rsi_cmds.h | 22 +++++ > arch/arm64/include/asm/rsi_smc.h | 7 ++ > drivers/firmware/smccc/smccc.c | 41 +++++++- > drivers/hv/hv_common.c | 17 +++- > include/asm-generic/mshyperv.h | 1 + > 8 files changed, 244 insertions(+), 41 deletions(-) > > > base-commit: a4ffc59238be84dd1c26bf1c001543e832674fc6 > -- > 2.45.4 > For all patches in the series, Reviewed-by: Michael Kelley <[email protected]>

