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.

new:
* "refactor with hex-subsys": virt/DSP machines build the same core subsys,
so extract it into hw/hexagon/hex-subsys.c.  CPUs are now under a 
TYPE_CPU_CLUSTER.
* "extract get_reg_value/set_reg_value stubs": routes globalreg
r/w through accessors.
* virt machine gains virtio-mmio transports
* addl hexagon-arch-tests enabled

l2vic changes:
* Removed the QemuMutex "active"; the device runs under the BQL.
* Dropped the QEMU_ALIGNED(16) attribute from the bitmaps; no
longer needed now that access goes through the bitmap32 helpers.
* Collapsed int_group_n0..int_group_n3 into an int_group_n[4] array.
* Moved the reg-offset macros and L2VIC_INTERRUPT_MAX from hdr to src
* Switched to DEFINE_TYPES()
* Renamed the vid0 field to vid

globalreg changes:
* VID/VID1 and TIMERLO/TIMERHI now go through get_reg_value/
set_reg_value, directing to L2VIC and QTimer respectively.
* l2vic and qtimer links are checked at realization

wiring changes:
* Renamed l2vic_dev to l2vic
* Reworded the connect-l2vic commit message

qtimer changes:
* Renamed the "freq" property to "freq-hz" and the field to freq_hz
* Per-frame frequency now inherits the device freq_hz property,
so it is overridable.
* Added .impl = {4, 4} to qct_qtimer_ac_ops.
* Added qct_qtimer_unrealize().
* demux uses (QCT_QTIMER_TIMER_FRAME_ELTS - 1) * stride instead of a
hardcoded 0xf * stride.
* getters take a const QctQtimerInterface *.
* Switched to DEFINE_TYPES().
* Removed per-frame freq_hz, these all read-through to the timer's freq.

test changes:
* qct-qtimer qtest: the view-region base is now taken per-machine from
the machine config rather than a hardcoded addr, and
the redundant guard around the assert is removed.

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 (13):
  hw/hexagon: refactor with hex-subsys
  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             |  28 +
 include/hw/hexagon/hexagon.h                |   6 +
 include/hw/hexagon/hexagon_globalreg.h      |   8 +
 include/hw/hexagon/virt.h                   |   1 -
 include/hw/intc/hex-l2vic.h                 |  63 ++
 include/hw/timer/qct-qtimer.h               |  43 ++
 include/qemu/bitops.h                       |  30 +-
 target/hexagon/cpu.h                        |   2 +
 hw/hexagon/hex-subsys.c                     | 169 +++++
 hw/hexagon/hexagon_dsp.c                    |  40 +-
 hw/hexagon/hexagon_globalreg.c              |  65 +-
 hw/hexagon/virt.c                           | 127 ++--
 hw/intc/hex-l2vic.c                         | 536 ++++++++++++++++
 hw/timer/qct-qtimer.c                       | 664 ++++++++++++++++++++
 target/hexagon/cpu.c                        |   2 +
 target/hexagon/op_helper.c                  |  16 +-
 tests/qtest/l2vic-test.c                    | 221 +++++++
 tests/qtest/qct-qtimer-test.c               | 239 +++++++
 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, 2293 insertions(+), 93 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

Reply via email to