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 --- |