1/* 2 * Copyright (c) 2004-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 26 unchanged lines hidden (view full) --- 35#ifndef __ISA_FAKE_HH__ 36#define __ISA_FAKE_HH__ 37 38#include "base/range.hh" 39#include "dev/io_device.hh" 40#include "dev/alpha/tsunami.hh" 41#include "mem/packet.hh" 42 |
43#include <string> 44 |
45/** 46 * IsaFake is a device that returns, BadAddr, 1 or 0 on all reads and 47 * rites. It is meant to be placed at an address range 48 * so that an mcheck doesn't occur when an os probes a piece of hw 49 * that doesn't exist (e.g. UARTs1-3), or catch requests in the memory system 50 * that have no responders.. 51 */ 52class IsaFake : public BasicPioDevice 53{ 54 public: 55 struct Params : public BasicPioDevice::Params 56 { 57 Addr pio_size; 58 bool retBadAddr; |
59 bool updateData; 60 uint8_t retData8; 61 uint16_t retData16; 62 uint32_t retData32; 63 uint64_t retData64; 64 std::string warnAccess; |
65 }; 66 protected: 67 const Params *params() const { return (const Params*)_params; } |
68 uint8_t retData8; 69 uint16_t retData16; 70 uint32_t retData32; 71 uint64_t retData64; |
72 |
73 |
74 public: 75 /** 76 * The constructor for Tsunmami Fake just registers itself with the MMU. 77 * @param p params structure 78 */ 79 IsaFake(Params *p); 80 81 /** --- 15 unchanged lines hidden --- |