This series generalizes the ds1338 model to also support the ds1375. As previously, only the time of day registers are modeled. This series is largely a do-over wrt. my previous series. This time I started with incremental changes from the existing ds1338 model, and only add support for the ds1375 (which I care about).
I've added a more thorough test of the time of day function, covering reading and setting in both 12 and 24 hour mode. This corrects two (practically inconsequential) bugs with the handling of 12 hour mode, and day of the week. In an attempt to address concerns about false positive test failures in CI builds, instead of comparing the parts of 'struct tm' seperately I've changed the logic of the tests to compare the difference between the expected and actual time in seconds. The threshold is 30 seconds when run with 'gtester -m quick', and 1 second otherwise. Comparision of day of the week is still exact, so there is a chance of a false positive if the test is running across midnight UTC. 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 tests: ds-rtc test 12 hour mode timer: ds1338 fix wday_offset handling tests: ds-rtc test wday offset timer: rename ds1338 -> dsrtc timer: rename file ds1338.c -> ds-rtc.c 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 | 331 ++++++++++++++++++++++++++++++++++++++++ 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, 645 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