Changes

Jump to navigation Jump to search
431 bytes added ,  00:31, 18 September 2018
→‎GetConfig: better name, description for other bits.
Line 225: Line 225:  
| 11 || [[#IsDebugMode]]
 
| 11 || [[#IsDebugMode]]
 
|-
 
|-
| 12 || [[#UnitConfiguration]]
+
| 12 || [[#KernelFlags]]
 
|-
 
|-
 
| 13 || [[#IsChargerHiZModeEnabled]]
 
| 13 || [[#IsChargerHiZModeEnabled]]
Line 381: Line 381:  
The value of this field is loaded from [[BootConfig]] unsigned-config+0x10 u8 bit1.
 
The value of this field is loaded from [[BootConfig]] unsigned-config+0x10 u8 bit1.
   −
==== UnitConfiguration ====
+
==== KernelFlags ====
Kernel reads this when setting up memory-related code. If bit0 is set, it will memset various allocated memory-regions with 0x58, 0x59, 0x5A ('X', 'Y', 'Z') instead of zero. This allows Nintendo devs to find uninitialized memory bugs. If bit17-16 is 0b01, the kernel assumes 6GB of DRAM instead of 4GB.
+
Kernel reads this when setting up memory-related code.  
   −
bit1 and bit2 are boolean values.
+
Bit 0 is a boolean determining whether kernel should it will memset various allocated memory-regions with 0x58, 0x59, 0x5A ('X', 'Y', 'Z') instead of zero. This allows Nintendo devs to find uninitialized memory bugs.
If bit15-8 is zero, kernel will loop forever without calling smcPanic, nonzero smcPanics with 0xf00 and then loops.
+
 
 +
Bit 1 is a boolean determining whether kernel should forcefully enable usermode exception handlers (when false, only data aborts/prefetch aborts that occur when the faulting address is in a readable region with MemoryType_CodeStatic will trigger usermode exception handlers).
 +
 
 +
Bit 2 is a boolean determining whether kernel should enable usermode access to the Performance Monitors (whether PMUSERENR_EL0 should be 1 or 0).
 +
 
 +
Bits 8-15 are a boolean determining whether kernel should call smcPanic on error instead of infinite-looping.
 +
 
 +
Bits 16-17 determine how much memory is available. 00/03 = 4 GB, 01 = 6 GB, 02 = 8 GB.
    
==== IsChargerHiZModeEnabled ====
 
==== IsChargerHiZModeEnabled ====

Navigation menu