Changes

221 bytes added ,  18:11, 3 December 2016
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