mmapped_ipr.hh revision 8105
13806SN/A/* 23806SN/A * Copyright (c) 2006 The Regents of The University of Michigan 33806SN/A * All rights reserved. 43806SN/A * 53806SN/A * Redistribution and use in source and binary forms, with or without 63806SN/A * modification, are permitted provided that the following conditions are 73806SN/A * met: redistributions of source code must retain the above copyright 83806SN/A * notice, this list of conditions and the following disclaimer; 93806SN/A * redistributions in binary form must reproduce the above copyright 103806SN/A * notice, this list of conditions and the following disclaimer in the 113806SN/A * documentation and/or other materials provided with the distribution; 123806SN/A * neither the name of the copyright holders nor the names of its 133806SN/A * contributors may be used to endorse or promote products derived from 143806SN/A * this software without specific prior written permission. 153806SN/A * 163806SN/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 173806SN/A * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 183806SN/A * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 193806SN/A * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 203806SN/A * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 213806SN/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 223806SN/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 233806SN/A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 243806SN/A * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 253806SN/A * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 263806SN/A * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 273806SN/A * 283806SN/A * Authors: Ali Saidi 293806SN/A */ 303806SN/A 318105Sgblack@eecs.umich.edu#ifndef __ARCH_SPARC_MMAPPED_IPR_HH__ 328105Sgblack@eecs.umich.edu#define __ARCH_SPARC_MMAPPED_IPR_HH__ 333806SN/A 343806SN/A/** 353806SN/A * @file 363806SN/A * 373806SN/A * ISA-specific helper functions for memory mapped IPR accesses. 383806SN/A */ 393806SN/A 403817SN/A#include "config/full_system.hh" 413806SN/A#include "cpu/thread_context.hh" 423806SN/A#include "mem/packet.hh" 433806SN/A#include "arch/sparc/tlb.hh" 443806SN/A 453806SN/A 463806SN/Anamespace SparcISA 473806SN/A{ 487741SN/A 493806SN/Ainline Tick 503806SN/AhandleIprRead(ThreadContext *xc, Packet *pkt) 513806SN/A{ 523817SN/A#if FULL_SYSTEM 533806SN/A return xc->getDTBPtr()->doMmuRegRead(xc, pkt); 543817SN/A#else 553817SN/A panic("Shouldn't have a memory mapped register in SE\n"); 563817SN/A#endif 573806SN/A} 583806SN/A 593806SN/Ainline Tick 603806SN/AhandleIprWrite(ThreadContext *xc, Packet *pkt) 613806SN/A{ 623817SN/A#if FULL_SYSTEM 633806SN/A return xc->getDTBPtr()->doMmuRegWrite(xc, pkt); 643817SN/A#else 653817SN/A panic("Shouldn't have a memory mapped register in SE\n"); 663817SN/A#endif 673806SN/A} 683806SN/A 693806SN/A 703806SN/A} // namespace SparcISA 713806SN/A 723806SN/A#endif 73