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

Difference between revisions of "Talk:Cafe OS syscalls"

From WiiUBrew
Jump to navigation Jump to search
(Created page with "How about we replace 'Y' with a mark (e.g. 'x') indicating that the syscall is available and remove 'N' completely? This way the table gets better readable.")
 
m (Hallowizer2 moved page Talk:Cafe OS Syscalls to Talk:Cafe OS syscalls: Sentence case)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
How about we replace 'Y' with a mark (e.g. 'x') indicating that the syscall is available and remove 'N' completely? This way the table gets better readable.
 
How about we replace 'Y' with a mark (e.g. 'x') indicating that the syscall is available and remove 'N' completely? This way the table gets better readable.
 +
 +
== Missing FastCalls ==
 +
 +
Since the SysCall_Handler masks with rlwimi r12,r0,5,{22,26} - shouldn't the last FastCall be #0x1F ?
 +
0x3E0/0x20=0x1F, so base 0xFFF021A0 + 0x3E0 =0xFFF02580, the APP_Panic that loads r3 with 0x3001F.
 +
 +
I know 0x1A, 0x1B,0x1C, 0x1D, 0x1E and 0x1F all branch to the table_dispatcher with AppPanic loaded, but later we could use these for other things...
 +
 +
 +
It is correct that the fastcall space goes up to 0x1F fastcalls, however, the PPC kernel marks it's last syscall and fastcall with BadSysCall and BadFastCall (respectively).
 +
When a new syscall/fastcall is added, these two symbols are moved to the next invalid syscall/fastcall.
 +
That's why I only added up to 0x1A fastcalls. While there are indeed 0x1F hard-coded spaces to install a fastcall, only 0x1A of them are technically valid (at least for the latest firmware version).<br>
 +
[[User:Malygneo|Malygneo]] ([[User talk:Malygneo|talk]]) 22:15, 19 April 2016 (CEST)

Latest revision as of 04:56, 10 August 2021

How about we replace 'Y' with a mark (e.g. 'x') indicating that the syscall is available and remove 'N' completely? This way the table gets better readable.

Missing FastCalls

Since the SysCall_Handler masks with rlwimi r12,r0,5,{22,26} - shouldn't the last FastCall be #0x1F ? 0x3E0/0x20=0x1F, so base 0xFFF021A0 + 0x3E0 =0xFFF02580, the APP_Panic that loads r3 with 0x3001F.

I know 0x1A, 0x1B,0x1C, 0x1D, 0x1E and 0x1F all branch to the table_dispatcher with AppPanic loaded, but later we could use these for other things...


It is correct that the fastcall space goes up to 0x1F fastcalls, however, the PPC kernel marks it's last syscall and fastcall with BadSysCall and BadFastCall (respectively). When a new syscall/fastcall is added, these two symbols are moved to the next invalid syscall/fastcall. That's why I only added up to 0x1A fastcalls. While there are indeed 0x1F hard-coded spaces to install a fastcall, only 0x1A of them are technically valid (at least for the latest firmware version).
Malygneo (talk) 22:15, 19 April 2016 (CEST)