PL050 KMIDATA register does not reset static uint32_t pl050_read(void *opaque, target_phys_addr_t offset){ ... case 2: /* KMIDATA */ if (s->pending) s->last = ps2_read_data(s->dev); return s->last; } When the receive queue is empty (s->pending is false), is the KMIDATA register supposed to be reset to 0x00? In the current implementation, the KMIDATA does not reverse its value after interrupt is lowered. On 26 July 2015 at 19:16, T-T Yu