mirror of
https://github.com/PabloMK7/citra.git
synced 2025-09-11 13:20:04 +00:00
Merge pull request #3138 from wwylele/ipc-mapped-buffer
Kernel/IPC: Implement MappedBuffer translation for HLE services that use the HLERequestContext architecture.
This commit is contained in:
commit
14819d0b84
7 changed files with 319 additions and 125 deletions
|
@ -606,7 +606,7 @@ void DeleteContents(Service::Interface* self) {
|
|||
u8 media_type = rp.Pop<u8>();
|
||||
u64 title_id = rp.Pop<u64>();
|
||||
u32 content_count = rp.Pop<u32>();
|
||||
VAddr content_ids_in = rp.PopMappedBuffer();
|
||||
VAddr content_ids_in = rp.PopMappedBuffer(nullptr);
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
|
@ -620,7 +620,7 @@ void GetProgramList(Service::Interface* self) {
|
|||
|
||||
u32 count = rp.Pop<u32>();
|
||||
u8 media_type = rp.Pop<u8>();
|
||||
VAddr title_ids_output_pointer = rp.PopMappedBuffer();
|
||||
VAddr title_ids_output_pointer = rp.PopMappedBuffer(nullptr);
|
||||
|
||||
if (!Memory::IsValidVirtualAddress(title_ids_output_pointer) || media_type > 2) {
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
|
@ -765,7 +765,7 @@ void ListDataTitleTicketInfos(Service::Interface* self) {
|
|||
u32 ticket_count = rp.Pop<u32>();
|
||||
u64 title_id = rp.Pop<u64>();
|
||||
u32 start_index = rp.Pop<u32>();
|
||||
VAddr ticket_info_out = rp.PopMappedBuffer();
|
||||
VAddr ticket_info_out = rp.PopMappedBuffer(nullptr);
|
||||
VAddr ticket_info_write = ticket_info_out;
|
||||
|
||||
for (u32 i = 0; i < ticket_count; i++) {
|
||||
|
@ -840,7 +840,7 @@ void GetTicketList(Service::Interface* self) {
|
|||
IPC::RequestParser rp(Kernel::GetCommandBuffer(), 9, 2, 2); // 0x00090082
|
||||
u32 ticket_list_count = rp.Pop<u32>();
|
||||
u32 ticket_index = rp.Pop<u32>();
|
||||
VAddr ticket_tids_out = rp.PopMappedBuffer();
|
||||
VAddr ticket_tids_out = rp.PopMappedBuffer(nullptr);
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue