This series generalizes the ds1338 model to also support the ds1375. As previously, only the time of day registers are modeled. This series (v3) is a minor iteration on the previous v2.
No changes were made to the unittests. Summary of changes by patch name in response to comments by Peter Maydell. = timer: ds1338 use registerfields.h Changed as requested to be more direct translation. = timer: ds1338 persist 12-hour mode selection On 04/12/2018 11:03 AM, Peter Maydell wrote: > The code change here looks like a reasonable no-behaviour-change > simplification of the code, but it doesn't match up with > the description in the commit message ? While it isn't clear from the diff, the condtional involved has 3 arms, only two of these were updating 's->nvram[]'. The arm handling control register writes is the one which didn't. So attempts to set the 12 hour mode bit were ignored, and subsequent reads always returned 24 hour time. So this is a behaviour change, and a minor bug fix. = timer: ds1338 clarify HOUR handling = timer: ds1338 fix wday_offset handling These two are combined as requested. = timer: generalize ds1338 The change to CTRL register handling is split out as a seperate patch "timer: ds1338 remove vestige of un-modeled OSF" = timer: ds-rtc handle CENTURY bit Changed as suggested. Michael Davidsaver (14): tests: more thorough tests of ds1338 timer: ds1338 use registerfields.h timer: ds1338 persist 12-hour mode selection timer: ds1338 clarify HOUR handling timer: ds1338 change write handling and fix wday_offset handling tests: ds-rtc test 12 hour mode tests: ds-rtc test wday offset timer: rename ds1338 -> dsrtc timer: rename file ds1338.c -> ds-rtc.c timer: ds1338 remove vestige of un-modeled OSF timer: generalize ds1338 timer: ds-rtc handle CENTURY bit timer: ds-rtc model ds1375 tests: drop ds1338-test default-configs/arm-softmmu.mak | 2 +- hw/timer/Makefile.objs | 2 +- hw/timer/ds-rtc.c | 335 ++++++++++++++++++++++++++++++++++++++++ hw/timer/ds1338.c | 239 ---------------------------- tests/Makefile.include | 6 +- tests/ds-rtc-common.h | 71 +++++++++ tests/ds-rtc-current-test.c | 66 ++++++++ tests/ds-rtc-set-test.c | 171 ++++++++++++++++++++ tests/ds1338-test.c | 75 --------- 9 files changed, 649 insertions(+), 318 deletions(-) create mode 100644 hw/timer/ds-rtc.c delete mode 100644 hw/timer/ds1338.c create mode 100644 tests/ds-rtc-common.h create mode 100644 tests/ds-rtc-current-test.c create mode 100644 tests/ds-rtc-set-test.c delete mode 100644 tests/ds1338-test.c -- 2.11.0