When I was reading 'qemu/hw/timer/m48t59.c'(Line:328) and run with `make check-qtest-ppc`, I found when write an invalid value 0xc to address 0x1FFF, `from_bcd` return 12 instead of raising an exception(or error).
"""(qemu/hw/timer/m48t59.c) case 0x1FFF: case 0x07FF: /* year */ tmp = from_bcd(val); if (tmp >= 0 && tmp <= 99) { """ """(qemu/include/qemu/bcd.h) /* Convert a byte between binary and BCD. */ static inline uint8_t to_bcd(uint8_t val) { return ((val / 10) << 4) | (val % 10); } static inline uint8_t from_bcd(uint8_t val) { return ((val >> 4) * 10) + (val & 0x0f); } """ Su Hang