xen-arm: Fix path in EXTRA_DIST.
[virt-what.git] / virt-what.pod
index 156406e..0e2e8a5 100644 (file)
@@ -25,6 +25,12 @@ don't know about or cannot detect.
 
 =over 4
 
 
 =over 4
 
+=item B<docker>
+
+This is a Docker container.
+
+Status: confirmed by Charles Nguyen
+
 =item B<hyperv>
 
 This is Microsoft Hyper-V hypervisor.
 =item B<hyperv>
 
 This is Microsoft Hyper-V hypervisor.
@@ -62,10 +68,28 @@ Status: confirmed by RWMJ using a Fedora guest running in z/VM
 
 =item B<linux_vserver>
 
 
 =item B<linux_vserver>
 
+This is printed for backwards compatibility with older virt-what which
+could not distinguish between a Linux VServer container guest and
+host.
+
+=item B<linux_vserver-guest>
+
 This process is running in a Linux VServer container.
 
 Status: contributed by Barış Metin
 
 This process is running in a Linux VServer container.
 
 Status: contributed by Barış Metin
 
+=item B<linux_vserver-host>
+
+This process is running as the Linux VServer host (VxID 0).
+
+Status: contributed by Barış Metin and Elan Ruusamäe
+
+=item B<lxc>
+
+This process is running in a Linux LXC container.
+
+Status: contributed by Marc Fournier
+
 =item B<kvm>
 
 This guest is running on the KVM hypervisor using hardware
 =item B<kvm>
 
 This guest is running on the KVM hypervisor using hardware
@@ -77,6 +101,14 @@ instead.
 
 Status: confirmed by RWMJ.
 
 
 Status: confirmed by RWMJ.
 
+=item B<lkvm>
+
+This guest is running on the KVM hypervisor using hardware
+acceleration, and the userspace component of the hypervisor
+is lkvm (a.k.a kvmtool).
+
+Status: contributed by Andrew Jones
+
 =item B<openvz>
 
 The guest appears to be running inside an OpenVZ or Virtuozzo
 =item B<openvz>
 
 The guest appears to be running inside an OpenVZ or Virtuozzo
@@ -95,7 +127,8 @@ Status: contributed by Justin Clift
 
 The guest is running inside IBM PowerVM Lx86 Linux/x86 emulator.
 
 
 The guest is running inside IBM PowerVM Lx86 Linux/x86 emulator.
 
-Status: data supplied by Jeffrey Scheel, not confirmed
+Status: data originally supplied by Jeffrey Scheel, confirmed by
+Yufang Zhang and RWMJ
 
 =item B<qemu>
 
 
 =item B<qemu>
 
@@ -112,6 +145,15 @@ This is a User-Mode Linux (UML) guest.
 
 Status: contributed by Laurent Léonard
 
 
 Status: contributed by Laurent Léonard
 
+=item B<virt>
+
+Some sort of virtualization appears to be present, but we are not sure
+what it is.  In some very rare corner cases where we know that
+virtualization is hard to detect, we will try a timing attack to see
+if certain machine instructions are running much more slowly than they
+should be, which would indicate virtualization.  In this case, the
+generic fact C<virt> is printed.
+
 =item B<virtage>
 
 This is Hitachi Virtualization Manager (HVM) Virtage
 =item B<virtage>
 
 This is Hitachi Virtualization Manager (HVM) Virtage
@@ -179,6 +221,24 @@ whether C<virt-what> managed detection "correctly" (which is basically
 unknowable given the large variety of virtualization systems out there
 and that some systems deliberately emulate others).
 
 unknowable given the large variety of virtualization systems out there
 and that some systems deliberately emulate others).
 
+=head1 RUNNING VIRT-WHAT FROM OTHER PROGRAMS
+
+C<virt-what> is designed so that you can easily run it from
+other programs or wrap it up in a library.
+
+Your program should check the exit status (see the section above).
+
+Some programming languages (notably Python: issue 1652) erroneously
+mask the C<SIGPIPE> signal and do not restore it when executing
+subprocesses.  C<virt-what> is a shell script and some shell commands
+do not work correctly when you do this.  You may see warnings from
+C<virt-what> similar to this:
+
+ echo: write error: Broken pipe
+
+The solution is to set the C<SIGPIPE> signal handler back to C<SIG_DFL>
+before running C<virt-what>.
+
 =head1 IMPORTANT NOTE
 
 Most of the time, using this program is the I<wrong> thing to do.
 =head1 IMPORTANT NOTE
 
 Most of the time, using this program is the I<wrong> thing to do.
@@ -201,6 +261,13 @@ tool.
 
 You might include this information in status and monitoring programs.
 
 
 You might include this information in status and monitoring programs.
 
+=item System tuning (sometimes)
+
+You might use this program to tune an operating system so it runs
+better as a virtual machine of a particular hypervisor.  However if
+installing paravirtualized drivers, it's better to check for the
+specific features your drivers need (eg. for the presence of PCI devices).
+
 =back
 
 =head1 SEE ALSO
 =back
 
 =head1 SEE ALSO