Add a DesignWare APB timer model to QEMU, wire it to the K230 board,
and provide qtest coverage for the timer behavior.
Changes in v5:
- Rename DW_APB_TIMER_CONTROL_INT to
DW_APB_TIMER_CONTROL_INT_MASK.
- Fix the K230 timer clock frequency from 6.25 MHz to 50 MHz.
- Wrap the qtest commit message at about 70 characters per line.
- Register both K230 qtests directly under CONFIG_K230.
Testing:
- QEMU build passed in the Debian container.
- tests/qtest/k230-dwapb-timer-test: 8/8 passed.
- Mainline Linux 7.2.0-rc3 booted successfully.
- DW APB timer registered at 50 MHz; PLIC timer interrupt counts increased.
raoyi (3):
hw/timer: add DesignWare APB timer model
hw/riscv: add DesignWare APB timer to K230 board
tests/qtest: add k230 dwapb timer test
MAINTAINERS | 3 +
hw/riscv/Kconfig | 1 +
hw/riscv/k230.c | 33 ++-
hw/timer/Kconfig | 4 +
hw/timer/dw-apb-timer.c | 376 ++++++++++++++++++++++++++++
hw/timer/meson.build | 1 +
hw/timer/trace-events | 8 +
include/hw/riscv/k230.h | 8 +
include/hw/timer/dw-apb-timer.h | 40 +++
tests/qtest/k230-dwapb-timer-test.c | 274 ++++++++++++++++++++
tests/qtest/meson.build | 3 +-
11 files changed, 747 insertions(+), 4 deletions(-)
create mode 100644 hw/timer/dw-apb-timer.c
create mode 100644 include/hw/timer/dw-apb-timer.h
create mode 100644 tests/qtest/k230-dwapb-timer-test.c
base-commit: f893c46c3931b3684d235d221bf8b7844ddbf1d7
--
2.53.0