changeset de0de48a2d1c in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=de0de48a2d1c
description:
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 <[email protected]>
diffstat:
src/dev/net/i8254xGBe.cc | 4 ++++
src/dev/net/i8254xGBe_defs.hh | 2 ++
2 files changed, 6 insertions(+), 0 deletions(-)
diffs (33 lines):
diff -r 61c625151d9a -r de0de48a2d1c src/dev/net/i8254xGBe.cc
--- a/src/dev/net/i8254xGBe.cc Thu Feb 09 18:54:28 2017 -0500
+++ b/src/dev/net/i8254xGBe.cc Thu Feb 09 18:59:55 2017 -0500
@@ -240,6 +240,8 @@
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 @@
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:
diff -r 61c625151d9a -r de0de48a2d1c src/dev/net/i8254xGBe_defs.hh
--- a/src/dev/net/i8254xGBe_defs.hh Thu Feb 09 18:54:28 2017 -0500
+++ b/src/dev/net/i8254xGBe_defs.hh Thu Feb 09 18:59:55 2017 -0500
@@ -94,6 +94,8 @@
const uint32_t REG_VFTA = 0x05600;
const uint32_t REG_WUC = 0x05800;
+const uint32_t REG_WUFC = 0x05808;
+const uint32_t REG_WUS = 0x05810;
const uint32_t REG_MANC = 0x05820;
const uint32_t REG_SWSM = 0x05B50;
const uint32_t REG_FWSM = 0x05B54;
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev