Mesa (main): freedreno/afuc: Add emulator mode to afuc-disasm

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 1 00:30:14 UTC 2021


Module: Mesa
Branch: main
Commit: bba61cef38b51b1c83db51d2965c31445cdfe142
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bba61cef38b51b1c83db51d2965c31445cdfe142

Author: Rob Clark <robdclark at chromium.org>
Date:   Sun May 16 13:09:29 2021 -0700

freedreno/afuc: Add emulator mode to afuc-disasm

This is an (at least somewhat complete) logical emulator of the a6xx SQE
that lets us step through firmware execution (bootstrap, cmdstream pkt
handling, etc).  It lets us poke at various fw visible state and run
through pm4 packet(s) to better understand what the fw is doing when it
handles various packets.

Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10944>

---

 src/freedreno/afuc/afuc.h      |  17 ++
 src/freedreno/afuc/disasm.c    |  44 +++-
 src/freedreno/afuc/emu-ds.c    |  91 +++++++
 src/freedreno/afuc/emu-regs.c  | 371 ++++++++++++++++++++++++++++
 src/freedreno/afuc/emu-ui.c    | 531 +++++++++++++++++++++++++++++++++++++++++
 src/freedreno/afuc/emu.c       | 444 ++++++++++++++++++++++++++++++++++
 src/freedreno/afuc/emu.h       | 277 +++++++++++++++++++++
 src/freedreno/afuc/meson.build |   8 +-
 src/freedreno/afuc/util.c      |  50 ++++
 src/freedreno/afuc/util.h      |   3 +
 10 files changed, 1829 insertions(+), 7 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=bba61cef38b51b1c83db51d2965c31445cdfe142


More information about the mesa-commit mailing list