mmu.hh revision 10915:71ace17ccb3d
16167SN/A/* 26167SN/A * Copyright (c) 2014-2015 ARM Limited 39204Sandreas.hansson@arm.com * All rights reserved 49204Sandreas.hansson@arm.com * 59204Sandreas.hansson@arm.com * Licensed under the Apache License, Version 2.0 (the "License"); 68673SN/A * you may not use this file except in compliance with the License. 79864Snilay@cs.wisc.edu * You may obtain a copy of the License at 89864Snilay@cs.wisc.edu * 99864Snilay@cs.wisc.edu * http://www.apache.org/licenses/LICENSE-2.0 109864Snilay@cs.wisc.edu * 119864Snilay@cs.wisc.edu * Unless required by applicable law or agreed to in writing, software 129150SAli.Saidi@ARM.com * distributed under the License is distributed on an "AS IS" BASIS, 139583Snilay@cs.wisc.edu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 149698Snilay@cs.wisc.edu * See the License for the specific language governing permissions and 159698Snilay@cs.wisc.edu * limitations under the License. 169698Snilay@cs.wisc.edu * 179864Snilay@cs.wisc.edu * Authors: Andreas Sandberg 189864Snilay@cs.wisc.edu */ 199864Snilay@cs.wisc.edu 209864Snilay@cs.wisc.edu#ifndef _LIBNOMALIMODEL_MMU_HH 219864Snilay@cs.wisc.edu#define _LIBNOMALIMODEL_MMU_HH 229864Snilay@cs.wisc.edu 239864Snilay@cs.wisc.edu#include <vector> 249864Snilay@cs.wisc.edu 259864Snilay@cs.wisc.edu#include "gpublock.hh" 269748Snilay@cs.wisc.edu#include "types.hh" 279748Snilay@cs.wisc.edu 289748Snilay@cs.wisc.edunamespace NoMali { 299748Snilay@cs.wisc.edu 309748Snilay@cs.wisc.educlass GPU; 319748Snilay@cs.wisc.edu 329748Snilay@cs.wisc.edu/** 339748Snilay@cs.wisc.edu * MMU dummy implementation. 349748Snilay@cs.wisc.edu * 359748Snilay@cs.wisc.edu * This is a dummy implementation of a Midgard GPU MMU block. The only 369748Snilay@cs.wisc.edu * features supported by the block is interrupt delivery and registers 379748Snilay@cs.wisc.edu * related to interrupt delivery. Writes to unimplemented registers 389748Snilay@cs.wisc.edu * (most registers) are discarded and their values are read as zero. 399748Snilay@cs.wisc.edu */ 409748Snilay@cs.wisc.educlass MMU 419864Snilay@cs.wisc.edu : public GPUBlockInt 429864Snilay@cs.wisc.edu{ 439864Snilay@cs.wisc.edu public: 449864Snilay@cs.wisc.edu MMU(GPU &_gpu); 459864Snilay@cs.wisc.edu virtual ~MMU(); 469864Snilay@cs.wisc.edu 479864Snilay@cs.wisc.edu void writeReg(RegAddr idx, uint32_t value) override; 489864Snilay@cs.wisc.edu 499864Snilay@cs.wisc.edu protected: 509864Snilay@cs.wisc.edu void onInterrupt(int set) override; 519864Snilay@cs.wisc.edu 529864Snilay@cs.wisc.edu RegVector regs; 539864Snilay@cs.wisc.edu}; 549864Snilay@cs.wisc.edu 559864Snilay@cs.wisc.edu} 569864Snilay@cs.wisc.edu 579864Snilay@cs.wisc.edu#endif // _LIBNOMALIMODEL_MMU_HH 589864Snilay@cs.wisc.edu