[PATCH v5 00/18] Add hexagon l2vic, qtimer devices
Brian Cain <[email protected]> Wed, 5 Aug 2026 21:27:05 -0700
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
The previously independent threads for l2vic and qtimer are now combined,
which seems to make the most sense because qtimer testing effectively
depends on l2vic.
Changes in v5:
- access-control checks factored out into access_ok()
- qct-qtimer.c moved from specific_ss to system_ss
- cnttid_{0,1} values derived from nr_frames
- test coverage for access control, irqs
l2vic v4: https://lore.kernel.org/qemu-devel/[email protected]/
l2vic v3: https://lore.kernel.org/qemu-devel/[email protected]/
l2vic v2: https://lore.kernel.org/qemu-devel/[email protected]/
l2vic v1: https://lore.kernel.org/qemu-devel/[email protected]/
qtimer v1: https://lore.kernel.org/qemu-devel/[email protected]/
Brian Cain (17):
hw/hexagon: add hex-subsys
hw/hexagon: move VTCM to the common machine state
hw/hexagon: move global registers to hex-subsys
hw/hexagon: move the TLB to hex-subsys
hw/hexagon: group the CPUs in a cluster
bitops.h: Add find_first_bit32()
hw/hexagon: extract get_reg_value/set_reg_value stubs in globalreg
hw/hexagon: connect l2vic device
hw/hexagon/virt: instantiate virtio-mmio transports
hw/hexagon/virt: add l2vic interrupt-controller and virtio-mmio FDT
nodes
hw/hexagon/virt: connect pl011 UART interrupt
tests/qtest: add L2VIC qtest
tests/functional/hexagon: add arch_tests functional test
hw/timer: Add QCT QTimer device model
hw/hexagon: connect qtimer device
tests/qtest: add qct-qtimer qtest
tests/functional/hexagon: enable more arch_tests cases
Sid Manning (1):
hw/intc: Add l2vic interrupt controller
MAINTAINERS | 7 +
docs/devel/hexagon-l2vic.rst | 55 ++
docs/devel/index-internals.rst | 1 +
include/hw/hexagon/hex-subsys.h | 32 +
include/hw/hexagon/hexagon.h | 6 +
include/hw/hexagon/hexagon_globalreg.h | 8 +
include/hw/hexagon/virt.h | 4 +-
include/hw/intc/hex-l2vic.h | 61 ++
include/hw/timer/qct-qtimer.h | 43 ++
include/qemu/bitops.h | 30 +-
target/hexagon/cpu.h | 2 +
hw/hexagon/hex-subsys.c | 175 +++++
hw/hexagon/hexagon_dsp.c | 45 +-
hw/hexagon/hexagon_globalreg.c | 65 +-
hw/hexagon/virt.c | 130 ++--
hw/intc/hex-l2vic.c | 556 ++++++++++++++++
hw/timer/qct-qtimer.c | 667 ++++++++++++++++++++
target/hexagon/cpu.c | 2 +
target/hexagon/op_helper.c | 16 +-
tests/qtest/l2vic-test.c | 249 ++++++++
tests/qtest/qct-qtimer-test.c | 385 +++++++++++
hw/hexagon/Kconfig | 3 +
hw/hexagon/meson.build | 1 +
hw/intc/Kconfig | 3 +
hw/intc/meson.build | 2 +
hw/intc/trace-events | 4 +
hw/timer/Kconfig | 3 +
hw/timer/meson.build | 2 +
hw/timer/trace-events | 5 +
tests/functional/hexagon/test_arch_tests.py | 38 ++
tests/qtest/meson.build | 2 +-
31 files changed, 2512 insertions(+), 90 deletions(-)
create mode 100644 docs/devel/hexagon-l2vic.rst
create mode 100644 include/hw/hexagon/hex-subsys.h
create mode 100644 include/hw/intc/hex-l2vic.h
create mode 100644 include/hw/timer/qct-qtimer.h
create mode 100644 hw/hexagon/hex-subsys.c
create mode 100644 hw/intc/hex-l2vic.c
create mode 100644 hw/timer/qct-qtimer.c
create mode 100644 tests/qtest/l2vic-test.c
create mode 100644 tests/qtest/qct-qtimer-test.c
--
2.34.1