/// Destructor - Override as necessary.
virtual ~MemoryObject();
- /// getBase - Returns the lowest valid address in the region.
- ///
- /// @result - The lowest valid address.
- virtual uint64_t getBase() const = 0;
-
/// getExtent - Returns the size of the region in bytes. (The region is
/// contiguous, so the highest valid address of the region
/// is getBase() + getExtent() - 1).
class StreamingMemoryObject : public StreamableMemoryObject {
public:
StreamingMemoryObject(DataStreamer *streamer);
- uint64_t getBase() const override { return 0; }
uint64_t getExtent() const override;
int readByte(uint64_t address, uint8_t *ptr) const override;
int readBytes(uint64_t address, uint64_t size,
uint64_t size,
uint8_t* buf) const {
uint64_t current = address;
- uint64_t limit = getBase() + getExtent();
+ uint64_t limit = getExtent();
if (current + size > limit)
return -1;
assert(LastChar >= FirstChar && "Invalid start/end range");
}
- uint64_t getBase() const override { return 0; }
uint64_t getExtent() const override {
return LastChar - FirstChar;
}