Initial support for the new 12.x IPC system (#2182)

* Rename CommandAttribute as CommandHIpcAttribute to prepare for 12.x changes

* Implement inital support for TIPC and adds SM command ids

* *Ipc to *ipc

* Missed a ref in last commit...

* CommandAttributeTIpc to CommandAttributeTipc

* Addresses comment and fixes some bugs around

TIPC doesn't have any padding requirements as buffer C isn't a thing
Fix for RegisterService inverting two argument only on TIPC
This commit is contained in:
Mary 2021-04-14 00:01:24 +02:00 committed by GitHub
parent faa654dbaf
commit 0746b83edf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
132 changed files with 1077 additions and 951 deletions

View file

@ -25,9 +25,9 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
_permission = permission;
}
[Command(10100)] // 1.0.0-5.1.0
[Command(10102)] // 6.0.0-9.2.0
[Command(10104)] // 10.0.0+
[CommandHipc(10100)] // 1.0.0-5.1.0
[CommandHipc(10102)] // 6.0.0-9.2.0
[CommandHipc(10104)] // 10.0.0+
// SaveReport(u64, pid, buffer<u8, 9>, buffer<bytes, 5>)
public ResultCode SaveReport(ServiceCtx context)
{
@ -40,9 +40,9 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
return ProcessReport(context, withUserID: false);
}
[Command(10101)] // 1.0.0-5.1.0
[Command(10103)] // 6.0.0-9.2.0
[Command(10105)] // 10.0.0+
[CommandHipc(10101)] // 1.0.0-5.1.0
[CommandHipc(10103)] // 6.0.0-9.2.0
[CommandHipc(10105)] // 10.0.0+
// SaveReportWithUser(nn::account::Uid, u64, pid, buffer<u8, 9>, buffer<bytes, 5>)
public ResultCode SaveReportWithUser(ServiceCtx context)
{
@ -55,7 +55,7 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
return ProcessReport(context, withUserID: true);
}
[Command(10200)]
[CommandHipc(10200)]
// RequestImmediateTransmission()
public ResultCode RequestImmediateTransmission(ServiceCtx context)
{
@ -65,7 +65,7 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
return ResultCode.Success;
}
[Command(10300)]
[CommandHipc(10300)]
// GetTransmissionStatus() -> u32
public ResultCode GetTransmissionStatus(ServiceCtx context)
{
@ -76,7 +76,7 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
return ResultCode.Success;
}
[Command(10400)] // 9.0.0+
[CommandHipc(10400)] // 9.0.0+
// GetSystemSessionId() -> u64
public ResultCode GetSystemSessionId(ServiceCtx context)
{