cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

barrier.rst (1606B)


      1QEMU Barrier Client
      2===================
      3
      4Generally, mouse and keyboard are grabbed through the QEMU video
      5interface emulation.
      6
      7But when we want to use a video graphic adapter via a PCI passthrough
      8there is no way to provide the keyboard and mouse inputs to the VM
      9except by plugging a second set of mouse and keyboard to the host
     10or by installing a KVM software in the guest OS.
     11
     12The QEMU Barrier client avoids this by implementing directly the Barrier
     13protocol into QEMU.
     14
     15`Barrier <https://github.com/debauchee/barrier>`__
     16is a KVM (Keyboard-Video-Mouse) software forked from Symless's
     17synergy 1.9 codebase.
     18
     19This protocol is enabled by adding an input-barrier object to QEMU.
     20
     21Syntax::
     22
     23    input-barrier,id=<object-id>,name=<guest display name>
     24    [,server=<barrier server address>][,port=<barrier server port>]
     25    [,x-origin=<x-origin>][,y-origin=<y-origin>]
     26    [,width=<width>][,height=<height>]
     27
     28The object can be added on the QEMU command line, for instance with::
     29
     30    -object input-barrier,id=barrier0,name=VM-1
     31
     32where VM-1 is the name the display configured in the Barrier server
     33on the host providing the mouse and the keyboard events.
     34
     35by default ``<barrier server address>`` is ``localhost``,
     36``<port>`` is ``24800``, ``<x-origin>`` and ``<y-origin>`` are set to ``0``,
     37``<width>`` and ``<height>`` to ``1920`` and ``1080``.
     38
     39If the Barrier server is stopped QEMU needs to be reconnected manually,
     40by removing and re-adding the input-barrier object, for instance
     41with the help of the HMP monitor::
     42
     43    (qemu) object_del barrier0
     44    (qemu) object_add input-barrier,id=barrier0,name=VM-1