[PATCH v8 05/28] virt: gunyah: Add hypercalls to identify Gunyah
Alex Elder
elder at linaro.org
Tue Jan 17 11:20:58 PST 2023
On 1/10/23 11:56 AM, Elliot Berman wrote:
>>> There are two calls to help identify Gunyah:
>>>
>>> 1. gh_hypercall_get_uid() returns a UID when running under a Gunyah
>>> hypervisor.
>>> 2. gh_hypercall_hyp_identify() returns build information and a set of
>>> feature flags that are supported by Gunyah.
>>
>> The first is a "service", while the second is a "hypercall".
>> Can you explain the distinction? The sentence at the top
>> refers to both as "hypercalls".
>>
>
> I learned more details about this to answer your question. "get_uid()"
> is a standardized call that is ARM_SMCCC_VENDOR_HYP_CALL_UID_FUNC_ID
> defined in include/arm-smccc.h. I'll use that.
You didn't really explain the distinction between hypercall
and service in Gunyah. Both are encoded as "vendor specific
hypervisor service calls" according to the SVCCC specification.
I haven't found where ARM_SMCCC_VENDOR_HYP_CALL_UID_FUNC_ID
gets handled, but I accept your answer that it's basically
a standard call. The "get UID" is the only one that's defined
as a Gunyah "service"; the rest are hypercalls.
It's not a big deal, I just noticed the difference and was
curious about it.
-Alex
More information about the linux-arm-kernel
mailing list