Changes

Jump to navigation Jump to search
591 bytes added ,  22:43, 23 December 2016
Line 1,312: Line 1,312:  
If <code>what</code> is 0 or any invalid value, nothing is done.  
 
If <code>what</code> is 0 or any invalid value, nothing is done.  
   −
If it is 1, <code>val != 0</code> is written to the global variable enabling ERR:F-format register dumps on user-mode CPU/VFP exceptions (the VFP exception handler acts as if this variable was always true and works on retail environments). The function handling it reads fields from the faulted or the main thread's TLS and most often writes the data structure on the faulted thread's stack.  
+
If it is 1, <code>val != 0</code> is written to the global variable enabling ERR:F-format register dumps on user-mode CPU/VFP exceptions (the VFP exception handler acts as if this variable was always true and works on retail environments). The user handler, stack pointer to use for exception handling, and pointer to use for the exception info structure are contiguously located in either the thread's TLS, or if the handler is NULL, in the main thread's TLS, at offset 0x40. If the specified stack pointer is 1, sp_usr - 0x5c is used instead; if the specified exception info buffer is 1, sp_usr - 0x5c is used instead, and if it is 0, <specified stack> - 0x5c is used (0x5c is the size of the exception info structure that is being pushed). Configured by NS on startup on dev-units (default being 0 on non-debugger/jtag units).
   −
If 2, kernelpanic will be called when svcBreak is used by a non-attached process
+
If 2, kernelpanic will be called when svcBreak is used by a non-attached process. Configured by NS on startup on dev-units (default being 0 on non-debugger/jtag units).
    
If 3, this changes the scheduling/preemption mode (when no threads are being preempted, otherwise returns error 0xC8A01414), see [[KResourceLimit]] for more details.
 
If 3, this changes the scheduling/preemption mode (when no threads are being preempted, otherwise returns error 0xC8A01414), see [[KResourceLimit]] for more details.
Line 1,334: Line 1,334:  
| Argumens: <code>u64 unk</code>.
 
| Argumens: <code>u64 unk</code>.
 
Writes <code>unk</code> to some global variable, but the latter doesn't seem to be used anywhere else.
 
Writes <code>unk</code> to some global variable, but the latter doesn't seem to be used anywhere else.
 +
Used by NS conditionally based on the contents of the [[NS CFA]].
 
|-
 
|-
 
| 10
 
| 10

Navigation menu