page_table.hh (2665:a124942bacb8) page_table.hh (2809:9cb5fba079ed)
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;

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

32 * @file
33 * Declaration of a non-full system Page Table.
34 */
35
36#ifndef __PAGE_TABLE__
37#define __PAGE_TABLE__
38
39#include <string>
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;

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

32 * @file
33 * Declaration of a non-full system Page Table.
34 */
35
36#ifndef __PAGE_TABLE__
37#define __PAGE_TABLE__
38
39#include <string>
40#include <map>
41
42#include "arch/isa_traits.hh"
40
41#include "arch/isa_traits.hh"
42#include "base/hashmap.hh"
43#include "base/trace.hh"
44#include "mem/request.hh"
45#include "mem/packet.hh"
46#include "sim/sim_object.hh"
47
48class System;
49
50/**
51 * Page Table Decleration.
52 */
53class PageTable
54{
55 protected:
43#include "base/trace.hh"
44#include "mem/request.hh"
45#include "mem/packet.hh"
46#include "sim/sim_object.hh"
47
48class System;
49
50/**
51 * Page Table Decleration.
52 */
53class PageTable
54{
55 protected:
56 std::map<Addr,Addr> pTable;
56 m5::hash_map<Addr,Addr> pTable;
57
57
58 struct cacheElement {
59 Addr paddr;
60 Addr vaddr;
61 } ;
62
63 struct cacheElement pTableCache[3];
64
58 const Addr pageSize;
59 const Addr offsetMask;
60
61 System *system;
62
63 public:
64
65 PageTable(System *_system, Addr _pageSize = TheISA::VMPageSize);

--- 27 unchanged lines hidden ---
65 const Addr pageSize;
66 const Addr offsetMask;
67
68 System *system;
69
70 public:
71
72 PageTable(System *_system, Addr _pageSize = TheISA::VMPageSize);

--- 27 unchanged lines hidden ---