physical.hh (8931:7a1dfb191e3f) | physical.hh (9235:5aa4896ed55a) |
---|---|
1/* 2 * Copyright (c) 2012 ARM Limited 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 --- 26 unchanged lines hidden (view full) --- 35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 * 37 * Authors: Andreas Hansson 38 */ 39 40#ifndef __PHYSICAL_MEMORY_HH__ 41#define __PHYSICAL_MEMORY_HH__ 42 | 1/* 2 * Copyright (c) 2012 ARM Limited 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 --- 26 unchanged lines hidden (view full) --- 35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 * 37 * Authors: Andreas Hansson 38 */ 39 40#ifndef __PHYSICAL_MEMORY_HH__ 41#define __PHYSICAL_MEMORY_HH__ 42 |
43#include "base/range_map.hh" | 43#include "base/addr_range_map.hh" |
44#include "mem/abstract_mem.hh" 45#include "mem/packet.hh" 46 47/** 48 * The physical memory encapsulates all memories in the system and 49 * provides basic functionality for accessing those memories without 50 * going through the memory system and interconnect. 51 */ 52class PhysicalMemory 53{ 54 55 private: 56 57 // Global address map | 44#include "mem/abstract_mem.hh" 45#include "mem/packet.hh" 46 47/** 48 * The physical memory encapsulates all memories in the system and 49 * provides basic functionality for accessing those memories without 50 * going through the memory system and interconnect. 51 */ 52class PhysicalMemory 53{ 54 55 private: 56 57 // Global address map |
58 range_map<Addr, AbstractMemory* > addrMap; | 58 AddrRangeMap<AbstractMemory*> addrMap; |
59 60 // a mutable cache for the last range that matched an address | 59 60 // a mutable cache for the last range that matched an address |
61 mutable Range<Addr> rangeCache; | 61 mutable AddrRange rangeCache; |
62 63 // All address-mapped memories 64 std::vector<AbstractMemory*> memories; 65 66 // The total memory size 67 uint64_t size; 68 69 // Prevent copying --- 52 unchanged lines hidden --- | 62 63 // All address-mapped memories 64 std::vector<AbstractMemory*> memories; 65 66 // The total memory size 67 uint64_t size; 68 69 // Prevent copying --- 52 unchanged lines hidden --- |