diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-05-16 06:40:19 +0200 |
---|---|---|
committer | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-05-16 10:10:42 +0200 |
commit | 81a5ecdb18f04a508d57dd1fd8a182703d4734b5 (patch) | |
tree | f0319179cab798a785c40fd64f24d8eb9ba156f5 | |
parent | Merge pull request #6293 from v1993/master (diff) | |
download | yuzu-81a5ecdb18f04a508d57dd1fd8a182703d4734b5.tar yuzu-81a5ecdb18f04a508d57dd1fd8a182703d4734b5.tar.gz yuzu-81a5ecdb18f04a508d57dd1fd8a182703d4734b5.tar.bz2 yuzu-81a5ecdb18f04a508d57dd1fd8a182703d4734b5.tar.lz yuzu-81a5ecdb18f04a508d57dd1fd8a182703d4734b5.tar.xz yuzu-81a5ecdb18f04a508d57dd1fd8a182703d4734b5.tar.zst yuzu-81a5ecdb18f04a508d57dd1fd8a182703d4734b5.zip |
-rw-r--r-- | src/core/hle/kernel/hle_ipc.cpp | 2 | ||||
-rw-r--r-- | src/core/hle/kernel/hle_ipc.h | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp index ce3466df8..f79b6b47e 100644 --- a/src/core/hle/kernel/hle_ipc.cpp +++ b/src/core/hle/kernel/hle_ipc.cpp @@ -64,7 +64,7 @@ void HLERequestContext::ParseCommandBuffer(const KHandleTable& handle_table, u32 if (command_header->enable_handle_descriptor) { handle_descriptor_header = rp.PopRaw<IPC::HandleDescriptorHeader>(); if (handle_descriptor_header->send_current_pid) { - rp.Skip(2, false); + pid = rp.Pop<u64>(); } if (incoming) { // Populate the object lists with the data in the IPC request. diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index 4fba300dc..e1b128281 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h @@ -150,6 +150,10 @@ public: return command_header->type; } + u64 GetPID() const { + return pid; + } + u32 GetDataPayloadOffset() const { return data_payload_offset; } @@ -305,11 +309,12 @@ private: std::vector<IPC::BufferDescriptorABW> buffer_w_desciptors; std::vector<IPC::BufferDescriptorC> buffer_c_desciptors; + u32_le command{}; + u64 pid{}; u32 data_payload_offset{}; u32 handles_offset{}; u32 domain_offset{}; u32 data_size{}; - u32_le command{}; std::vector<std::shared_ptr<SessionRequestHandler>> domain_request_handlers; bool is_thread_waiting{}; |