summaryrefslogtreecommitdiff
path: root/src/core/arm/dynarmic
diff options
context:
space:
mode:
authorGravatar liamwhite2023-03-23 10:00:19 -0400
committerGravatar GitHub2023-03-23 10:00:19 -0400
commitc41a4baf06efe935f08331bc6f8ff6d80dc088f5 (patch)
treea6580d41bd440b240b2f60db38fdeec60fca2eff /src/core/arm/dynarmic
parentMerge pull request #9962 from Kelebek1/disable_srgb (diff)
parentkernel: use KTypedAddress for addresses (diff)
downloadyuzu-c41a4baf06efe935f08331bc6f8ff6d80dc088f5.tar.gz
yuzu-c41a4baf06efe935f08331bc6f8ff6d80dc088f5.tar.xz
yuzu-c41a4baf06efe935f08331bc6f8ff6d80dc088f5.zip
Merge pull request #9964 from liamwhite/typed-address
kernel: use KTypedAddress for addresses
Diffstat (limited to 'src/core/arm/dynarmic')
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_32.cpp6
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_32.h6
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_64.cpp8
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_64.h6
4 files changed, 13 insertions, 13 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp
index 2a7570073..aa92d3fc3 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp
@@ -155,7 +155,7 @@ public:
155 return std::max<s64>(parent.system.CoreTiming().GetDowncount(), 0); 155 return std::max<s64>(parent.system.CoreTiming().GetDowncount(), 0);
156 } 156 }
157 157
158 bool CheckMemoryAccess(VAddr addr, u64 size, Kernel::DebugWatchpointType type) { 158 bool CheckMemoryAccess(u64 addr, u64 size, Kernel::DebugWatchpointType type) {
159 if (!check_memory_access) { 159 if (!check_memory_access) {
160 return true; 160 return true;
161 } 161 }
@@ -397,7 +397,7 @@ u64 ARM_Dynarmic_32::GetTlsAddress() const {
397 return cp15->uro; 397 return cp15->uro;
398} 398}
399 399
400void ARM_Dynarmic_32::SetTlsAddress(VAddr address) { 400void ARM_Dynarmic_32::SetTlsAddress(u64 address) {
401 cp15->uro = static_cast<u32>(address); 401 cp15->uro = static_cast<u32>(address);
402} 402}
403 403
@@ -439,7 +439,7 @@ void ARM_Dynarmic_32::ClearInstructionCache() {
439 jit.load()->ClearCache(); 439 jit.load()->ClearCache();
440} 440}
441 441
442void ARM_Dynarmic_32::InvalidateCacheRange(VAddr addr, std::size_t size) { 442void ARM_Dynarmic_32::InvalidateCacheRange(u64 addr, std::size_t size) {
443 jit.load()->InvalidateCacheRange(static_cast<u32>(addr), size); 443 jit.load()->InvalidateCacheRange(static_cast<u32>(addr), size);
444} 444}
445 445
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.h b/src/core/arm/dynarmic/arm_dynarmic_32.h
index d24ba2289..bce695daf 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_32.h
+++ b/src/core/arm/dynarmic/arm_dynarmic_32.h
@@ -41,8 +41,8 @@ public:
41 void SetVectorReg(int index, u128 value) override; 41 void SetVectorReg(int index, u128 value) override;
42 u32 GetPSTATE() const override; 42 u32 GetPSTATE() const override;
43 void SetPSTATE(u32 pstate) override; 43 void SetPSTATE(u32 pstate) override;
44 VAddr GetTlsAddress() const override; 44 u64 GetTlsAddress() const override;
45 void SetTlsAddress(VAddr address) override; 45 void SetTlsAddress(u64 address) override;
46 void SetTPIDR_EL0(u64 value) override; 46 void SetTPIDR_EL0(u64 value) override;
47 u64 GetTPIDR_EL0() const override; 47 u64 GetTPIDR_EL0() const override;
48 48
@@ -60,7 +60,7 @@ public:
60 void ClearExclusiveState() override; 60 void ClearExclusiveState() override;
61 61
62 void ClearInstructionCache() override; 62 void ClearInstructionCache() override;
63 void InvalidateCacheRange(VAddr addr, std::size_t size) override; 63 void InvalidateCacheRange(u64 addr, std::size_t size) override;
64 void PageTableChanged(Common::PageTable& new_page_table, 64 void PageTableChanged(Common::PageTable& new_page_table,
65 std::size_t new_address_space_size_in_bits) override; 65 std::size_t new_address_space_size_in_bits) override;
66 66
diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp
index 7229fdc2a..67073c84d 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp
@@ -117,7 +117,7 @@ public:
117 } 117 }
118 118
119 void InstructionCacheOperationRaised(Dynarmic::A64::InstructionCacheOperation op, 119 void InstructionCacheOperationRaised(Dynarmic::A64::InstructionCacheOperation op,
120 VAddr value) override { 120 u64 value) override {
121 switch (op) { 121 switch (op) {
122 case Dynarmic::A64::InstructionCacheOperation::InvalidateByVAToPoU: { 122 case Dynarmic::A64::InstructionCacheOperation::InvalidateByVAToPoU: {
123 static constexpr u64 ICACHE_LINE_SIZE = 64; 123 static constexpr u64 ICACHE_LINE_SIZE = 64;
@@ -199,7 +199,7 @@ public:
199 return parent.system.CoreTiming().GetClockTicks(); 199 return parent.system.CoreTiming().GetClockTicks();
200 } 200 }
201 201
202 bool CheckMemoryAccess(VAddr addr, u64 size, Kernel::DebugWatchpointType type) { 202 bool CheckMemoryAccess(u64 addr, u64 size, Kernel::DebugWatchpointType type) {
203 if (!check_memory_access) { 203 if (!check_memory_access) {
204 return true; 204 return true;
205 } 205 }
@@ -452,7 +452,7 @@ u64 ARM_Dynarmic_64::GetTlsAddress() const {
452 return cb->tpidrro_el0; 452 return cb->tpidrro_el0;
453} 453}
454 454
455void ARM_Dynarmic_64::SetTlsAddress(VAddr address) { 455void ARM_Dynarmic_64::SetTlsAddress(u64 address) {
456 cb->tpidrro_el0 = address; 456 cb->tpidrro_el0 = address;
457} 457}
458 458
@@ -500,7 +500,7 @@ void ARM_Dynarmic_64::ClearInstructionCache() {
500 jit.load()->ClearCache(); 500 jit.load()->ClearCache();
501} 501}
502 502
503void ARM_Dynarmic_64::InvalidateCacheRange(VAddr addr, std::size_t size) { 503void ARM_Dynarmic_64::InvalidateCacheRange(u64 addr, std::size_t size) {
504 jit.load()->InvalidateCacheRange(addr, size); 504 jit.load()->InvalidateCacheRange(addr, size);
505} 505}
506 506
diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.h b/src/core/arm/dynarmic/arm_dynarmic_64.h
index ed1a5eb96..e83599e82 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_64.h
+++ b/src/core/arm/dynarmic/arm_dynarmic_64.h
@@ -38,8 +38,8 @@ public:
38 void SetVectorReg(int index, u128 value) override; 38 void SetVectorReg(int index, u128 value) override;
39 u32 GetPSTATE() const override; 39 u32 GetPSTATE() const override;
40 void SetPSTATE(u32 pstate) override; 40 void SetPSTATE(u32 pstate) override;
41 VAddr GetTlsAddress() const override; 41 u64 GetTlsAddress() const override;
42 void SetTlsAddress(VAddr address) override; 42 void SetTlsAddress(u64 address) override;
43 void SetTPIDR_EL0(u64 value) override; 43 void SetTPIDR_EL0(u64 value) override;
44 u64 GetTPIDR_EL0() const override; 44 u64 GetTPIDR_EL0() const override;
45 45
@@ -53,7 +53,7 @@ public:
53 void ClearExclusiveState() override; 53 void ClearExclusiveState() override;
54 54
55 void ClearInstructionCache() override; 55 void ClearInstructionCache() override;
56 void InvalidateCacheRange(VAddr addr, std::size_t size) override; 56 void InvalidateCacheRange(u64 addr, std::size_t size) override;
57 void PageTableChanged(Common::PageTable& new_page_table, 57 void PageTableChanged(Common::PageTable& new_page_table,
58 std::size_t new_address_space_size_in_bits) override; 58 std::size_t new_address_space_size_in_bits) override;
59 59