Testing with h2 and linux has uncovered some bugs in the way the locks are
implemented and privileged instructions.
Note that this will be rebased to make adjustments when the *next_pc removals
land. See https://lore.kernel.org/qemu-devel/20261008211005.1853542-1-brian.cain@oss.qualcomm.com/
Brian Cain (6):
target/hexagon: check privilege mode for system instructions
target/hexagon: wake K0 and TLB lock waiters
target/hexagon: fix stale PC on k0lock wait resume
target/hexagon: halt on tlblock when the TLB lock is contended
target/hexagon: set a started thread's enable bit when start retires
tests/functional/hexagon: add MiniVM, lock tests
target/hexagon/cpu.h | 1 +
target/hexagon/translate.h | 1 +
target/hexagon/cpu.c | 2 ++
target/hexagon/cpu_helper.c | 6 ++++
target/hexagon/hex_interrupts.c | 8 +++--
target/hexagon/hex_mmu.c | 7 ++++
target/hexagon/op_helper.c | 3 ++
target/hexagon/translate.c | 15 ++++++++
target/hexagon/gen_tcg_funcs.py | 16 +++++----
tests/functional/hexagon/meson.build | 1 +
tests/functional/hexagon/test_minivm.py | 43 +++++++++++++++++++++++
tests/functional/hexagon/test_systests.py | 3 ++
12 files changed, 98 insertions(+), 8 deletions(-)
create mode 100755 tests/functional/hexagon/test_minivm.py
--
2.34.1