diff options
author | Bjoern A. Zeeb <baz21@cam.ac.uk> | 2017-02-09 18:59:55 -0500 |
---|---|---|
committer | Bjoern A. Zeeb <baz21@cam.ac.uk> | 2017-02-09 18:59:55 -0500 |
commit | d728f6786b26a66816f1d4ae0abdefd01e5ec3c4 (patch) | |
tree | 2b6fc19794cf2ea18ea9a749244efd4be4717f80 /src/dev/net/i8254xGBe.cc | |
parent | f0786704db90b0020066d19652886b9311516b45 (diff) | |
download | gem5-d728f6786b26a66816f1d4ae0abdefd01e5ec3c4.tar.xz |
dev: net/i8254xGBe add two more wakeup registers to ignore
There are drivers writing to WUFC uncondtionally of anything. In order to
not panic gem5 in these cases, ignore writes to WUFC and WUS as we do for
WUC. Similarly return 0 (default reset value) on reads.
Testing Done: Booted in FS with such a driver revision which would
previously panic and now boots fine.
Reviewed at http://reviews.gem5.org/r/3791/
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/dev/net/i8254xGBe.cc')
-rw-r--r-- | src/dev/net/i8254xGBe.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/dev/net/i8254xGBe.cc b/src/dev/net/i8254xGBe.cc index baca0138f..70909549a 100644 --- a/src/dev/net/i8254xGBe.cc +++ b/src/dev/net/i8254xGBe.cc @@ -240,6 +240,8 @@ IGbE::read(PacketPtr pkt) pkt->set<uint32_t>(regs.pba()); break; case REG_WUC: + case REG_WUFC: + case REG_WUS: case REG_LEDCTL: pkt->set<uint32_t>(0); // We don't care, so just return 0 break; @@ -546,6 +548,8 @@ IGbE::write(PacketPtr pkt) regs.pba.txa(64 - regs.pba.rxa()); break; case REG_WUC: + case REG_WUFC: + case REG_WUS: case REG_LEDCTL: case REG_FCAL: case REG_FCAH: |