Cafe OS syscalls: Difference between revisions
Jump to navigation
Jump to search
Marionumber1 (talk | contribs) m Marionumber1 moved page Cafe OS Kernel Syscalls to Cafe OS Syscalls: Consistency with IOSU Syscalls page, and it makes more sense anyway (where are syscalls implemented other than the kernel?) |
Added PPC syscalls |
||
| Line 17: | Line 17: | ||
|- | |- | ||
| 0x000A || SetCurrentFPUContext || | | 0x000A || SetCurrentFPUContext || | ||
|- | |||
| 0x000C || WriteGatherInit || | |||
|- | |- | ||
| 0x000D || SetPerformanceMonitor || | | 0x000D || SetPerformanceMonitor || | ||
| Line 23: | Line 25: | ||
|- | |- | ||
| 0x0012 || WriteRegister32Ex || | | 0x0012 || WriteRegister32Ex || | ||
|- | |||
| 0x0017 || WriteGatherGetPtr || | |||
|- | |- | ||
| 0x0019 || GetSecurityLevel || | | 0x0019 || GetSecurityLevel || | ||
| Line 69: | Line 73: | ||
|- | |- | ||
| 0x2000 || IPCKDriver_SubmitRequest || | | 0x2000 || IPCKDriver_SubmitRequest || | ||
|- | |||
| 0x2700 || GetNotifyTarget || | |||
|- | |- | ||
| 0x2800 || ProcCtrl || | | 0x2800 || ProcCtrl || | ||
| Line 79: | Line 85: | ||
|- | |- | ||
| 0x2F00 || GetCallArgs || | | 0x2F00 || GetCallArgs || | ||
|- | |||
| 0x3000 || GetAbsoluteSystemTimeInternal || | |||
|- | |||
| 0x3100 || SetAbsoluteSystemTimeInternal || | |||
|- | |- | ||
| 0x3800 || AllocVirtAddr || | | 0x3800 || AllocVirtAddr || | ||
| Line 103: | Line 113: | ||
|- | |- | ||
| 0x4C00 || SetIABR || | | 0x4C00 || SetIABR || | ||
|- | |||
| 0x4D00 || GetProcessInfo || | |||
|- | |- | ||
| 0x4E00 || GetCodegenVirtAddrRange || | | 0x4E00 || GetCodegenVirtAddrRange || | ||
| Line 139: | Line 151: | ||
|- | |- | ||
| 0x6000 || OpenMCP || L | | 0x6000 || OpenMCP || L | ||
|- | |||
| 0x6400 || SetTimeInternal || | |||
|- | |- | ||
| 0x6600 || ProfileEntry || L | | 0x6600 || ProfileEntry || L | ||
Revision as of 21:56, 7 October 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 | |
| 0x0006 | LoadContext | |
| 0x0008 | SetContext | |
| 0x0009 | GetCurrentFPUContext | |
| 0x000A | SetCurrentFPUContext | |
| 0x000C | WriteGatherInit | |
| 0x000D | SetPerformanceMonitor | |
| 0x0011 | ReadRegister32Ex | |
| 0x0012 | WriteRegister32Ex | |
| 0x0017 | WriteGatherGetPtr | |
| 0x0019 | GetSecurityLevel | |
| 0x0100 | AppPanic | L |
| 0x0200 | EffectiveToPhysical | |
| 0x0300 | PhysicalToEffectiveCached | |
| 0x0400 | PhysicalToEffectiveUncached | |
| 0x0500 | ValidateAddrRange | L |
| 0x0600 | UpdateCoretime | |
| 0x0800 | SetUserModeExHandler | |
| 0x0B00 | AllocateTimer | |
| 0x0C00 | FreeTimer | |
| 0x0D00 | PrimeTimer | |
| 0x0E00 | StopTimer | |
| 0x0F00 | LogLoadedRPLs | |
| 0x1200 | DisableInterrupt | |
| 0x1400 | ClearAndEnableInterrupt | |
| 0x1700 | FindClosestSymbol | L |
| 0x1900 | Exit/Halt | |
| 0x1A00 | GetInfo | |
| 0x1B00 | SetInfo | |
| 0x1D00 | SendICI | |
| 0x1E00 | IPCKDriver_{Loader|User}Open | L |
| 0x1F00 | IPCKDriver_{Loader|User}Close | L |
| 0x2000 | IPCKDriver_SubmitRequest | |
| 0x2700 | GetNotifyTarget | |
| 0x2800 | ProcCtrl | |
| 0x2900 | GetForegroundBucket | |
| 0x2B00 | PrepareTitle | |
| 0x2C00 | ProcYield | |
| 0x2F00 | GetCallArgs | |
| 0x3000 | GetAbsoluteSystemTimeInternal | |
| 0x3100 | SetAbsoluteSystemTimeInternal | |
| 0x3800 | AllocVirtAddr | |
| 0x3900 | FreeVirtAddr | |
| 0x3D00 | MapMemory | |
| 0x3E00 | UnmapMemory | |
| 0x3F00 | LogBuffer | L |
| 0x4000 | LogArgs | L |
| 0x4100 | LogFunc | L |
| 0x4200 | LogReportKernel | L |
| 0x4300 | LogRetrieve | |
| 0x4900 | SavesDone_ReadyToRelease | |
| 0x4B00 | SetDABR | |
| 0x4C00 | SetIABR | |
| 0x4D00 | GetProcessInfo | |
| 0x4E00 | GetCodegenVirtAddrRange | |
| 0x4F00 | LoaderCall | |
| 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 |
| 0x6400 | SetTimeInternal | |
| 0x6600 | ProfileEntry | L |
| 0x6700 | RequestFastExit | |
| 0x6900 | GetSwitchTarget | |
| 0x6E00 | SwitchSecCodeGenMode | |
| 0x7000 | GetTitleVersion | |
| 0x7200 | ForceFullRelaunch | |
| 0x7400 | get_mode_flags(?) | L |
| 0x7500 | QueryVirtAddr | |
| 0x7600 | GetCodegenCore | |
| 0x7700 | GetSecCodeGenMode | |
| 0x7800 | CodegenCopy | |
| 0x7F00 | GetSystemMode | |
| 0x8100 | ZeroProcessMemory | |
| 0x8200 | HandleIopPowerEvents |