Skip to content

8.1.0-rc1 Regression: donkey in qemu advent calender 03/2020 has graphical artifacts

Host environment

  • Operating system: Debian Linux 12
  • OS/kernel version: Linux rodrigo 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.38-1 (2023-07-14) x86_64 GNU/Linux
  • Architecture: x86_64
  • QEMU flavor: qemu-system-i386
  • QEMU version: 8.1.0-rc1 (commit 59213461)
  • QEMU command line:
    qemu-system-i386 -m 16M -drive if=ide,format=qcow2,file=gwbasic.qcow2

Emulated/Virtualized environment

  • Operating system: FreeDos
  • OS/kernel version: FreeDos
  • Architecture: x86

Description of problem

The game donkey shows graphical artifacts on playing. On changing the lane the car remains on its previous land as well. A git bisect identified commit 59213461 as culprit

Steps to reproduce

  1. Download http://qemu-advent-calendar.org/2020/download/gw-basic.tar.xz
  2. Start VM using command
    qemu-system-i386 -m 16M -drive if=ide,format=qcow2,file=gwbasic.qcow2
  3. Wait for GW-Basic prompt and enter (see README): F3 - donkey - - F2
  4. Play to see graphical artifacts

Additional information

$ git bisect bad
592134617c98f37b8b39c6dd684e5a1832c071d2 is the first bad commit
commit 592134617c98f37b8b39c6dd684e5a1832c071d2
Author: Richard Henderson
Date:   Sun Oct 30 12:07:32 2022 +1100

    accel/tcg: Reorg system mode store helpers
    
    Instead of trying to unify all operations on uint64_t, use
    mmu_lookup() to perform the basic tlb hit and resolution.
    Create individual functions to handle access by size.
    
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

 accel/tcg/cputlb.c | 394 +++++++++++++++++++++++++----------------------------
 1 file changed, 186 insertions(+), 208 deletions(-)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information