X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fdev%2Fisa_fake.hh;h=07657ad7dfc141a4128ddd484018fba7b7b8eadb;hb=eae1e97fb002b44a9d8c46df2da1ddc1d0156ce4;hp=366061c25462f217c7c7b2f27beaaff526f5ad1f;hpb=fdad936f799d38f1763ffd0b39855b179458cb8c;p=gem5.git diff --git a/src/dev/isa_fake.hh b/src/dev/isa_fake.hh index 366061c25..07657ad7d 100644 --- a/src/dev/isa_fake.hh +++ b/src/dev/isa_fake.hh @@ -25,8 +25,7 @@ * (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: Miguel Serrano - * Ali Saidi + * Authors: Ali Saidi */ /** @file @@ -36,30 +35,38 @@ #ifndef __ISA_FAKE_HH__ #define __ISA_FAKE_HH__ +#include + #include "base/range.hh" #include "dev/io_device.hh" -#include "dev/tsunami.hh" +// #include "dev/alpha/tsunami.hh" #include "mem/packet.hh" +#include "params/IsaFake.hh" /** - * IsaFake is a device that returns -1 on all reads and - * accepts all writes. It is meant to be placed at an address range + * IsaFake is a device that returns, BadAddr, 1 or 0 on all reads and + * rites. It is meant to be placed at an address range * so that an mcheck doesn't occur when an os probes a piece of hw - * that doesn't exist (e.g. UARTs1-3). + * that doesn't exist (e.g. UARTs1-3), or catch requests in the memory system + * that have no responders.. */ class IsaFake : public BasicPioDevice { - public: - struct Params : public BasicPioDevice::Params - { - Addr pio_size; - }; protected: - const Params *params() const { return (const Params*)_params; } + uint8_t retData8; + uint16_t retData16; + uint32_t retData32; + uint64_t retData64; public: + typedef IsaFakeParams Params; + const Params * + params() const + { + return dynamic_cast(_params); + } /** - * The constructor for Tsunmami Fake just registers itself with the MMU. + * The constructor for Isa Fake just registers itself with the MMU. * @param p params structure */ IsaFake(Params *p); @@ -79,4 +86,4 @@ class IsaFake : public BasicPioDevice virtual Tick write(PacketPtr pkt); }; -#endif // __TSUNAMI_FAKE_HH__ +#endif // __ISA_FAKE_HH__