summaryrefslogtreecommitdiff
path: root/src/core/arm/arm_interface.h
diff options
context:
space:
mode:
authorGravatar Lioncash2019-11-26 14:10:49 -0500
committerGravatar Lioncash2019-11-26 21:55:37 -0500
commit536fc7f0ea77e08d68c760f387c307d258804e3b (patch)
treee979df531bf1222788cc26144531c6e6f5cca1d1 /src/core/arm/arm_interface.h
parentcore/memory: Move memory read/write implementation functions into an anonymou... (diff)
downloadyuzu-536fc7f0ea77e08d68c760f387c307d258804e3b.tar.gz
yuzu-536fc7f0ea77e08d68c760f387c307d258804e3b.tar.xz
yuzu-536fc7f0ea77e08d68c760f387c307d258804e3b.zip
core: Prepare various classes for memory read/write migration
Amends a few interfaces to be able to handle the migration over to the new Memory class by passing the class by reference as a function parameter where necessary. Notably, within the filesystem services, this eliminates two ReadBlock() calls by using the helper functions of HLERequestContext to do that for us.
Diffstat (limited to 'src/core/arm/arm_interface.h')
-rw-r--r--src/core/arm/arm_interface.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h
index 45e94e625..47b964eb7 100644
--- a/src/core/arm/arm_interface.h
+++ b/src/core/arm/arm_interface.h
@@ -17,11 +17,13 @@ enum class VMAPermission : u8;
17} 17}
18 18
19namespace Core { 19namespace Core {
20class System;
20 21
21/// Generic ARMv8 CPU interface 22/// Generic ARMv8 CPU interface
22class ARM_Interface : NonCopyable { 23class ARM_Interface : NonCopyable {
23public: 24public:
24 virtual ~ARM_Interface() {} 25 explicit ARM_Interface(System& system_) : system{system_} {}
26 virtual ~ARM_Interface() = default;
25 27
26 struct ThreadContext { 28 struct ThreadContext {
27 std::array<u64, 31> cpu_registers; 29 std::array<u64, 31> cpu_registers;
@@ -163,6 +165,10 @@ public:
163 /// fp+0 : pointer to previous frame record 165 /// fp+0 : pointer to previous frame record
164 /// fp+8 : value of lr for frame 166 /// fp+8 : value of lr for frame
165 void LogBacktrace() const; 167 void LogBacktrace() const;
168
169protected:
170 /// System context that this ARM interface is running under.
171 System& system;
166}; 172};
167 173
168} // namespace Core 174} // namespace Core