Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: be0513a59a96411db919ca5e69bcc1363e72aaa7
      
https://github.com/tianocore/edk2/commit/be0513a59a96411db919ca5e69bcc1363e72aaa7
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.c

  Log Message:
  -----------
  OvmfPkg/VirtioKeyboardDxe: Fix protocol uninstall in BindingStop

UninstallMultipleProtocolInterfaces() takes the handle by value rather
than pointer.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: a507ccdc6a3d33d2a32360cd44e07d2451797b3f
      
https://github.com/tianocore/edk2/commit/a507ccdc6a3d33d2a32360cd44e07d2451797b3f
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.c

  Log Message:
  -----------
  OvmfPkg/VirtioKeyboardDxe: Fix RingMap check in UninitRing

UnmapSharedBuffer() should be called on a valid mapping. Fix the
inverted condition.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: 2c6e9e13d692f2581509ecf587b992687afcf533
      
https://github.com/tianocore/edk2/commit/2c6e9e13d692f2581509ecf587b992687afcf533
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.c

  Log Message:
  -----------
  OvmfPkg/VirtioKeyboardDxe: Close WaitForKey(Ex) events in Uninit()

VirtioKeyboardInit() creates Txt.WaitForKey, TxtEx.WaitForKeyEx and
KeyReadTimer events, but VirtioKeyboardUninit() currently only closes
KeyReadTimer. Close the other two events to fix the leak.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: 0a74b3a4de0ee98e6a5ad73d328c86bea04bada8
      
https://github.com/tianocore/edk2/commit/0a74b3a4de0ee98e6a5ad73d328c86bea04bada8
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.c
    M OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.h

  Log Message:
  -----------
  OvmfPkg/VirtioKeyboardDxe: Drop unused functions and variables

VirtioKeyboardRingHasBuffer() and VIRTIO_KBD_DEV.KeyNotifyTimer are
defined but never called, drop them.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: ff355e4bddf2a85b428dfbef8939330cc685a9fc
      
https://github.com/tianocore/edk2/commit/ff355e4bddf2a85b428dfbef8939330cc685a9fc
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.c

  Log Message:
  -----------
  OvmfPkg/VirtioKeyboardDxe: Fix typo in IsKeyRegistered()

Regsiter -> Register

No functional change.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: a1b3a6bd1fec6d37e3d9866e818510b5687e6659
      
https://github.com/tianocore/edk2/commit/a1b3a6bd1fec6d37e3d9866e818510b5687e6659
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.c
    M OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.h

  Log Message:
  -----------
  OvmfPkg/VirtioKeyboardDxe: Simplify WaitForKey event handling

Both WaitForKey and WaitForKeyEx event handler runs the same logic in
VirtioKeyboardWaitForKey(). Pass the VIRTIO_KBD_DEV pointer directly
as the event notify context so one function serves both events.

Also drop the erroneous assignment of VirtioKeyboardWaitForKey() to
Dev->Txt.WaitForKey, which stored a function pointer into the event
handle field and was immediately overwritten by CreateEvent().

No functional change.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: 7cc22c4b5baff57ef9f9b1ff3768cac193c8d6f7
      
https://github.com/tianocore/edk2/commit/7cc22c4b5baff57ef9f9b1ff3768cac193c8d6f7
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.c
    M OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.h

  Log Message:
  -----------
  OvmfPkg/VirtioKeyboardDxe: Declare internal functions as STATIC

The SimpleTextIn(Ex) protocol callbacks and IsKeyRegistered() are only
used within VirtioKeyboard.c. Declare them STATIC and remove the
declarations in VirtioKeyboard.h.

No functional change.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: afe4360dd27a9dd27db561e6df5f3d328cfc094e
      
https://github.com/tianocore/edk2/commit/afe4360dd27a9dd27db561e6df5f3d328cfc094e
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M ArmVirtPkg/ArmVirtQemu.dsc
    M OvmfPkg/Bhyve/BhyveX64.dsc
    M OvmfPkg/Bhyve/BhyveX64.fdf
    M OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
    M OvmfPkg/OvmfPkgIa32X64.dsc
    M OvmfPkg/OvmfPkgIa32X64.fdf
    M OvmfPkg/OvmfPkgX64.dsc
    M OvmfPkg/OvmfPkgX64.fdf
    A OvmfPkg/VirtioInputDxe/VirtioInput.c
    A OvmfPkg/VirtioInputDxe/VirtioInput.h
    A OvmfPkg/VirtioInputDxe/VirtioInput.inf
    A OvmfPkg/VirtioInputDxe/VirtioKeyCodes.h
    R OvmfPkg/VirtioKeyboardDxe/VirtioKeyCodes.h
    R OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.c
    R OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.h
    R OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.inf

  Log Message:
  -----------
  OvmfPkg, ArmVirtPkg: Rename VirtioKeyboardDxe to VirtioInputDxe

The virtio input device can be used to create virtual human interface
devices such as mice and tablets, not just keyboards. Rename
VirtioKeyboardDxe to VirtioInputDxe for adding virtio-mouse and
virtio-tablet support in following commits.

No functional change.

Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: ae92eb78f6a45294a1c3dc637f69745e2f969bab
      
https://github.com/tianocore/edk2/commit/ae92eb78f6a45294a1c3dc637f69745e2f969bab
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    A OvmfPkg/Include/IndustryStandard/VirtioInput.h
    M OvmfPkg/VirtioInputDxe/VirtioInput.c
    M OvmfPkg/VirtioInputDxe/VirtioInput.h

  Log Message:
  -----------
  OvmfPkg/IndustryStandard: Add type definitions for virtio input device

