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