pagetable_walker.hh (13784:1941dc118243) pagetable_walker.hh (13892:0182a0601f66)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 31 unchanged lines hidden (view full) ---

40#ifndef __ARCH_X86_PAGE_TABLE_WALKER_HH__
41#define __ARCH_X86_PAGE_TABLE_WALKER_HH__
42
43#include <vector>
44
45#include "arch/x86/pagetable.hh"
46#include "arch/x86/tlb.hh"
47#include "base/types.hh"
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 31 unchanged lines hidden (view full) ---

40#ifndef __ARCH_X86_PAGE_TABLE_WALKER_HH__
41#define __ARCH_X86_PAGE_TABLE_WALKER_HH__
42
43#include <vector>
44
45#include "arch/x86/pagetable.hh"
46#include "arch/x86/tlb.hh"
47#include "base/types.hh"
48#include "mem/mem_object.hh"
49#include "mem/packet.hh"
50#include "params/X86PagetableWalker.hh"
48#include "mem/packet.hh"
49#include "params/X86PagetableWalker.hh"
50#include "sim/clocked_object.hh"
51#include "sim/faults.hh"
52#include "sim/system.hh"
53
54class ThreadContext;
55
56namespace X86ISA
57{
51#include "sim/faults.hh"
52#include "sim/system.hh"
53
54class ThreadContext;
55
56namespace X86ISA
57{
58 class Walker : public MemObject
58 class Walker : public ClockedObject
59 {
60 protected:
61 // Port for accessing memory
62 class WalkerPort : public MasterPort
63 {
64 public:
65 WalkerPort(const std::string &_name, Walker * _walker) :
66 MasterPort(_name, _walker), walker(_walker)

--- 129 unchanged lines hidden (view full) ---

196
197 const Params *
198 params() const
199 {
200 return static_cast<const Params *>(_params);
201 }
202
203 Walker(const Params *params) :
59 {
60 protected:
61 // Port for accessing memory
62 class WalkerPort : public MasterPort
63 {
64 public:
65 WalkerPort(const std::string &_name, Walker * _walker) :
66 MasterPort(_name, _walker), walker(_walker)

--- 129 unchanged lines hidden (view full) ---

196
197 const Params *
198 params() const
199 {
200 return static_cast<const Params *>(_params);
201 }
202
203 Walker(const Params *params) :
204 MemObject(params), port(name() + ".port", this),
204 ClockedObject(params), port(name() + ".port", this),
205 funcState(this, NULL, NULL, true), tlb(NULL), sys(params->system),
206 masterId(sys->getMasterId(this)),
207 numSquashable(params->num_squash_per_cycle),
208 startWalkWrapperEvent([this]{ startWalkWrapper(); }, name())
209 {
210 }
211 };
212}
213#endif // __ARCH_X86_PAGE_TABLE_WALKER_HH__
205 funcState(this, NULL, NULL, true), tlb(NULL), sys(params->system),
206 masterId(sys->getMasterId(this)),
207 numSquashable(params->num_squash_per_cycle),
208 startWalkWrapperEvent([this]{ startWalkWrapper(); }, name())
209 {
210 }
211 };
212}
213#endif // __ARCH_X86_PAGE_TABLE_WALKER_HH__