Messages in this thread | | | Subject | Re: [RFC PATCH 1/1] platform-msi: Add platform check for subdevice irq domain | From | Lu Baolu <> | Date | Wed, 16 Dec 2020 09:42:54 +0800 |
| |
Hi David,
On 12/10/20 4:22 PM, David Woodhouse wrote: > On Thu, 2020-12-10 at 08:46 +0800, Lu Baolu wrote: >> +/* >> + * We want to figure out which context we are running in. But the hardware >> + * does not introduce a reliable way (instruction, CPUID leaf, MSR, whatever) >> + * which can be manipulated by the VMM to let the OS figure out where it runs. >> + * So we go with the below probably_on_bare_metal() function as a replacement >> + * for definitely_on_bare_metal() to go forward only for the very simple reason >> + * that this is the only option we have. >> + */ >> +static const char * const possible_vmm_vendor_name[] = { >> + "QEMU", "Bochs", "KVM", "Xen", "VMware", "VMW", "VMware Inc.", >> + "innotek GmbH", "Oracle Corporation", "Parallels", "BHYVE", >> + "Microsoft Corporation" >> +}; > > People do use SeaBIOS ("Bochs") on bare metal.
Is there any unique way to distinguish between running on bare metal and VM?
> > You'll also see "Amazon EC2" on virt instances as well as bare metal > instances. Although in that case I believe the virt instances do have > the 'virtual machine' flag set in bit 4 of the BIOS Characteristics > Extension Byte 2, and the bare metal obviously don't. >
So for Amazon EC2 case, we can use this byte to distinguish. Can you please point me to the references of this Extension Byte (reference code/spec or anything else) ?
Best regards, baolu
| |