Messages in this thread | | | Date | Tue, 17 Jan 2023 13:20:58 -0600 | From | Alex Elder <> | Subject | Re: [PATCH v8 05/28] virt: gunyah: Add hypercalls to identify Gunyah |
| |
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
| |