On Mon, 07 Apr 2025 21:13:26 +0100, Roman Kisel <rom...@linux.microsoft.com> wrote: > > The KVM/arm64 uses SMCCC to detect hypervisor presence. That code is > private, and it follows the SMCCC specification. Other existing and > emerging hypervisor guest implementations can and should use that > standard approach as well. > > Factor out a common infrastructure that the guests can use, update KVM > to employ the new API. The central notion of the SMCCC method is the > UUID of the hypervisor, and the new API follows that. > > No functional changes. Validated with a KVM/arm64 guest. > > Signed-off-by: Roman Kisel <rom...@linux.microsoft.com> > --- > arch/arm64/kvm/hypercalls.c | 10 +++-- > drivers/firmware/smccc/kvm_guest.c | 10 +---- > drivers/firmware/smccc/smccc.c | 17 ++++++++ > include/linux/arm-smccc.h | 64 ++++++++++++++++++++++++++++-- > 4 files changed, 85 insertions(+), 16 deletions(-) >
[...] > diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h > index 67f6fdf2e7cd..4bb38f0e3fe2 100644 > --- a/include/linux/arm-smccc.h > +++ b/include/linux/arm-smccc.h > @@ -7,6 +7,11 @@ > > #include <linux/args.h> > #include <linux/init.h> > + > +#ifndef __ASSEMBLER__ > +#include <linux/uuid.h> > +#endif That's a pretty unusual guard in arm64 land. Looking at the current state of the kernel: $ git grep -w __ASSEMBLER__ arch/arm64/ | wc -l 2 $ git grep -w __ASSEMBLY__ arch/arm64/ | wc -l 122 I'd suggest the later rather than the former. Thanks, M. -- Without deviation from the norm, progress is not possible.