[Qemu-devel] [PATCH 0/2 v2] xenfb: Fix protocol for HVM guests

Owen Smith posted 2 patches 6 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1499087861-2132-1-git-send-email-owen.smith@citrix.com
Test FreeBSD passed
Test checkpatch passed
Test docker passed
Test s390x passed
hw/display/xenfb.c | 157 +++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 139 insertions(+), 18 deletions(-)
[Qemu-devel] [PATCH 0/2 v2] xenfb: Fix protocol for HVM guests
Posted by Owen Smith 6 years, 9 months ago
This series is intended to alow HVM guests to use the vkbd device with a
PV frontend driver. Initial version at:
http://xenbits.xen.org/gitweb/?p=pvdrivers/win/xenvkbd.git;a=tree

Since the vkbd device is initialised for HVM guests, using the vkbd device
can allow the disabling of the USB controller and USB tablet and maintaining
the same easy to use absolute pointer. The main problem, is that the vkbd 
device does not connect unless a vfb device is present, to facilitate the
rescaling of absolute coordinates.
This series rearranges the input handlers to use the qemu_input_handler_*
functions, by using the callbacks directly, rather than via the compatability
layer in input-legacy.c. The series also registers the "feature-raw-pointer"
feature to indicate the backend can supply raw unscaled absolute cordinates.
The frontend uses "request-raw-pointer" to request raw unscaled values.

Adding the feature is also to enable detecting the difference between older,
broken, backend and newer backends that can connect without the vfb present.

v2:
* reworks the input handlers to use qemu_input_handler_* functions
* rename the feature proposed to a better name - the name better reflects the
  intended use-case (raw pointer vs backend requires vfb device)

Owen Smith (2):
  xenfb: Use qemu_input_handler_* calls directly
  xenfb: Allow vkbd to connect without a DisplayState

 hw/display/xenfb.c | 157 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 139 insertions(+), 18 deletions(-)

-- 
2.1.4