i8237.hh revision 7811
13101Sstever@eecs.umich.edu/* 23101Sstever@eecs.umich.edu * Copyright (c) 2008 The Regents of The University of Michigan 33101Sstever@eecs.umich.edu * All rights reserved. 43101Sstever@eecs.umich.edu * 53101Sstever@eecs.umich.edu * Redistribution and use in source and binary forms, with or without 63101Sstever@eecs.umich.edu * modification, are permitted provided that the following conditions are 73101Sstever@eecs.umich.edu * met: redistributions of source code must retain the above copyright 83101Sstever@eecs.umich.edu * notice, this list of conditions and the following disclaimer; 93101Sstever@eecs.umich.edu * redistributions in binary form must reproduce the above copyright 103101Sstever@eecs.umich.edu * notice, this list of conditions and the following disclaimer in the 113101Sstever@eecs.umich.edu * documentation and/or other materials provided with the distribution; 123101Sstever@eecs.umich.edu * neither the name of the copyright holders nor the names of its 133101Sstever@eecs.umich.edu * contributors may be used to endorse or promote products derived from 143101Sstever@eecs.umich.edu * this software without specific prior written permission. 153101Sstever@eecs.umich.edu * 163101Sstever@eecs.umich.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 173101Sstever@eecs.umich.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 183101Sstever@eecs.umich.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 193101Sstever@eecs.umich.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 203101Sstever@eecs.umich.edu * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 213101Sstever@eecs.umich.edu * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 223101Sstever@eecs.umich.edu * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 233101Sstever@eecs.umich.edu * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 243101Sstever@eecs.umich.edu * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 253101Sstever@eecs.umich.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 263101Sstever@eecs.umich.edu * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 273101Sstever@eecs.umich.edu * 283101Sstever@eecs.umich.edu * Authors: Gabe Black 293101Sstever@eecs.umich.edu */ 303101Sstever@eecs.umich.edu 313101Sstever@eecs.umich.edu#ifndef __DEV_X86_I8237_HH__ 323101Sstever@eecs.umich.edu#define __DEV_X86_I8237_HH__ 333101Sstever@eecs.umich.edu 343101Sstever@eecs.umich.edu#include "dev/io_device.hh" 353101Sstever@eecs.umich.edu#include "params/I8237.hh" 363101Sstever@eecs.umich.edu 373101Sstever@eecs.umich.edunamespace X86ISA 383101Sstever@eecs.umich.edu{ 393101Sstever@eecs.umich.edu 403101Sstever@eecs.umich.educlass I8237 : public BasicPioDevice 413101Sstever@eecs.umich.edu{ 423101Sstever@eecs.umich.edu protected: 433101Sstever@eecs.umich.edu Tick latency; 443101Sstever@eecs.umich.edu uint8_t maskReg; 453101Sstever@eecs.umich.edu 463101Sstever@eecs.umich.edu public: 473885Sbinkertn@umich.edu typedef I8237Params Params; 483885Sbinkertn@umich.edu 494762Snate@binkert.org const Params * 503885Sbinkertn@umich.edu params() const 513885Sbinkertn@umich.edu { 523885Sbinkertn@umich.edu return dynamic_cast<const Params *>(_params); 533101Sstever@eecs.umich.edu } 544380Sbinkertn@umich.edu 554167Sbinkertn@umich.edu I8237(Params *p) : BasicPioDevice(p), latency(p->pio_latency), maskReg(0) 563102Sstever@eecs.umich.edu { 573101Sstever@eecs.umich.edu pioSize = 16; 584762Snate@binkert.org } 594762Snate@binkert.org Tick read(PacketPtr pkt); 604762Snate@binkert.org 614762Snate@binkert.org Tick write(PacketPtr pkt); 624762Snate@binkert.org}; 634762Snate@binkert.org 644762Snate@binkert.org} // namespace X86ISA 654762Snate@binkert.org 664762Snate@binkert.org#endif //__DEV_X86_I8237_HH__ 674762Snate@binkert.org