page_table.hh (5004:7d94cedab264) page_table.hh (5184:8782de2949e5)
1/*
2 * Copyright (c) 2003 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

41#include "sim/faults.hh"
42#include "arch/isa_traits.hh"
43#include "arch/tlb.hh"
44#include "base/hashmap.hh"
45#include "mem/request.hh"
46#include "sim/host.hh"
47#include "sim/serialize.hh"
48
1/*
2 * Copyright (c) 2003 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

41#include "sim/faults.hh"
42#include "arch/isa_traits.hh"
43#include "arch/tlb.hh"
44#include "base/hashmap.hh"
45#include "mem/request.hh"
46#include "sim/host.hh"
47#include "sim/serialize.hh"
48
49class System;
49class Process;
50
51/**
52 * Page Table Declaration.
53 */
54class PageTable
55{
56 protected:
57 typedef m5::hash_map<Addr, TheISA::TlbEntry> PTable;

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

63 TheISA::TlbEntry entry;
64 };
65
66 struct cacheElement pTableCache[3];
67
68 const Addr pageSize;
69 const Addr offsetMask;
70
50
51/**
52 * Page Table Declaration.
53 */
54class PageTable
55{
56 protected:
57 typedef m5::hash_map<Addr, TheISA::TlbEntry> PTable;

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

63 TheISA::TlbEntry entry;
64 };
65
66 struct cacheElement pTableCache[3];
67
68 const Addr pageSize;
69 const Addr offsetMask;
70
71 System *system;
71 Process *process;
72
73 public:
74
72
73 public:
74
75 PageTable(System *_system, Addr _pageSize = TheISA::VMPageSize);
75 PageTable(Process *_process, Addr _pageSize = TheISA::VMPageSize);
76
77 ~PageTable();
78
79 Addr pageAlign(Addr a) { return (a & ~offsetMask); }
80 Addr pageOffset(Addr a) { return (a & offsetMask); }
81
82 void allocate(Addr vaddr, int64_t size);
83

--- 43 unchanged lines hidden ---
76
77 ~PageTable();
78
79 Addr pageAlign(Addr a) { return (a & ~offsetMask); }
80 Addr pageOffset(Addr a) { return (a & offsetMask); }
81
82 void allocate(Addr vaddr, int64_t size);
83

--- 43 unchanged lines hidden ---