Deleted Added
sdiff udiff text old ( 2914:2c524dc023d2 ) new ( 3012:1d5e18f6a100 )
full compact
1/*
2 * Copyright (c) 2001-2005 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;

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

75
76
77 private:
78 // prevent copying of a MainMemory object
79 PhysicalMemory(const PhysicalMemory &specmem);
80 const PhysicalMemory &operator=(const PhysicalMemory &specmem);
81
82 protected:
83 Addr base_addr;
84 Addr pmem_size;
85 uint8_t *pmem_addr;
86 MemoryPort *port;
87 int page_ptr;
88 Tick lat;
89
90 public:
91 Addr new_page();
92 uint64_t size() { return pmem_size; }
93
94 public:
95 PhysicalMemory(const std::string &n, Tick latency);
96 virtual ~PhysicalMemory();
97
98 public:
99 int deviceBlockSize();
100 void getAddressRanges(AddrRangeList &resp, AddrRangeList &snoop);
101 virtual Port *getPort(const std::string &if_name, int idx = -1);
102 void virtual init();
103 unsigned int drain(Event *de);
104
105 private:
106 Tick doFunctionalAccess(Packet *pkt);
107
108 void recvStatusChange(Port::Status status);
109
110 public:
111 virtual void serialize(std::ostream &os);
112 virtual void unserialize(Checkpoint *cp, const std::string &section);
113
114};
115
116#endif //__PHYSICAL_MEMORY_HH__