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