This series adds RTC device to QEMU RISC-V virt machine. We have selected Goldfish RTC device model for this. It's a pretty simple synthetic device with few MMIO registers and no dependency external clock. The driver for Goldfish RTC is already available in Linux so we just need to enable it in Kconfig for RISCV and also update Linux defconfigs.
We have tested this series with Linux-5.4-rc4 plus defconfig changes available in 'goldfish_rtc_v2' branch of: https://github.com/avpatel/linux.git Changes since v3: - Address all nit comments from Alistair Changes since v2: - Rebased on RTC code refactoring Changes since v1: - Implemented VMState save/restore callbacks Anup Patel (2): hw: rtc: Add Goldfish RTC device riscv: virt: Use Goldfish RTC device hw/riscv/Kconfig | 1 + hw/riscv/virt.c | 15 ++ hw/rtc/Kconfig | 3 + hw/rtc/Makefile.objs | 1 + hw/rtc/goldfish_rtc.c | 288 ++++++++++++++++++++++++++++++++ hw/rtc/trace-events | 4 + include/hw/riscv/virt.h | 2 + include/hw/timer/goldfish_rtc.h | 46 +++++ 8 files changed, 360 insertions(+) create mode 100644 hw/rtc/goldfish_rtc.c create mode 100644 include/hw/timer/goldfish_rtc.h -- 2.17.1