io_device.hh revision 545
14202Sbinkertn@umich.edu/* 24202Sbinkertn@umich.edu * Copyright (c) 2003 The Regents of The University of Michigan 34202Sbinkertn@umich.edu * All rights reserved. 44202Sbinkertn@umich.edu * 54202Sbinkertn@umich.edu * Redistribution and use in source and binary forms, with or without 64202Sbinkertn@umich.edu * modification, are permitted provided that the following conditions are 74202Sbinkertn@umich.edu * met: redistributions of source code must retain the above copyright 84202Sbinkertn@umich.edu * notice, this list of conditions and the following disclaimer; 94202Sbinkertn@umich.edu * redistributions in binary form must reproduce the above copyright 104202Sbinkertn@umich.edu * notice, this list of conditions and the following disclaimer in the 114202Sbinkertn@umich.edu * documentation and/or other materials provided with the distribution; 124202Sbinkertn@umich.edu * neither the name of the copyright holders nor the names of its 134202Sbinkertn@umich.edu * contributors may be used to endorse or promote products derived from 144202Sbinkertn@umich.edu * this software without specific prior written permission. 154202Sbinkertn@umich.edu * 164202Sbinkertn@umich.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 174202Sbinkertn@umich.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 184202Sbinkertn@umich.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 194202Sbinkertn@umich.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 204202Sbinkertn@umich.edu * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 214202Sbinkertn@umich.edu * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 224202Sbinkertn@umich.edu * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 234202Sbinkertn@umich.edu * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 244202Sbinkertn@umich.edu * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 254202Sbinkertn@umich.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 264202Sbinkertn@umich.edu * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 274202Sbinkertn@umich.edu */ 284202Sbinkertn@umich.edu 294202Sbinkertn@umich.edu#ifndef __IO_DEVICE_HH__ 304202Sbinkertn@umich.edu#define __IO_DEVICE_HH__ 314202Sbinkertn@umich.edu 324202Sbinkertn@umich.edu#include "mem/functional_mem/functional_memory.hh" 334486Sbinkertn@umich.edu 344486Sbinkertn@umich.educlass BaseInterface; 356165Ssanchezd@stanford.educlass Bus; 366168Snate@binkert.orgclass HierParams; 374202Sbinkertn@umich.edu 384202Sbinkertn@umich.educlass PioDevice : public FunctionalMemory 394202Sbinkertn@umich.edu{ 408761Sgblack@eecs.umich.edu protected: 414202Sbinkertn@umich.edu BaseInterface *pioInterface; 424202Sbinkertn@umich.edu 434202Sbinkertn@umich.edu public: 448761Sgblack@eecs.umich.edu PioDevice(const std::string &name); 456168Snate@binkert.org virtual ~PioDevice(); 467768SAli.Saidi@ARM.com}; 477768SAli.Saidi@ARM.com 487768SAli.Saidi@ARM.comclass DmaDevice : public PioDevice 497768SAli.Saidi@ARM.com{ 508762Sgblack@eecs.umich.edu protected: 517768SAli.Saidi@ARM.com BaseInterface *dmaInterface; 528761Sgblack@eecs.umich.edu 534202Sbinkertn@umich.edu public: 545192Ssaidi@eecs.umich.edu DmaDevice(const std::string &name); 558335Snate@binkert.org virtual ~DmaDevice(); 568335Snate@binkert.org}; 578335Snate@binkert.org 588335Snate@binkert.org#endif // __IO_DEVICE_HH__ 598335Snate@binkert.org