> On 16. May 2019, at 15:56, Graf, Alexander <graf@xxxxxxxxxx> wrote: > > On 14.05.19 08:16, Filippo Sironi wrote: >> On x86, we report the UUID in DMI System Information (i.e., DMI Type 1) >> as VM UUID. >> >> Signed-off-by: Filippo Sironi <sironi@xxxxxxxxx> >> --- >> arch/x86/kernel/kvm.c | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c >> index 5c93a65ee1e5..441cab08a09d 100644 >> --- a/arch/x86/kernel/kvm.c >> +++ b/arch/x86/kernel/kvm.c >> @@ -25,6 +25,7 @@ >> #include <linux/kernel.h> >> #include <linux/kvm_para.h> >> #include <linux/cpu.h> >> +#include <linux/dmi.h> >> #include <linux/mm.h> >> #include <linux/highmem.h> >> #include <linux/hardirq.h> >> @@ -694,6 +695,12 @@ bool kvm_para_available(void) >> } >> EXPORT_SYMBOL_GPL(kvm_para_available); >> >> +const char *kvm_para_get_uuid(void) >> +{ >> + return dmi_get_system_info(DMI_PRODUCT_UUID); > > This adds a new dependency on CONFIG_DMI. Probably best to guard it with > an #if IS_ENABLED(CONFIG_DMI). > > The concept seems sound though. > > Alex include/linux/dmi.h contains a dummy implementation of dmi_get_system_info that returns NULL if CONFIG_DMI isn't defined. This is enough unless we decide to return "<denied>" like in Xen. If then, we can have the check in the generic code to turn NULL into "<denied>". Filippo >> +} >> +EXPORT_SYMBOL_GPL(kvm_para_get_uuid); >> + >> unsigned int kvm_arch_para_features(void) >> { >> return cpuid_eax(kvm_cpuid_base() | KVM_CPUID_FEATURES); Amazon Development Center Germany GmbH Krausenstr. 38 10117 Berlin Geschaeftsfuehrer: Christian Schlaeger, Ralf Herbrich Ust-ID: DE 289 237 879 Eingetragen am Amtsgericht Charlottenburg HRB 149173 B