Re: [Xen-devel] [PATCH 2/2] xen: add sysfs node for guest type

From: Juergen Gross
Date: Mon May 22 2017 - 11:28:50 EST


On 22/05/17 17:23, Konrad Rzeszutek Wilk wrote:
> On Mon, May 22, 2017 at 10:57:00AM +0200, Juergen Gross wrote:
>> Currently there is no reliable user interface inside a Xen guest to
>> determine its type (e.g. HVM, PV or PVH). Instead of letting user mode
>> try to determine this by various rather hacky mechanisms (parsing of
>> boot messages before they are gone, trying to make use of known subtle
>> differences in behavior of some instructions), add a sysfs node
>> /sys/hypervisor/guest_type to explicitly deliver this information as
>> it is known to the kernel.
>>
>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>> ---
>> Documentation/ABI/testing/sysfs-hypervisor | 13 +++++++++++++
>
> You forgot to CC Greg KH who is the maintainer of that file.

Hmm, right.

>> arch/arm/xen/enlighten.c | 3 +++
>> arch/x86/xen/enlighten.c | 3 +++
>> arch/x86/xen/enlighten_hvm.c | 6 ++++--
>> arch/x86/xen/enlighten_pv.c | 1 +
>> drivers/xen/sys-hypervisor.c | 17 +++++++++++++++++
>> include/xen/xen.h | 2 ++
>> 7 files changed, 43 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/ABI/testing/sysfs-hypervisor b/Documentation/ABI/testing/sysfs-hypervisor
>> index 443196f0aa1c..06850f74ebd4 100644
>> --- a/Documentation/ABI/testing/sysfs-hypervisor
>> +++ b/Documentation/ABI/testing/sysfs-hypervisor
>> @@ -19,6 +19,19 @@ Contact: xen-devel@xxxxxxxxxxxxxxxxxxxx
>> Description:
>> Compiler which was used to build the Xen hypervisor
>>
>> +What: /sys/hypervisor/guest_type
>> +Date: May 2017
>> +KernelVersion: 4.12
>> +Contact: xen-devel@xxxxxxxxxxxxxxxxxxxx
>> +Description:
>> + Type of guest:
>> + "native": standard guest type on arm
>> + "HVM": fully virtualized guest (x86)
>> + "PV": paravirtualized guest (x86)
>> + "PVH": fully virtualized guest without legacy emulation (x86)
>> + "PVHVM": fully virtualized guest using paravirtualized
>> + interfaces (e.g. interrupts, timers) (x86)
>
> What about KVM? Shouldn't that also be here?

/sys/hypervisor is Xen-only (at least up to now).

> And what should be there if say you boot without Xen, what is the correct value
> on x86 (above 'native' says arm)?

The node isn't existing.


Juergen