diff mbox

docs/misc: document PV control/feature keys for laptop/slate mode

Message ID 1490881246-11036-1-git-send-email-paul.durrant@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paul Durrant March 30, 2017, 1:40 p.m. UTC
Commit 4c8153d9 "add ACPI device for Windows laptop/slate mode switch"
added code to provide an 'laptop/slate mode' ACPI device to guests.

When present this device is used by Microsoft Windows to bind a HID
driver which controls whether the Windows desktop appearance is optimized
for laptop/desktop or slate/tablet PCs. The mechanism for switching
between modes is to open a handle to this driver and write a byte of
arbitrary data.

This patch documents xenstore keys such that a PV agent running in a
Windows guest can advertise the capability to, and receive instruction
from, a toolstack to cause such a mode switch.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
---
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Tim Deegan <tim@xen.org>
Cc: Wei Liu <wei.liu2@citrix.com>
---
 docs/misc/xenstore-paths.markdown | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

Comments

Wei Liu March 30, 2017, 1:56 p.m. UTC | #1
On Thu, Mar 30, 2017 at 02:40:45PM +0100, Paul Durrant wrote:
> Commit 4c8153d9 "add ACPI device for Windows laptop/slate mode switch"
> added code to provide an 'laptop/slate mode' ACPI device to guests.
> 
> When present this device is used by Microsoft Windows to bind a HID
> driver which controls whether the Windows desktop appearance is optimized
> for laptop/desktop or slate/tablet PCs. The mechanism for switching
> between modes is to open a handle to this driver and write a byte of
> arbitrary data.
> 
> This patch documents xenstore keys such that a PV agent running in a
> Windows guest can advertise the capability to, and receive instruction
> from, a toolstack to cause such a mode switch.
> 
> Signed-off-by: Paul Durrant <paul.durrant@citrix.com>

Acked-by: Wei Liu <wei.liu2@citrix.com>
Stefano Stabellini March 30, 2017, 5:49 p.m. UTC | #2
On Thu, 30 Mar 2017, Paul Durrant wrote:
> Commit 4c8153d9 "add ACPI device for Windows laptop/slate mode switch"
> added code to provide an 'laptop/slate mode' ACPI device to guests.
> 
> When present this device is used by Microsoft Windows to bind a HID
> driver which controls whether the Windows desktop appearance is optimized
> for laptop/desktop or slate/tablet PCs. The mechanism for switching
> between modes is to open a handle to this driver and write a byte of
> arbitrary data.
> 
> This patch documents xenstore keys such that a PV agent running in a
> Windows guest can advertise the capability to, and receive instruction
> from, a toolstack to cause such a mode switch.
> 
> Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
> ---
> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> Cc: George Dunlap <George.Dunlap@eu.citrix.com>
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: Tim Deegan <tim@xen.org>
> Cc: Wei Liu <wei.liu2@citrix.com>
> ---
>  docs/misc/xenstore-paths.markdown | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/docs/misc/xenstore-paths.markdown b/docs/misc/xenstore-paths.markdown
> index 5d89ed8..6c80a9e 100644
> --- a/docs/misc/xenstore-paths.markdown
> +++ b/docs/misc/xenstore-paths.markdown
> @@ -435,6 +435,21 @@ XS_RESET_WATCHES xenstore message. See
>  [xen/include/public/io/xs\_wire.h][XSWIRE] for the XenStore wire
>  protocol definition.
>  
> +#### ~/control/laptop-slate-mode = (""|"laptop"|"slate") [w]
> +
> +This is the PV laptop/slate mode control node. If the toolstack has
> +provisioned a guest with the ACPI laptop/slate mode device then it
> +can write the desired mode here to cause the guest to switch modes if
> +necessary. The guest acknowledges a request by writing the empty
> +string back to the control node.
> +
> +#### ~/control/feature-laptop-slate-mode = (""|"0"|"1") [w]
> +
> +This may be initialized to "" by the toolstack and may then be set
> +to 0 or 1 by a guest to indicate whether it is capable or incapable,
> +respectively, of responding to a mode value written to
> +~/control/laptop-slate-mode.

Usually, this is done by having the guest drivers write something like:

feature-laptop-slate-mode

to xenstore. The lack of the feature-* means no support is available.
In fact, how is this supposed to work with old guest PV drivers that
don't know about ~/control/feature-laptop-slate-mode? There won't be
anybody to write "0" there, right?


>  ### Domain Controlled Paths
>  
>  #### ~/data/* [w]
> -- 
> 2.1.4
>
diff mbox

Patch

diff --git a/docs/misc/xenstore-paths.markdown b/docs/misc/xenstore-paths.markdown
index 5d89ed8..6c80a9e 100644
--- a/docs/misc/xenstore-paths.markdown
+++ b/docs/misc/xenstore-paths.markdown
@@ -435,6 +435,21 @@  XS_RESET_WATCHES xenstore message. See
 [xen/include/public/io/xs\_wire.h][XSWIRE] for the XenStore wire
 protocol definition.
 
+#### ~/control/laptop-slate-mode = (""|"laptop"|"slate") [w]
+
+This is the PV laptop/slate mode control node. If the toolstack has
+provisioned a guest with the ACPI laptop/slate mode device then it
+can write the desired mode here to cause the guest to switch modes if
+necessary. The guest acknowledges a request by writing the empty
+string back to the control node.
+
+#### ~/control/feature-laptop-slate-mode = (""|"0"|"1") [w]
+
+This may be initialized to "" by the toolstack and may then be set
+to 0 or 1 by a guest to indicate whether it is capable or incapable,
+respectively, of responding to a mode value written to
+~/control/laptop-slate-mode.
+
 ### Domain Controlled Paths
 
 #### ~/data/* [w]