[Xen-devel][PATCH] xen/kbdif: Add frontend's virtual device options

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx>

It is now not possible to control if and which virtual devices
are created by the frontend, e.g. keyboard and pointer devices
are always created and multi-touch device is created if the
backend advertises multi-touch support. In some cases this
behavior is not desirable and better control over the frontend's
configuration is required.

Add new frontend options, so it is possible to individually
control set of exposed virtual devices for each guest OS:
 - set opt-no-pointer if no pointer device needs to be created
 - set opt-no-keyboard if no keyboard device needs to be created
 - set opt-no-multi-touch if no multi-touch device needs to be created

Keep old behavior by default.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx>
---
 xen/include/public/io/kbdif.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/xen/include/public/io/kbdif.h b/xen/include/public/io/kbdif.h
index 3ce54e9a44c1..703433156c1f 100644
--- a/xen/include/public/io/kbdif.h
+++ b/xen/include/public/io/kbdif.h
@@ -132,6 +132,29 @@
  *      OBSOLETE, not recommended for use.
  *      PFN of the shared page.
  *
+ *--------------------------- Frontend Options -------------------------------
+ *
+ * For the below options if corresponding XenStore entry omitted,
+ * then the value must be treated as set to 0.
+ *
+ * opt-no-pointer
+ *      Values:         <uint>
+ *
+ *      If no virtual pointer device to be exposed by the frontend then
+ *      this must be set to 1.
+ *
+ * opt-no-keyboard
+ *      Values:         <uint>
+ *
+ *      If no virtual keyboard device to be exposed by the frontend then
+ *      this must be set to 1.
+ *
+ * opt-no-multi-touch
+ *      Values:         <uint>
+ *
+ *      If no virtual multi-touch device to be exposed by the frontend then
+ *      this must be set to 1.
+ *
  *----------------------- Multi-touch Device Parameters -----------------------
  *
  * multi-touch-num-contacts
@@ -181,6 +204,9 @@
 #define XENKBD_FIELD_FEAT_MTOUCH       "feature-multi-touch"
 #define XENKBD_FIELD_REQ_ABS_POINTER   "request-abs-pointer"
 #define XENKBD_FIELD_REQ_MTOUCH        "request-multi-touch"
+#define XENKBD_FIELD_OPT_NO_PTR        "opt-no-pointer"
+#define XENKBD_FIELD_OPT_NO_KBD        "opt-no-keyboard"
+#define XENKBD_FIELD_OPT_NO_MTOUCH     "opt-no-multi-touch"
 #define XENKBD_FIELD_RING_GREF         "page-gref"
 #define XENKBD_FIELD_EVT_CHANNEL       "event-channel"
 #define XENKBD_FIELD_WIDTH             "width"
-- 
2.17.0

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux