abstract_mem.hh (13853:7ec6a25d2bc1) abstract_mem.hh (13892:0182a0601f66)
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

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

45 * @file
46 * AbstractMemory declaration
47 */
48
49#ifndef __MEM_ABSTRACT_MEMORY_HH__
50#define __MEM_ABSTRACT_MEMORY_HH__
51
52#include "mem/backdoor.hh"
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

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

45 * @file
46 * AbstractMemory declaration
47 */
48
49#ifndef __MEM_ABSTRACT_MEMORY_HH__
50#define __MEM_ABSTRACT_MEMORY_HH__
51
52#include "mem/backdoor.hh"
53#include "mem/mem_object.hh"
53#include "mem/port.hh"
54#include "params/AbstractMemory.hh"
54#include "params/AbstractMemory.hh"
55#include "sim/clocked_object.hh"
55#include "sim/stats.hh"
56
57
58class System;
59
60/**
61 * Locked address class that represents a physical address and a
62 * context id.

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

93 LockedAddr(Addr _addr, int _cid) : addr(_addr), contextId(_cid)
94 {}
95};
96
97/**
98 * An abstract memory represents a contiguous block of physical
99 * memory, with an associated address range, and also provides basic
100 * functionality for reading and writing this memory without any
56#include "sim/stats.hh"
57
58
59class System;
60
61/**
62 * Locked address class that represents a physical address and a
63 * context id.

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

94 LockedAddr(Addr _addr, int _cid) : addr(_addr), contextId(_cid)
95 {}
96};
97
98/**
99 * An abstract memory represents a contiguous block of physical
100 * memory, with an associated address range, and also provides basic
101 * functionality for reading and writing this memory without any
101 * timing information. It is a MemObject since any subclass must have
102 * at least one slave port.
102 * timing information. It is a ClockedObject since subclasses may need timing
103 * information.
103 */
104 */
104class AbstractMemory : public MemObject
105class AbstractMemory : public ClockedObject
105{
106 protected:
107
108 // Address range of this memory
109 AddrRange range;
110
111 // Pointer to host memory used to implement this memory
112 uint8_t* pmemAddr;

--- 214 unchanged lines hidden ---
106{
107 protected:
108
109 // Address range of this memory
110 AddrRange range;
111
112 // Pointer to host memory used to implement this memory
113 uint8_t* pmemAddr;

--- 214 unchanged lines hidden ---