[PATCH v6 2/6] arm64: hyperv: Detect Hyper-V via RSI host call in CCA Realms
Kameron Carr
kameroncarr at linux.microsoft.com
Mon Nov 2 11:27:37 PST 2026
On 11/2/2026 4:12 AM, Catalin Marinas wrote:
> On Fri, Oct 30, 2026 at 05:14:08PM -0700, Kameron Carr wrote:
>> When booting without ACPI, hyperv_detect_via_smccc() detects Hyper-V by
>> querying the SMCCC vendor hypervisor UID. In an Arm CCA Realm the SMCCC
>> call is handled by the RMM rather than by the hypervisor, so the
>> query never reaches Hyper-V and detection fails.
>>
>> When running in a Realm, forward ARM_SMCCC_VENDOR_HYP_CALL_UID_FUNC_ID
>> to the host with RSI_HOST_CALL instead, which is how Hyper-V hypercalls
>> are issued from a Realm.
>>
>> This is done in the Hyper-V code rather than in the generic
>> arm_smccc_hypervisor_has_uuid() because the other users expect different
>> behavior.
>>
>> hyperv_init() is an early_initcall and runs before the secondary CPUs
>> are brought up, so a single __initdata host call structure is used
>> without locking.
>>
>> ACPI-based detection and non-Realm guests are unaffected.
>>
>> Signed-off-by: Kameron Carr <kameroncarr at linux.microsoft.com>
>
> This works for me, thanks. I replied to Dexuan clarifying my objection
> to v5 do the UUID check generically.
Thank you for your review and suggestions.
Your clarification makes sense.
Is this a "Reviewed-by" or an "Acked-by"?
--
Regards,
Kameron
More information about the linux-arm-kernel
mailing list