diff options
| author | 2023-03-17 21:26:04 -0400 | |
|---|---|---|
| committer | 2023-03-22 09:35:16 -0400 | |
| commit | fb49ec19c1fb6030fcc960077e82c998290d0ab8 (patch) | |
| tree | aa5f53cbbfc2b255923bcf362ee0009938ed8187 /src/core/hle/service | |
| parent | Merge pull request #9955 from liamwhite/color-blend-equation (diff) | |
| download | yuzu-fb49ec19c1fb6030fcc960077e82c998290d0ab8.tar.gz yuzu-fb49ec19c1fb6030fcc960077e82c998290d0ab8.tar.xz yuzu-fb49ec19c1fb6030fcc960077e82c998290d0ab8.zip | |
kernel: use KTypedAddress for addresses
Diffstat (limited to 'src/core/hle/service')
10 files changed, 22 insertions, 21 deletions
diff --git a/src/core/hle/service/hid/controllers/console_sixaxis.cpp b/src/core/hle/service/hid/controllers/console_sixaxis.cpp index 478d38590..37f2e4405 100644 --- a/src/core/hle/service/hid/controllers/console_sixaxis.cpp +++ b/src/core/hle/service/hid/controllers/console_sixaxis.cpp | |||
| @@ -63,7 +63,7 @@ void Controller_ConsoleSixAxis::OnUpdate(const Core::Timing::CoreTiming& core_ti | |||
| 63 | system.Memory().WriteBlock(transfer_memory, &seven_sixaxis_lifo, sizeof(seven_sixaxis_lifo)); | 63 | system.Memory().WriteBlock(transfer_memory, &seven_sixaxis_lifo, sizeof(seven_sixaxis_lifo)); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | void Controller_ConsoleSixAxis::SetTransferMemoryAddress(VAddr t_mem) { | 66 | void Controller_ConsoleSixAxis::SetTransferMemoryAddress(Common::ProcessAddress t_mem) { |
| 67 | transfer_memory = t_mem; | 67 | transfer_memory = t_mem; |
| 68 | } | 68 | } |
| 69 | 69 | ||
diff --git a/src/core/hle/service/hid/controllers/console_sixaxis.h b/src/core/hle/service/hid/controllers/console_sixaxis.h index 8d3e4081b..7015d924c 100644 --- a/src/core/hle/service/hid/controllers/console_sixaxis.h +++ b/src/core/hle/service/hid/controllers/console_sixaxis.h | |||
| @@ -5,8 +5,8 @@ | |||
| 5 | 5 | ||
| 6 | #include <array> | 6 | #include <array> |
| 7 | 7 | ||
| 8 | #include "common/common_types.h" | ||
| 9 | #include "common/quaternion.h" | 8 | #include "common/quaternion.h" |
| 9 | #include "common/typed_address.h" | ||
| 10 | #include "core/hle/service/hid/controllers/controller_base.h" | 10 | #include "core/hle/service/hid/controllers/controller_base.h" |
| 11 | #include "core/hle/service/hid/ring_lifo.h" | 11 | #include "core/hle/service/hid/ring_lifo.h" |
| 12 | 12 | ||
| @@ -34,7 +34,7 @@ public: | |||
| 34 | void OnUpdate(const Core::Timing::CoreTiming& core_timing) override; | 34 | void OnUpdate(const Core::Timing::CoreTiming& core_timing) override; |
| 35 | 35 | ||
| 36 | // Called on InitializeSevenSixAxisSensor | 36 | // Called on InitializeSevenSixAxisSensor |
| 37 | void SetTransferMemoryAddress(VAddr t_mem); | 37 | void SetTransferMemoryAddress(Common::ProcessAddress t_mem); |
| 38 | 38 | ||
| 39 | // Called on ResetSevenSixAxisSensorTimestamp | 39 | // Called on ResetSevenSixAxisSensorTimestamp |
| 40 | void ResetTimestamp(); | 40 | void ResetTimestamp(); |
| @@ -66,7 +66,7 @@ private: | |||
| 66 | static_assert(sizeof(seven_sixaxis_lifo) == 0xA70, "SevenSixAxisState is an invalid size"); | 66 | static_assert(sizeof(seven_sixaxis_lifo) == 0xA70, "SevenSixAxisState is an invalid size"); |
| 67 | 67 | ||
| 68 | SevenSixAxisState next_seven_sixaxis_state{}; | 68 | SevenSixAxisState next_seven_sixaxis_state{}; |
| 69 | VAddr transfer_memory{}; | 69 | Common::ProcessAddress transfer_memory{}; |
| 70 | ConsoleSharedMemory* shared_memory = nullptr; | 70 | ConsoleSharedMemory* shared_memory = nullptr; |
| 71 | Core::HID::EmulatedConsole* console = nullptr; | 71 | Core::HID::EmulatedConsole* console = nullptr; |
| 72 | 72 | ||
diff --git a/src/core/hle/service/hid/controllers/palma.cpp b/src/core/hle/service/hid/controllers/palma.cpp index bce51285c..14c67e454 100644 --- a/src/core/hle/service/hid/controllers/palma.cpp +++ b/src/core/hle/service/hid/controllers/palma.cpp | |||
| @@ -152,7 +152,7 @@ Result Controller_Palma::WritePalmaRgbLedPatternEntry(const PalmaConnectionHandl | |||
| 152 | } | 152 | } |
| 153 | 153 | ||
| 154 | Result Controller_Palma::WritePalmaWaveEntry(const PalmaConnectionHandle& handle, PalmaWaveSet wave, | 154 | Result Controller_Palma::WritePalmaWaveEntry(const PalmaConnectionHandle& handle, PalmaWaveSet wave, |
| 155 | VAddr t_mem, u64 size) { | 155 | Common::ProcessAddress t_mem, u64 size) { |
| 156 | if (handle.npad_id != active_handle.npad_id) { | 156 | if (handle.npad_id != active_handle.npad_id) { |
| 157 | return InvalidPalmaHandle; | 157 | return InvalidPalmaHandle; |
| 158 | } | 158 | } |
diff --git a/src/core/hle/service/hid/controllers/palma.h b/src/core/hle/service/hid/controllers/palma.h index cf62f0dbc..a0491a819 100644 --- a/src/core/hle/service/hid/controllers/palma.h +++ b/src/core/hle/service/hid/controllers/palma.h | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | #include <array> | 6 | #include <array> |
| 7 | #include "common/common_funcs.h" | 7 | #include "common/common_funcs.h" |
| 8 | #include "common/common_types.h" | 8 | #include "common/typed_address.h" |
| 9 | #include "core/hle/service/hid/controllers/controller_base.h" | 9 | #include "core/hle/service/hid/controllers/controller_base.h" |
| 10 | #include "core/hle/service/hid/errors.h" | 10 | #include "core/hle/service/hid/errors.h" |
| 11 | 11 | ||
| @@ -125,8 +125,8 @@ public: | |||
| 125 | Result ReadPalmaUniqueCode(const PalmaConnectionHandle& handle); | 125 | Result ReadPalmaUniqueCode(const PalmaConnectionHandle& handle); |
| 126 | Result SetPalmaUniqueCodeInvalid(const PalmaConnectionHandle& handle); | 126 | Result SetPalmaUniqueCodeInvalid(const PalmaConnectionHandle& handle); |
| 127 | Result WritePalmaRgbLedPatternEntry(const PalmaConnectionHandle& handle, u64 unknown); | 127 | Result WritePalmaRgbLedPatternEntry(const PalmaConnectionHandle& handle, u64 unknown); |
| 128 | Result WritePalmaWaveEntry(const PalmaConnectionHandle& handle, PalmaWaveSet wave, VAddr t_mem, | 128 | Result WritePalmaWaveEntry(const PalmaConnectionHandle& handle, PalmaWaveSet wave, |
| 129 | u64 size); | 129 | Common::ProcessAddress t_mem, u64 size); |
| 130 | Result SetPalmaDataBaseIdentificationVersion(const PalmaConnectionHandle& handle, | 130 | Result SetPalmaDataBaseIdentificationVersion(const PalmaConnectionHandle& handle, |
| 131 | s32 database_id_version_); | 131 | s32 database_id_version_); |
| 132 | Result GetPalmaDataBaseIdentificationVersion(const PalmaConnectionHandle& handle); | 132 | Result GetPalmaDataBaseIdentificationVersion(const PalmaConnectionHandle& handle); |
diff --git a/src/core/hle/service/hid/hidbus/hidbus_base.cpp b/src/core/hle/service/hid/hidbus/hidbus_base.cpp index dfd23ec04..ee522c36e 100644 --- a/src/core/hle/service/hid/hidbus/hidbus_base.cpp +++ b/src/core/hle/service/hid/hidbus/hidbus_base.cpp | |||
| @@ -59,7 +59,7 @@ void HidbusBase::DisablePollingMode() { | |||
| 59 | polling_mode_enabled = false; | 59 | polling_mode_enabled = false; |
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | void HidbusBase::SetTransferMemoryAddress(VAddr t_mem) { | 62 | void HidbusBase::SetTransferMemoryAddress(Common::ProcessAddress t_mem) { |
| 63 | transfer_memory = t_mem; | 63 | transfer_memory = t_mem; |
| 64 | } | 64 | } |
| 65 | 65 | ||
diff --git a/src/core/hle/service/hid/hidbus/hidbus_base.h b/src/core/hle/service/hid/hidbus/hidbus_base.h index 26313264d..ec41684e1 100644 --- a/src/core/hle/service/hid/hidbus/hidbus_base.h +++ b/src/core/hle/service/hid/hidbus/hidbus_base.h | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | #include <array> | 6 | #include <array> |
| 7 | #include <span> | 7 | #include <span> |
| 8 | #include "common/common_types.h" | 8 | #include "common/typed_address.h" |
| 9 | #include "core/hle/result.h" | 9 | #include "core/hle/result.h" |
| 10 | 10 | ||
| 11 | namespace Core { | 11 | namespace Core { |
| @@ -138,7 +138,7 @@ public: | |||
| 138 | void DisablePollingMode(); | 138 | void DisablePollingMode(); |
| 139 | 139 | ||
| 140 | // Called on EnableJoyPollingReceiveMode | 140 | // Called on EnableJoyPollingReceiveMode |
| 141 | void SetTransferMemoryAddress(VAddr t_mem); | 141 | void SetTransferMemoryAddress(Common::ProcessAddress t_mem); |
| 142 | 142 | ||
| 143 | Kernel::KReadableEvent& GetSendCommandAsycEvent() const; | 143 | Kernel::KReadableEvent& GetSendCommandAsycEvent() const; |
| 144 | 144 | ||
| @@ -174,7 +174,7 @@ protected: | |||
| 174 | JoyEnableSixAxisDataAccessor enable_sixaxis_data{}; | 174 | JoyEnableSixAxisDataAccessor enable_sixaxis_data{}; |
| 175 | ButtonOnlyPollingDataAccessor button_only_data{}; | 175 | ButtonOnlyPollingDataAccessor button_only_data{}; |
| 176 | 176 | ||
| 177 | VAddr transfer_memory{}; | 177 | Common::ProcessAddress transfer_memory{}; |
| 178 | 178 | ||
| 179 | Core::System& system; | 179 | Core::System& system; |
| 180 | Kernel::KEvent* send_command_async_event; | 180 | Kernel::KEvent* send_command_async_event; |
diff --git a/src/core/hle/service/hid/irsensor/image_transfer_processor.cpp b/src/core/hle/service/hid/irsensor/image_transfer_processor.cpp index a268750cd..ca5d067e8 100644 --- a/src/core/hle/service/hid/irsensor/image_transfer_processor.cpp +++ b/src/core/hle/service/hid/irsensor/image_transfer_processor.cpp | |||
| @@ -140,7 +140,7 @@ void ImageTransferProcessor::SetConfig( | |||
| 140 | npad_device->SetCameraFormat(current_config.origin_format); | 140 | npad_device->SetCameraFormat(current_config.origin_format); |
| 141 | } | 141 | } |
| 142 | 142 | ||
| 143 | void ImageTransferProcessor::SetTransferMemoryAddress(VAddr t_mem) { | 143 | void ImageTransferProcessor::SetTransferMemoryAddress(Common::ProcessAddress t_mem) { |
| 144 | transfer_memory = t_mem; | 144 | transfer_memory = t_mem; |
| 145 | } | 145 | } |
| 146 | 146 | ||
diff --git a/src/core/hle/service/hid/irsensor/image_transfer_processor.h b/src/core/hle/service/hid/irsensor/image_transfer_processor.h index 7cfe04c8c..7f42d8453 100644 --- a/src/core/hle/service/hid/irsensor/image_transfer_processor.h +++ b/src/core/hle/service/hid/irsensor/image_transfer_processor.h | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | #pragma once | 4 | #pragma once |
| 5 | 5 | ||
| 6 | #include "common/common_types.h" | 6 | #include "common/typed_address.h" |
| 7 | #include "core/hid/irs_types.h" | 7 | #include "core/hid/irs_types.h" |
| 8 | #include "core/hle/service/hid/irsensor/processor_base.h" | 8 | #include "core/hle/service/hid/irsensor/processor_base.h" |
| 9 | 9 | ||
| @@ -37,7 +37,7 @@ public: | |||
| 37 | void SetConfig(Core::IrSensor::PackedImageTransferProcessorExConfig config); | 37 | void SetConfig(Core::IrSensor::PackedImageTransferProcessorExConfig config); |
| 38 | 38 | ||
| 39 | // Transfer memory where the image data will be stored | 39 | // Transfer memory where the image data will be stored |
| 40 | void SetTransferMemoryAddress(VAddr t_mem); | 40 | void SetTransferMemoryAddress(Common::ProcessAddress t_mem); |
| 41 | 41 | ||
| 42 | Core::IrSensor::ImageTransferProcessorState GetState(std::vector<u8>& data) const; | 42 | Core::IrSensor::ImageTransferProcessorState GetState(std::vector<u8>& data) const; |
| 43 | 43 | ||
| @@ -72,6 +72,6 @@ private: | |||
| 72 | int callback_key{}; | 72 | int callback_key{}; |
| 73 | 73 | ||
| 74 | Core::System& system; | 74 | Core::System& system; |
| 75 | VAddr transfer_memory{}; | 75 | Common::ProcessAddress transfer_memory{}; |
| 76 | }; | 76 | }; |
| 77 | } // namespace Service::IRS | 77 | } // namespace Service::IRS |
diff --git a/src/core/hle/service/jit/jit.cpp b/src/core/hle/service/jit/jit.cpp index 46bcfd695..607f27b21 100644 --- a/src/core/hle/service/jit/jit.cpp +++ b/src/core/hle/service/jit/jit.cpp | |||
| @@ -195,7 +195,7 @@ public: | |||
| 195 | } | 195 | } |
| 196 | 196 | ||
| 197 | // Set up the configuration with the required TransferMemory address | 197 | // Set up the configuration with the required TransferMemory address |
| 198 | configuration.transfer_memory.offset = tmem->GetSourceAddress(); | 198 | configuration.transfer_memory.offset = GetInteger(tmem->GetSourceAddress()); |
| 199 | configuration.transfer_memory.size = tmem_size; | 199 | configuration.transfer_memory.size = tmem_size; |
| 200 | 200 | ||
| 201 | // Gather up all the callbacks from the loaded plugin | 201 | // Gather up all the callbacks from the loaded plugin |
| @@ -383,12 +383,12 @@ public: | |||
| 383 | } | 383 | } |
| 384 | 384 | ||
| 385 | const CodeRange user_rx{ | 385 | const CodeRange user_rx{ |
| 386 | .offset = rx_mem->GetSourceAddress(), | 386 | .offset = GetInteger(rx_mem->GetSourceAddress()), |
| 387 | .size = parameters.rx_size, | 387 | .size = parameters.rx_size, |
| 388 | }; | 388 | }; |
| 389 | 389 | ||
| 390 | const CodeRange user_ro{ | 390 | const CodeRange user_ro{ |
| 391 | .offset = ro_mem->GetSourceAddress(), | 391 | .offset = GetInteger(ro_mem->GetSourceAddress()), |
| 392 | .size = parameters.ro_size, | 392 | .size = parameters.ro_size, |
| 393 | }; | 393 | }; |
| 394 | 394 | ||
diff --git a/src/core/hle/service/ldr/ldr.cpp b/src/core/hle/service/ldr/ldr.cpp index 6de96ed5b..437dc2ea5 100644 --- a/src/core/hle/service/ldr/ldr.cpp +++ b/src/core/hle/service/ldr/ldr.cpp | |||
| @@ -337,7 +337,7 @@ public: | |||
| 337 | 337 | ||
| 338 | bool succeeded = false; | 338 | bool succeeded = false; |
| 339 | const auto map_region_end = | 339 | const auto map_region_end = |
| 340 | page_table.GetAliasCodeRegionStart() + page_table.GetAliasCodeRegionSize(); | 340 | GetInteger(page_table.GetAliasCodeRegionStart()) + page_table.GetAliasCodeRegionSize(); |
| 341 | while (current_map_addr < map_region_end) { | 341 | while (current_map_addr < map_region_end) { |
| 342 | if (is_region_available(current_map_addr)) { | 342 | if (is_region_available(current_map_addr)) { |
| 343 | succeeded = true; | 343 | succeeded = true; |
| @@ -642,7 +642,8 @@ public: | |||
| 642 | LOG_WARNING(Service_LDR, "(STUBBED) called"); | 642 | LOG_WARNING(Service_LDR, "(STUBBED) called"); |
| 643 | 643 | ||
| 644 | initialized = true; | 644 | initialized = true; |
| 645 | current_map_addr = system.ApplicationProcess()->PageTable().GetAliasCodeRegionStart(); | 645 | current_map_addr = |
| 646 | GetInteger(system.ApplicationProcess()->PageTable().GetAliasCodeRegionStart()); | ||
| 646 | 647 | ||
| 647 | IPC::ResponseBuilder rb{ctx, 2}; | 648 | IPC::ResponseBuilder rb{ctx, 2}; |
| 648 | rb.Push(ResultSuccess); | 649 | rb.Push(ResultSuccess); |