1/* 2 * Copyright (c) 2012 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 30 unchanged lines hidden (view full) --- 39 * 40 * Authors: Ali Saidi 41 * Nathan Binkert 42 */ 43 44#ifndef __DEV_IO_DEVICE_HH__ 45#define __DEV_IO_DEVICE_HH__ 46 |
47#include "mem/tport.hh" 48#include "params/BasicPioDevice.hh" 49#include "params/PioDevice.hh" |
50#include "sim/clocked_object.hh" |
51 52class PioDevice; 53class System; 54 55/** 56 * The PioPort class is a programmed i/o port that all devices that are 57 * sensitive to an address range use. The port takes all the memory 58 * access types and roles them into one read() and write() call that the device --- 17 unchanged lines hidden (view full) --- 76 77/** 78 * This device is the base class which all devices senstive to an address range 79 * inherit from. There are three pure virtual functions which all devices must 80 * implement getAddrRanges(), read(), and write(). The magic do choose which 81 * mode we are in, etc is handled by the PioPort so the device doesn't have to 82 * bother. 83 */ |
84class PioDevice : public ClockedObject |
85{ 86 protected: 87 System *sys; 88 89 /** The pioPort that handles the requests for us and provides us requests 90 * that it sees. */ 91 PioPort pioPort; 92 --- 74 unchanged lines hidden --- |