In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "Cafe OS syscalls"

From WiiUBrew
Jump to navigation Jump to search
Line 9: Line 9:
 
|-
 
|-
 
| 0x0000 || ConsoleWrite || L
 
| 0x0000 || ConsoleWrite || L
 +
|-
 +
| 0x0600 || UpdateCoretime ||
 +
|-
 +
| 0x0F00 || LogLoadedRPLs ||
 
|-
 
|-
 
| 0x0011 || ReadRegister32Ex ||  
 
| 0x0011 || ReadRegister32Ex ||  
Line 45: Line 49:
 
|-
 
|-
 
| 0x2000 || IPCKDriver_SubmitRequest || L
 
| 0x2000 || IPCKDriver_SubmitRequest || L
 +
|-
 +
| 0x2800 || ProcCtrl ||
 
|-
 
|-
 
| 0x2900 || GetForegroundBucket ||  
 
| 0x2900 || GetForegroundBucket ||  
 +
|-
 +
| 0x2B00 || PrepareTitle ||
 +
|-
 +
| 0x2C00 || ProcYield ||
 
|-
 
|-
 
| 0x2F00 || GetCallArgs ||  
 
| 0x2F00 || GetCallArgs ||  
Line 85: Line 95:
 
|-
 
|-
 
| 0x5800 || GetBusClockSpeed || L
 
| 0x5800 || GetBusClockSpeed || L
 +
|-
 +
| 0x5900 || GetSharedArea ||
 +
|-
 +
| 0x5A00 || SendPolicy ||
 
|-
 
|-
 
| 0x5B00 || GetProcessIndex || L
 
| 0x5B00 || GetProcessIndex || L
Line 119: Line 133:
 
|-
 
|-
 
| 0x7F00 || GetSystemMode ||  
 
| 0x7F00 || GetSystemMode ||  
 +
|-
 +
| 0x8200 || HandleIopPowerEvents ||
 
|}
 
|}

Revision as of 13:25, 3 July 2015

The kernel contains several different system call tables that controls the availability of syscalls to different process modes.

Access modes:

  • L: Loader
# Name Access
0x0000 ConsoleWrite L
0x0600 UpdateCoretime
0x0F00 LogLoadedRPLs
0x0011 ReadRegister32Ex
0x0012 WriteRegister32Ex
0x0019 GetSecurityLevel
0x0100 AppPanic L
0x0500 ValidateAddrRange L
0x0800 SetUserModeExHandler
0x0B00 AllocateTimer
0x0C00 FreeTimer
0x0D00 PrimeTimer
0x0E00 StopTimer
0x1200 DisableInterrupt
0x1400 ClearAndEnableInterrupt
0x1700 FindClosestSymbol L
0x1A00 GetInfo
0x1D00 SendICI
0x1E00 IPCKDriver_{Loader|User}Open L
0x1F00 IPCKDriver_{Loader|User}Close L
0x2000 IPCKDriver_SubmitRequest L
0x2800 ProcCtrl
0x2900 GetForegroundBucket
0x2B00 PrepareTitle
0x2C00 ProcYield
0x2F00 GetCallArgs
0x3800 AllocVirtAddr
0x3900 FreeVirtAddr
0x3D00 MapMemory
0x3E00 UnmapMemory
0x3F00 LogBuffer L
0x4000 LogArgs L
0x4100 LogFunc L
0x4200 LogReportKernel L
0x4300 LogRetrieve L
0x4900 SavesDone_ReadyToRelease
0x5000 RPLLoaderResumeContext L
0x5200 WaitIopComplete L
0x5300 FlushCode L
0x5400 FlushData L
0x5500 UpdateHeartBeat L
0x5600 LogEntry L
0x5700 FastClearMemory L
0x5800 GetBusClockSpeed L
0x5900 GetSharedArea
0x5A00 SendPolicy
0x5B00 GetProcessIndex L
0x5C00 IPCKDriver_PollLoaderCompletion L
0x5D00 BlockLogSave
0x5E00 FinishInitAndPreload L
0x5F00 ContinueStartProcess L
0x6000 OpenMCP L
0x6600 ProfileEntry L
0x6700 RequestFastExit
0x6900 GetSwitchTarget
0x6E00 SwitchSecCodeGenMode
0x7000 GetTitleVersion
0x7200 ForceFullRelaunch
0x7400 get_mode_flags(?) L
0x7500 QueryVirtAddr
0x7700 GetSecCodeGenMode
0x7800 CodegenCopy
0x7F00 GetSystemMode
0x8200 HandleIopPowerEvents