Rename cycles() function to ticks()
[gem5.git] / src / dev / ide_disk.hh
index 5379e5e73ffbfab9f1aa0da6f2b0264cab980692..62c89add452a2412d2683d9d7d0139a2f6648920 100644 (file)
@@ -24,6 +24,8 @@
  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Authors: Andrew Schultz
  */
 
 /** @file
 #include "dev/ide_wdcreg.h"
 #include "dev/io_device.hh"
 #include "sim/eventq.hh"
+#include "params/IdeDisk.hh"
+
+
+class ChunkGenerator;
 
 #define DMA_BACKOFF_PERIOD 200
 
@@ -238,16 +244,14 @@ class IdeDisk : public SimObject
     Stats::Scalar<> dmaWriteFullPages;
     Stats::Scalar<> dmaWriteBytes;
     Stats::Scalar<> dmaWriteTxs;
+    Stats::Formula rdBandwidth;
+    Stats::Formula wrBandwidth;
+    Stats::Formula totBandwidth;
+    Stats::Formula totBytes;
 
   public:
-    /**
-     * Create and initialize this Disk.
-     * @param name The name of this disk.
-     * @param img The disk image of this disk.
-     * @param id The disk ID (master=0/slave=1)
-     * @param disk_delay The disk delay in milliseconds
-     */
-    IdeDisk(const std::string &name, DiskImage *img, int id, Tick disk_delay);
+    typedef IdeDiskParams Params;
+    IdeDisk(const Params *p);
 
     /**
      * Delete the data buffer.