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

@ -16,7 +16,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
_bypassUninitializedClock = bypassUninitializedClock;
}
[Command(0)]
[CommandHipc(0)]
// GetCurrentTimePoint() -> nn::time::SteadyClockTimePoint
public ResultCode GetCurrentTimePoint(ServiceCtx context)
{
@ -32,7 +32,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
[Command(2)]
[CommandHipc(2)]
// GetTestOffset() -> nn::TimeSpanType
public ResultCode GetTestOffset(ServiceCtx context)
{
@ -46,7 +46,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
[Command(3)]
[CommandHipc(3)]
// SetTestOffset(nn::TimeSpanType)
public ResultCode SetTestOffset(ServiceCtx context)
{
@ -67,7 +67,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
[Command(100)] // 2.0.0+
[CommandHipc(100)] // 2.0.0+
// GetRtcValue() -> u64
public ResultCode GetRtcValue(ServiceCtx context)
{
@ -86,7 +86,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return result;
}
[Command(101)] // 2.0.0+
[CommandHipc(101)] // 2.0.0+
// IsRtcResetDetected() -> bool
public ResultCode IsRtcResetDetected(ServiceCtx context)
{
@ -100,7 +100,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
[Command(102)] // 2.0.0+
[CommandHipc(102)] // 2.0.0+
// GetSetupResultValue() -> u32
public ResultCode GetSetupResultValue(ServiceCtx context)
{
@ -114,7 +114,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
[Command(200)] // 3.0.0+
[CommandHipc(200)] // 3.0.0+
// GetInternalOffset() -> nn::TimeSpanType
public ResultCode GetInternalOffset(ServiceCtx context)
{
@ -128,7 +128,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
[Command(201)] // 3.0.0-3.0.2
[CommandHipc(201)] // 3.0.0-3.0.2
// SetInternalOffset(nn::TimeSpanType)
public ResultCode SetInternalOffset(ServiceCtx context)
{