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

Changes

Jump to navigation Jump to search
1,273 bytes added ,  01:58, 27 December 2024
no edit summary
Line 548: Line 548:  
| 0x6A || 0x60 || u32 || GetIopCpuUtilization ||
 
| 0x6A || 0x60 || u32 || GetIopCpuUtilization ||
 
|-
 
|-
| 0x6B || 0x61 || IOSError || [[#GetThreadStackInfo|GetThreadStackInfo]] || IOSThreadId id, IOSThreadStackInfo *out_buf
+
| 0x6B || 0x61 || IOSError || GetThreadStackInfo || IOSThreadId id, [[#IOSThreadStackInfo|IOSThreadStackInfo]] *out
 
|-
 
|-
| 0x6C || 0x62 || IOSError || [[#IOS_ThreadProfileCommand|IOS_ThreadProfileCommand]] || u32 cmd, u32 unk
+
| 0x6C || 0x62 || IOSError || IOS_ThreadProfileCommand || [[#IOSThreadProfileCommand|IOSThreadProfileCommand]] cmd, void *data
 
|-
 
|-
| 0x6D || 0x63 || IOSError || IOS_GetThreadUtilization || IOSThreadUtilization *out_buf
+
| 0x6D || 0x63 || IOSError || IOS_GetThreadUtilization || [[#IOSThreadUtilization|IOSThreadUtilization]] *out
 
|-
 
|-
| 0x6E || 0x64 || IOSError || GetThreadContext || IOSThreadId id, IOSThreadContext *out_buf
+
| 0x6E || 0x64 || IOSError || GetThreadProfile || IOSThreadId id, [[#IOSThreadProfile|IOSThreadProfile]] *out
 
|-
 
|-
| 0x6F || 0x65 || u32 || GetThreadProfile || u32 count, IOSThreadProfile *out_buf
+
| 0x6F || 0x65 || IOSError || GetThreadProfiles || u32 max_profiles, [[#IOSThreadProfile|IOSThreadProfile]] *out
 
|-
 
|-
 
| 0x70 ||  || IOSError || GetIobContext || u32 id, IOSIobContext *out_buf
 
| 0x70 ||  || IOSError || GetIobContext || u32 id, IOSIobContext *out_buf
Line 588: Line 588:  
| 0x7E || 0x72 || void || Shutdown || bool reset
 
| 0x7E || 0x72 || void || Shutdown || bool reset
 
|-
 
|-
| 0x7F || 0x73 || void || Panic || char *panic_desc, u32 panic_desc_size
+
| 0x7F || 0x73 || void || IOS_Panic || char *panic_desc, u32 panic_desc_size
 
|-
 
|-
 
| 0x80 || 0x74 || void || Reset ||
 
| 0x80 || 0x74 || void || Reset ||
Line 600: Line 600:  
| 0x84 || 0x78 || IOSError || [[#LoadPpcApplication|LoadPpcApplication]] || u32 mem_id, u32 addr1, u32 size1, u32 addr2, u32 size2
 
| 0x84 || 0x78 || IOSError || [[#LoadPpcApplication|LoadPpcApplication]] || u32 mem_id, u32 addr1, u32 size1, u32 addr2, u32 size2
 
|-
 
|-
| 0x85 || 0x79 || IOSError || SetSecurityLevel || IOSSecurityLevel level
+
| 0x85 || 0x79 || IOSError || SetSecurityLevel || [[#IOSSecurityLevel|IOSSecurityLevel]] level
 
|-
 
|-
 
| 0x86 || 0x7A || IOSSecurityLevel || GetSecurityLevel ||
 
| 0x86 || 0x7A || IOSSecurityLevel || GetSecurityLevel ||
Line 675: Line 675:  
=== InitializePpc ===
 
=== InitializePpc ===
 
Fills range 0x00000000 to 0x00002000 in MEM1 with empty PPC branches
 
Fills range 0x00000000 to 0x00002000 in MEM1 with empty PPC branches
  −
=== GetThreadStackInfo ===
  −
Gets information on the specified thread's stack:
  −
0x00(out_buf) == sys stack base
  −
0x04(out_buf) == sys stack size (0x400)
  −
0x08(out_buf) == sys stack used space
  −
0x0C(out_buf) == user stack base
  −
0x10(out_buf) == user stack size
  −
0x14(out_buf) == user stack used space
  −
  −
=== IOS_ThreadProfileCommand ===
  −
Issues a command to the thread profiling system. Valid commands are:
  −
67h : Start profiling
  −
64h : Stop profiling
  −
65h : Stop profiling interval (disabled on retail?)
  −
66h, 6Eh, 6Fh : Unknown
      
=== LoadSystemConfiguration ===
 
=== LoadSystemConfiguration ===
Line 871: Line 855:  
| 0xA8 || 0x8 ||  
 
| 0xA8 || 0x8 ||  
 
|-
 
|-
| 0xB0 || 0x4 || SysStackAddress
+
| 0xB0 || 0x4 || SysStackBase
 
|-
 
|-
| 0xB4 || 0x4 || UserStackAddress
+
| 0xB4 || 0x4 || UsrStackBase
 
|-
 
|-
| 0xB8 || 0x4 || UserStackSize
+
| 0xB8 || 0x4 || UsrStackSize
 
|-
 
|-
 
| 0xBC || 0x4 || IpcBufferPool
 
| 0xBC || 0x4 || IpcBufferPool
 
|-
 
|-
| 0xC0 || 0x4 || ProfiledCount
+
| 0xC0 || 0x4 || ScheduledCount
 
|-
 
|-
| 0xC4 || 0x4 || ProfiledTime
+
| 0xC4 || 0x4 || ScheduledTime
 
|}
 
|}
   Line 913: Line 897:  
| 7
 
| 7
 
| Unknown
 
| Unknown
 +
|}
 +
 +
== IOSThreadStackInfo ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x4 || SysStackBase
 +
|-
 +
| 0x4 || 0x4 || SysStackSize
 +
|-
 +
| 0x8 || 0x4 || SysStackUsedSize
 +
|-
 +
| 0xC || 0x4 || UsrStackBase
 +
|-
 +
| 0x10 || 0x4 || UsrStackSize
 +
|-
 +
| 0x14 || 0x4 || UsrStackUsedSize
 +
|}
 +
 +
== IOSThreadUtilization ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x4 || MaxThreads
 +
|-
 +
| 0x4 || 0x4 || AllocatedThreads
 +
|-
 +
| 0x8 || 0x4 || MaxAllocatedThreads
 +
|-
 +
| 0xC || 0x4 || FaultedThreads
 +
|}
 +
 +
== IOSThreadProfile ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x4 || Tid
 +
|-
 +
| 0x4 || 0x4 || Pid
 +
|-
 +
| 0x8 || 0x4 || Priority
 +
|-
 +
| 0xC || 0x4 || State
 +
|-
 +
| 0x10 || 0x4 || ScheduledCount
 +
|-
 +
| 0x14 || 0x4 || TotalScheduledCount
 +
|-
 +
| 0x18 || 0x4 || ScheduledTime
 +
|-
 +
| 0x1C || 0x4 || TotalScheduledTime
 +
|-
 +
| 0x20 || 0x4 ||
 +
|-
 +
| 0x24 || 0x4 || Sp
 +
|-
 +
| 0x28 || 0x4 ||
 +
|}
 +
 +
== IOSThreadTrace ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x4 || Total
 +
|-
 +
| 0x4 || 0x4 || Idx
 +
|-
 +
| 0x8 || 0x4 || TimerVal
 +
|-
 +
| 0xC || 0x4 || TimerBase
 +
|-
 +
| 0x10 || 0x8 || UpTime
 +
|-
 +
| 0x18 || 0x4 || Flags
 +
|-
 +
| 0x1C || 0x1 * 180 || Pids
 +
|}
 +
 +
== IOSThreadProfileCommand ==
 +
{| class="wikitable"
 +
|-
 +
! Value
 +
! Description
 +
|-
 +
| 100
 +
|
 +
|-
 +
| 101
 +
| ProfileEndEx
 +
|-
 +
| 102
 +
|
 +
|-
 +
| 103
 +
| ProfileStart
 +
|-
 +
| 104
 +
|
 +
|-
 +
| 105
 +
| SamplingProfileResume
 +
|-
 +
| 106
 +
| SamplingProfileEnd
 +
|-
 +
| 107
 +
| SamplingProfileStart
 +
|-
 +
| 108
 +
|
 +
|-
 +
| 109
 +
| SamplingProfileMark
 +
|-
 +
| 110
 +
|
 +
|-
 +
| 111
 +
|
 
|}
 
|}
   Line 1,078: Line 1,185:  
|-
 
|-
 
| 0x18 || 0x4 || Microsecond
 
| 0x18 || 0x4 || Microsecond
 +
|}
 +
 +
== IOSSecurityLevel ==
 +
{| class="wikitable"
 +
|-
 +
! Value
 +
! Description
 +
|-
 +
| 0
 +
| None
 +
|-
 +
| 10
 +
| Test
 +
|-
 +
| 20
 +
| Dev
 +
|-
 +
| 30
 +
| Prod
 
|}
 
|}
  

Navigation menu