X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=dev%2Ftsunami_cchip.hh;h=3269cf53a13360cdaf542bd576753615cf119f52;hb=425dda00df994b2483850e80260618b2a1a957bf;hp=381fb58f194ec58075ad990c2bea47a930ccbaa9;hpb=9d0aa1399157bd90436409a7596377b4591a2d4a;p=gem5.git diff --git a/dev/tsunami_cchip.hh b/dev/tsunami_cchip.hh index 381fb58f1..3269cf53a 100644 --- a/dev/tsunami_cchip.hh +++ b/dev/tsunami_cchip.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003 The Regents of The University of Michigan + * Copyright (c) 2004 The Regents of The University of Michigan * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,13 +33,14 @@ #ifndef __TSUNAMI_CCHIP_HH__ #define __TSUNAMI_CCHIP_HH__ -#include "mem/functional_mem/functional_memory.hh" #include "dev/tsunami.hh" +#include "base/range.hh" +#include "dev/io_device.hh" /* * Tsunami CChip */ -class TsunamiCChip : public FunctionalMemory +class TsunamiCChip : public PioDevice { private: /** The base address of this device */ @@ -49,11 +50,11 @@ class TsunamiCChip : public FunctionalMemory static const Addr size = 0xfff; protected: - /** - * pointer to the tsunami object. - * This is our access to all the other tsunami - * devices. - */ + /** + * pointer to the tsunami object. + * This is our access to all the other tsunami + * devices. + */ Tsunami *tsunami; /** @@ -95,9 +96,12 @@ class TsunamiCChip : public FunctionalMemory * @param t pointer back to the Tsunami object that we belong to. * @param a address we are mapped at. * @param mmu pointer to the memory controller that sends us events. + * @param hier object to store parameters universal the device hierarchy + * @param bus The bus that this device is attached to */ TsunamiCChip(const std::string &name, Tsunami *t, Addr a, - MemoryController *mmu); + MemoryController *mmu, HierParams *hier, Bus *bus, + Tick pio_latency); /** * Process a read to the CChip. @@ -145,6 +149,13 @@ class TsunamiCChip : public FunctionalMemory * @param section The section name of this object */ virtual void unserialize(Checkpoint *cp, const std::string §ion); + + /** + * Return how long this access will take. + * @param req the memory request to calcuate + * @return Tick when the request is done + */ + Tick cacheAccess(MemReqPtr &req); }; #endif // __TSUNAMI_CCHIP_HH__