Add IndustryStandard/VirtioInput.h for virtio input device type
definitions defined in virtio 1.1 specification.
https://docs.oasis-open.org/virtio/virtio/v1.1/cs01/virtio-v1.1-cs01.html#x1-3390008

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: 0fc04cff3b211b979cb3b5f1602d1c6c5aad3bfe
      
https://github.com/tianocore/edk2/commit/0fc04cff3b211b979cb3b5f1602d1c6c5aad3bfe
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioInputDxe/VirtioInput.c

  Log Message:
  -----------
  OvmfPkg/VirtioInputDxe: Fix Reset() function to only flush input state

According to UEFI specification, "the implementation of Reset is
required to clear the contents of any input queues resident in memory
used for buffering keystroke data and put the input stream in a known
empty state". So it should only reset the internal status of keyboard
driver, not the driver itself.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: d0c42935e22c8678aa15a79e0fe80294a115fcd4
      
https://github.com/tianocore/edk2/commit/d0c42935e22c8678aa15a79e0fe80294a115fcd4
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioInputDxe/VirtioInput.c
    M OvmfPkg/VirtioInputDxe/VirtioInput.h

  Log Message:
  -----------
  OvmfPkg/VirtioInputDxe: Add keyboard capability detection

Current driver produces the EFI_SIMPLE_TEXT_INPUT[_EX]_PROTOCOL
interfaces on every virtio-input device it binds. A virtio-input
device may however be a pointer device (mouse or tablet) that reports
no keyboard keys, in which case the keyboard protocols should not be
installed.

Add VirtioInputHasKeyboard() to check whether the virtio-input device
implements a keyboard by scanning the EV_KEY capability bitmap to see
if any keycodes between [0, MAX_KEYBOARD_CODE] is supported. A helper
function VirtioInputConfigQuerySize() is also added for fetching the
size of a virtio-input configuration sub-selection.

VirtioInputInit() now stores the result in Dev->HasKeyboard and fails
with EFI_UNSUPPORTED when no keyboard is present.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: fd63e805088df7655f038a03a28f861379f02376
      
https://github.com/tianocore/edk2/commit/fd63e805088df7655f038a03a28f861379f02376
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioInputDxe/VirtioInput.c
    M OvmfPkg/VirtioInputDxe/VirtioInput.h
    M OvmfPkg/VirtioInputDxe/VirtioInput.inf
    A OvmfPkg/VirtioInputDxe/VirtioKeyboard.c

  Log Message:
  -----------
  OvmfPkg/VirtioInputDxe: Split keyboard logic into VirtioKeyboard.c

Move all keyboard-specific code including probing, initialization,
keycode translation and Simple Text Input (Ex) protocol implementation
into new VirtioKeyboard.c. VirtioInput.c retains only the shared virtio
transport, the input poll timer and the event dispatcher.

This is also the groundwork for the mouse and tablet support added in
later commits.

No functional change.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: efdbf3c355c9e329bf57fec75744b68f12c1ee81
      
https://github.com/tianocore/edk2/commit/efdbf3c355c9e329bf57fec75744b68f12c1ee81
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioInputDxe/VirtioInput.c
    M OvmfPkg/VirtioInputDxe/VirtioInput.h
    M OvmfPkg/VirtioInputDxe/VirtioInput.inf
    M OvmfPkg/VirtioInputDxe/VirtioKeyCodes.h
    A OvmfPkg/VirtioInputDxe/VirtioMouse.c

  Log Message:
  -----------
  OvmfPkg/VirtioInputDxe: Add virtio mouse support

Virtio mouse devices report relative movements (EV_REL) and button
inputs. Add VirtioMouse.c implementing mouse capability probing,
EFI_SIMPLE_POINTER_PROTOCOL implementation and event handler that
converts VIRTIO_INPUT_EVENT into EFI_SIMPLE_POINTER_STATE.

The shared event dispatcher in VirtioInput.c now routes EV_REL events
and EV_KEY codes above MAX_KEYBOARD_CODE to the mouse handler, while
keycodes in [0, MAX_KEYBOARD_CODE] still go to the keyboard. A device
is now accepted when it provides a keyboard or a mouse, and the
EFI_SIMPLE_POINTER_PROTOCOL is installed on mouse-capable devices.

Signed-off-by: Jiaqing Zhao <[email protected]>


  Commit: 9e3e68218cf60b3689a6481f27e6511ff06aaf6f
      
https://github.com/tianocore/edk2/commit/9e3e68218cf60b3689a6481f27e6511ff06aaf6f
  Author: Jiaqing Zhao <[email protected]>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M OvmfPkg/VirtioInputDxe/VirtioInput.c
    M OvmfPkg/VirtioInputDxe/VirtioInput.h
    M OvmfPkg/VirtioInputDxe/VirtioInput.inf
    M OvmfPkg/VirtioInputDxe/VirtioKeyCodes.h
    A OvmfPkg/VirtioInputDxe/VirtioTablet.c

  Log Message:
  -----------
  OvmfPkg/VirtioInputDxe: Add virtio tablet support

Virtio tablet devices report absolute coordinates (EV_ABS) and button
inputs. Add VirtioTablet.c implementing tablet capability probing,
EFI_ABSOLUTE_POINTER_PROTOCOL implementation and event handler that
converts VIRTIO_INPUT_EVENT into EFI_ABSOLUTE_POINTER_STATE.

The axis ranges advertised by EFI_ABSOLUTE_POINTER_MODE are read from
the device's abs_info for ABS_X and ABS_Y.

The shared event dispatcher in VirtioInput.c now routes EV_ABS events
and EV_KEY codes above MAX_KEYBOARD_CODE to the tablet handler.

Signed-off-by: Jiaqing Zhao <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/1506c6da7bb6...9e3e68218cf6

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to