aboutsummaryrefslogtreecommitdiff
path: root/hw/eepro100.c
diff options
context:
space:
mode:
authorStefan Weil <weil@mail.berlios.de>2011-04-30 22:40:13 +0200
committerMichael S. Tsirkin <mst@redhat.com>2011-05-05 16:05:43 +0300
commit072476ea08dcffe89b0bd6e2053f01dd89c54861 (patch)
tree5a947d921bb7fdd887f67cef7e1dfcde2b658713 /hw/eepro100.c
parenta39bd01713b9e4e12bffe835b95edbc0ea5f0b16 (diff)
downloadqemu-072476ea08dcffe89b0bd6e2053f01dd89c54861.zip
qemu-072476ea08dcffe89b0bd6e2053f01dd89c54861.tar.gz
qemu-072476ea08dcffe89b0bd6e2053f01dd89c54861.tar.bz2
eepro100: Support 32 bit read/write access to flash register
Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/eepro100.c')
-rw-r--r--hw/eepro100.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/hw/eepro100.c b/hw/eepro100.c
index 726d402..1781c8e 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -1443,6 +1443,10 @@ static uint32_t eepro100_read4(EEPRO100State * s, uint32_t addr)
val = eepro100_read_port(s);
TRACE(OTHER, logout("addr=%s val=0x%08x\n", regname(addr), val));
break;
+ case SCBflash:
+ val = eepro100_read_eeprom(s);
+ TRACE(OTHER, logout("addr=%s val=0x%08x\n", regname(addr), val));
+ break;
case SCBCtrlMDI:
val = eepro100_read_mdi(s);
break;
@@ -1579,6 +1583,11 @@ static void eepro100_write4(EEPRO100State * s, uint32_t addr, uint32_t val)
TRACE(OTHER, logout("addr=%s val=0x%08x\n", regname(addr), val));
eepro100_write_port(s);
break;
+ case SCBflash:
+ TRACE(OTHER, logout("addr=%s val=0x%08x\n", regname(addr), val));
+ val = val >> 16;
+ eepro100_write_eeprom(s->eeprom, val);
+ break;
case SCBCtrlMDI:
TRACE(OTHER, logout("addr=%s val=0x%08x\n", regname(addr), val));
eepro100_write_mdi(s);