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/[email protected]/ In v2: - now rebased after *next_pc state removal, hex_tlb_lock() now receives the packet PC, records that PC before halting the CPU, then exits TB. - minivm test now preserves sparse test_mmu file in the archive, so extraction is fast, disk space required is small. Removed skipBigDataTest filter and subTest() hack. v1: https://lore.kernel.org/qemu-devel/[email protected]/ Brian Cain (5): target/hexagon: check privilege mode for system instructions target/hexagon: wake K0 and TLB lock waiters 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 | 6 +++ target/hexagon/op_helper.c | 2 + target/hexagon/translate.c | 15 +++++++ target/hexagon/gen_tcg_funcs.py | 16 +++++--- tests/functional/hexagon/meson.build | 1 + tests/functional/hexagon/test_minivm.py | 48 +++++++++++++++++++++++ tests/functional/hexagon/test_systests.py | 3 ++ 12 files changed, 101 insertions(+), 8 deletions(-) create mode 100755 tests/functional/hexagon/test_minivm.py -- 2.34.1
