summaryrefslogtreecommitdiff
path: root/src/core/mmio.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/mmio.h')
-rw-r--r--src/core/mmio.h38
1 files changed, 0 insertions, 38 deletions
diff --git a/src/core/mmio.h b/src/core/mmio.h
deleted file mode 100644
index 5e3cc01af..000000000
--- a/src/core/mmio.h
+++ /dev/null
@@ -1,38 +0,0 @@
1// Copyright 2016 Citra Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include <memory>
8#include "common/common_types.h"
9
10namespace Memory {
11
12/**
13 * Represents a device with memory mapped IO.
14 * A device may be mapped to multiple regions of memory.
15 */
16class MMIORegion {
17public:
18 virtual ~MMIORegion() = default;
19
20 virtual bool IsValidAddress(VAddr addr) = 0;
21
22 virtual u8 Read8(VAddr addr) = 0;
23 virtual u16 Read16(VAddr addr) = 0;
24 virtual u32 Read32(VAddr addr) = 0;
25 virtual u64 Read64(VAddr addr) = 0;
26
27 virtual bool ReadBlock(VAddr src_addr, void* dest_buffer, size_t size) = 0;
28
29 virtual void Write8(VAddr addr, u8 data) = 0;
30 virtual void Write16(VAddr addr, u16 data) = 0;
31 virtual void Write32(VAddr addr, u32 data) = 0;
32 virtual void Write64(VAddr addr, u64 data) = 0;
33
34 virtual bool WriteBlock(VAddr dest_addr, const void* src_buffer, size_t size) = 0;
35};
36
37using MMIORegionPointer = std::shared_ptr<MMIORegion>;
38}; // namespace Memory