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