summaryrefslogtreecommitdiff
path: root/dev/ide_disk.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dev/ide_disk.cc')
-rw-r--r--dev/ide_disk.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/dev/ide_disk.cc b/dev/ide_disk.cc
index c13556ed6..701d3bf7d 100644
--- a/dev/ide_disk.cc
+++ b/dev/ide_disk.cc
@@ -406,6 +406,39 @@ IdeDisk::regStats()
.name(name() + ".dma_write_txs")
.desc("Number of DMA write transactions.")
;
+
+ rdBandwidth
+ .name(name() + ".rdBandwidth")
+ .desc("Read Bandwidth (bits/s)")
+ .precision(0)
+ .prereq(dmaReadBytes)
+ ;
+
+ wrBandwidth
+ .name(name() + ".wrBandwidth")
+ .desc("Write Bandwidth (bits/s)")
+ .precision(0)
+ .prereq(dmaWriteBytes)
+ ;
+
+ totBandwidth
+ .name(name() + ".totBandwidth")
+ .desc("Total Bandwidth (bits/s)")
+ .precision(0)
+ .prereq(totBytes)
+ ;
+
+ totBytes
+ .name(name() + ".totBytes")
+ .desc("Total Bytes")
+ .precision(0)
+ .prereq(totBytes)
+ ;
+
+ rdBandwidth = dmaReadBytes * Stats::constant(8) / simSeconds;
+ wrBandwidth = dmaWriteBytes * Stats::constant(8) / simSeconds;
+ totBandwidth = rdBandwidth + wrBandwidth;
+ totBytes = dmaReadBytes + dmaWriteBytes;
}
void