SVC: Difference between revisions

Line 1,212: Line 1,212:
| No
| No
| Arguments: <code>u64 unk</code>
| Arguments: <code>u64 unk</code>
What this does depends of the value of the field that was stored in [[Configuration_Memory|0x1FF80015]]. If this is 0 (Prod) or any invalid value, nothing is done. If it is 1 (Dev), <code>unk == 0</code> is written to some global variable. If 2 (Debugger), it's written to the following byte. If 3 (Firm), this calls a scheduler-related function with <code>(u32)unk</code> which performs a context switch, and that value to a global variable if its contents are not equal to the arg, under certain conditions (returns error 0xC8A01414 otherwise).
What this does depends of the value of the field that was stored in [[Configuration_Memory|0x1FF80015]].  
 
If this is 0 (Prod) or any invalid value, nothing is done. If it is 1 (Dev), <code>unk != 0</code> is written to some global variable; if this variable has bit0 clear, the regdump will be dumped when an exception occurs in a privileged mode (the destination depends on fields in the local storage of the current thread at the time of the exception).  
 
If 2 (Debugger), it's written to the following byte.  
 
If 3 (Firm), this calls a scheduler-related function with <code>(u32)unk</code> which performs a context switch, and that value to a global variable if its contents are not equal to the arg, under certain conditions (returns error 0xC8A01414 otherwise).
|-
|-
| 7
| 7