hle: kernel: Further cleanup and add TIPC helpers.
This commit is contained in:
		| @@ -99,7 +99,7 @@ void HLERequestContext::ParseCommandBuffer(const KHandleTable& handle_table, u32 | ||||
|         buffer_w_desciptors.push_back(rp.PopRaw<IPC::BufferDescriptorABW>()); | ||||
|     } | ||||
|  | ||||
|     buffer_c_offset = rp.GetCurrentOffset() + command_header->data_size; | ||||
|     const auto buffer_c_offset = rp.GetCurrentOffset() + command_header->data_size; | ||||
|  | ||||
|     // Padding to align to 16 bytes | ||||
|     rp.AlignWithPadding(); | ||||
|   | ||||
| @@ -128,10 +128,19 @@ public: | ||||
|     /// Writes data from this context back to the requesting process/thread. | ||||
|     ResultCode WriteToOutgoingCommandBuffer(KThread& requesting_thread); | ||||
|  | ||||
|     u32_le GetCommand() const { | ||||
|     u32_le GetHipcCommand() const { | ||||
|         return command; | ||||
|     } | ||||
|  | ||||
|     u32_le GetTipcCommand() const { | ||||
|         return static_cast<u32_le>(command_header->type.Value()) - | ||||
|                static_cast<u32_le>(IPC::CommandType::TIPC_CommandRegion); | ||||
|     } | ||||
|  | ||||
|     u32_le GetCommand() const { | ||||
|         return command_header->IsTipc() ? GetTipcCommand() : GetHipcCommand(); | ||||
|     } | ||||
|  | ||||
|     bool IsTipc() const { | ||||
|         return command_header->IsTipc(); | ||||
|     } | ||||
| @@ -140,7 +149,7 @@ public: | ||||
|         return command_header->type; | ||||
|     } | ||||
|  | ||||
|     unsigned GetDataPayloadOffset() const { | ||||
|     u32 GetDataPayloadOffset() const { | ||||
|         return data_payload_offset; | ||||
|     } | ||||
|  | ||||
| @@ -296,7 +305,6 @@ private: | ||||
|     std::vector<IPC::BufferDescriptorC> buffer_c_desciptors; | ||||
|  | ||||
|     u32 data_payload_offset{}; | ||||
|     u32 buffer_c_offset{}; | ||||
|     u32 handles_offset{}; | ||||
|     u32 domain_offset{}; | ||||
|     u32_le command{}; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user