>From 84f2d6ecf89c1dbd5f83676251aa2f646e2270b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Sun, 9 Aug 2009 21:39:36 +0200 Subject: [PATCH 2/4] Hack to make sure that drivers like AppleIntel8255x will not meddle with the RU/CU state when the ACK the interrupt with a 16 bit write. --- hw/eepro100.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/hw/eepro100.c b/hw/eepro100.c index bf5d920..f619d36 100644 --- a/hw/eepro100.c +++ b/hw/eepro100.c @@ -1249,7 +1249,11 @@ static void eepro100_write1(EEPRO100State * s, uint32_t addr, uint8_t val) static void eepro100_write2(EEPRO100State * s, uint32_t addr, uint16_t val) { if (addr <= sizeof(s->mem) - sizeof(val)) { + ru_state_t rtmp = get_ru_state(s); + cu_state_t ctmp = get_cu_state(s); memcpy(&s->mem[addr], &val, sizeof(val)); + set_cu_state(s, ctmp); + set_ru_state(s, rtmp); } logout("addr=%s val=0x%04x\n", regname(addr), val); -- 1.6.4