qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 47db24: ps2: use the whole ps2 buffer but kee


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 47db24: ps2: use the whole ps2 buffer but keep queue size
Date: Fri, 10 Sep 2021 08:19:10 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 47db243233cdf9cafc5148e2026aa55b119a59ec
      
https://github.com/qemu/qemu/commit/47db243233cdf9cafc5148e2026aa55b119a59ec
  Author: Volker Rümelin <vr_qemu@t-online.de>
  Date:   2021-09-10 (Fri, 10 Sep 2021)

  Changed paths:
    M hw/input/ps2.c

  Log Message:
  -----------
  ps2: use the whole ps2 buffer but keep queue size

Extend the used ps2 buffer size to the available buffer size but
keep the maximum ps2 queue size.

The next patch needs a few bytes of the larger buffer size.

Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20210810133258.8231-1-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 9e24b2dd77da42bbba39ef5c44c757132017910b
      
https://github.com/qemu/qemu/commit/9e24b2dd77da42bbba39ef5c44c757132017910b
  Author: Volker Rümelin <vr_qemu@t-online.de>
  Date:   2021-09-10 (Fri, 10 Sep 2021)

  Changed paths:
    M hw/input/ps2.c

  Log Message:
  -----------
  ps2: use a separate keyboard command reply queue

A PS/2 keyboard has a separate command reply queue that is
independent of the key queue. This prevents that command replies
and keyboard input mix. Keyboard command replies take precedence
over queued keystrokes. A new keyboard command removes any
remaining command replies from the command reply queue.

Implement a separate keyboard command reply queue and clear the
command reply queue before command execution. This brings the
PS/2 keyboard emulation much closer to a real PS/2 keyboard.

The command reply queue is located in a few free bytes directly
in front of the scancode queue. Because the scancode queue has
a maximum length of 16 bytes there are 240 bytes available for
the command reply queue. At the moment only a maximum of 3 bytes
are required. For compatibility reasons rptr, wptr and count kept
their function. rptr is the start, wptr is the end and count is
the length of the entire keyboard queue. The new variable cwptr
is the end of the command reply queue or -1 if the queue is
empty. To write to the command reply queue, rptr is moved
backward by the number of required bytes and the command replies
are written to the buffer starting at the new rptr position.
After writing, cwptr is at the old rptr position. Copying cwptr
to rptr clears the command reply queue. The command reply queue
can't overflow because each new keyboard command clears the
command reply queue.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/501
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/502
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20210810133258.8231-2-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 4e9bddcbaa74e2463f0a79350fea5311c9890982
      
https://github.com/qemu/qemu/commit/4e9bddcbaa74e2463f0a79350fea5311c9890982
  Author: Volker Rümelin <vr_qemu@t-online.de>
  Date:   2021-09-10 (Fri, 10 Sep 2021)

  Changed paths:
    M hw/input/ps2.c

  Log Message:
  -----------
  ps2: migration support for command reply queue

Add migration support for the PS/2 keyboard command reply queue.

Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20210810133258.8231-3-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 3bb60406639d5c4cf804b97759a525d2e6184e3e
      
https://github.com/qemu/qemu/commit/3bb60406639d5c4cf804b97759a525d2e6184e3e
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-09-10 (Fri, 10 Sep 2021)

  Changed paths:
    M hw/input/ps2.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/kraxel/tags/input-20210910-pull-request' into staging

input: ps2 fixes.

# gpg: Signature made Fri 10 Sep 2021 11:22:47 BST
# gpg:                using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/input-20210910-pull-request:
  ps2: migration support for command reply queue
  ps2: use a separate keyboard command reply queue
  ps2: use the whole ps2 buffer but keep queue size

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/6d1272d3ef81...3bb60406639d



reply via email to

[Prev in Thread] Current Thread [Next in Thread]