diff options
| author | 2020-03-01 23:46:10 -0500 | |
|---|---|---|
| committer | 2020-03-02 21:51:57 -0500 | |
| commit | c083ea7d7846ee40cfc889ed1d415f73ec78364c (patch) | |
| tree | c58a597921953ad17f5b233c7e23996f78c2521b /src/core/gdbstub/gdbstub.cpp | |
| parent | core: loader: Remove check for 32-bit. (diff) | |
| download | yuzu-c083ea7d7846ee40cfc889ed1d415f73ec78364c.tar.gz yuzu-c083ea7d7846ee40cfc889ed1d415f73ec78364c.tar.xz yuzu-c083ea7d7846ee40cfc889ed1d415f73ec78364c.zip | |
core: Implement separate A32/A64 ARM interfaces.
Diffstat (limited to 'src/core/gdbstub/gdbstub.cpp')
| -rw-r--r-- | src/core/gdbstub/gdbstub.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/core/gdbstub/gdbstub.cpp b/src/core/gdbstub/gdbstub.cpp index 67e95999d..e8d8871a7 100644 --- a/src/core/gdbstub/gdbstub.cpp +++ b/src/core/gdbstub/gdbstub.cpp | |||
| @@ -217,7 +217,7 @@ static u64 RegRead(std::size_t id, Kernel::Thread* thread = nullptr) { | |||
| 217 | return 0; | 217 | return 0; |
| 218 | } | 218 | } |
| 219 | 219 | ||
| 220 | const auto& thread_context = thread->GetContext(); | 220 | const auto& thread_context = thread->GetContext64(); |
| 221 | 221 | ||
| 222 | if (id < SP_REGISTER) { | 222 | if (id < SP_REGISTER) { |
| 223 | return thread_context.cpu_registers[id]; | 223 | return thread_context.cpu_registers[id]; |
| @@ -239,7 +239,7 @@ static void RegWrite(std::size_t id, u64 val, Kernel::Thread* thread = nullptr) | |||
| 239 | return; | 239 | return; |
| 240 | } | 240 | } |
| 241 | 241 | ||
| 242 | auto& thread_context = thread->GetContext(); | 242 | auto& thread_context = thread->GetContext64(); |
| 243 | 243 | ||
| 244 | if (id < SP_REGISTER) { | 244 | if (id < SP_REGISTER) { |
| 245 | thread_context.cpu_registers[id] = val; | 245 | thread_context.cpu_registers[id] = val; |
| @@ -259,7 +259,7 @@ static u128 FpuRead(std::size_t id, Kernel::Thread* thread = nullptr) { | |||
| 259 | return u128{0}; | 259 | return u128{0}; |
| 260 | } | 260 | } |
| 261 | 261 | ||
| 262 | auto& thread_context = thread->GetContext(); | 262 | auto& thread_context = thread->GetContext64(); |
| 263 | 263 | ||
| 264 | if (id >= UC_ARM64_REG_Q0 && id < FPCR_REGISTER) { | 264 | if (id >= UC_ARM64_REG_Q0 && id < FPCR_REGISTER) { |
| 265 | return thread_context.vector_registers[id - UC_ARM64_REG_Q0]; | 265 | return thread_context.vector_registers[id - UC_ARM64_REG_Q0]; |
| @@ -275,7 +275,7 @@ static void FpuWrite(std::size_t id, u128 val, Kernel::Thread* thread = nullptr) | |||
| 275 | return; | 275 | return; |
| 276 | } | 276 | } |
| 277 | 277 | ||
| 278 | auto& thread_context = thread->GetContext(); | 278 | auto& thread_context = thread->GetContext64(); |
| 279 | 279 | ||
| 280 | if (id >= UC_ARM64_REG_Q0 && id < FPCR_REGISTER) { | 280 | if (id >= UC_ARM64_REG_Q0 && id < FPCR_REGISTER) { |
| 281 | thread_context.vector_registers[id - UC_ARM64_REG_Q0] = val; | 281 | thread_context.vector_registers[id - UC_ARM64_REG_Q0] = val; |
| @@ -916,7 +916,7 @@ static void WriteRegister() { | |||
| 916 | // Update ARM context, skipping scheduler - no running threads at this point | 916 | // Update ARM context, skipping scheduler - no running threads at this point |
| 917 | Core::System::GetInstance() | 917 | Core::System::GetInstance() |
| 918 | .ArmInterface(current_core) | 918 | .ArmInterface(current_core) |
| 919 | .LoadContext(current_thread->GetContext()); | 919 | .LoadContext(current_thread->GetContext64()); |
| 920 | 920 | ||
| 921 | SendReply("OK"); | 921 | SendReply("OK"); |
| 922 | } | 922 | } |
| @@ -947,7 +947,7 @@ static void WriteRegisters() { | |||
| 947 | // Update ARM context, skipping scheduler - no running threads at this point | 947 | // Update ARM context, skipping scheduler - no running threads at this point |
| 948 | Core::System::GetInstance() | 948 | Core::System::GetInstance() |
| 949 | .ArmInterface(current_core) | 949 | .ArmInterface(current_core) |
| 950 | .LoadContext(current_thread->GetContext()); | 950 | .LoadContext(current_thread->GetContext64()); |
| 951 | 951 | ||
| 952 | SendReply("OK"); | 952 | SendReply("OK"); |
| 953 | } | 953 | } |
| @@ -1019,7 +1019,7 @@ static void Step() { | |||
| 1019 | // Update ARM context, skipping scheduler - no running threads at this point | 1019 | // Update ARM context, skipping scheduler - no running threads at this point |
| 1020 | Core::System::GetInstance() | 1020 | Core::System::GetInstance() |
| 1021 | .ArmInterface(current_core) | 1021 | .ArmInterface(current_core) |
| 1022 | .LoadContext(current_thread->GetContext()); | 1022 | .LoadContext(current_thread->GetContext64()); |
| 1023 | } | 1023 | } |
| 1024 | step_loop = true; | 1024 | step_loop = true; |
| 1025 | halt_loop = true; | 1025 | halt_loop = true; |