Changes

Jump to navigation Jump to search
39 bytes removed ,  02:38, 14 April 2013
m
no edit summary
Line 1: Line 1: −
== ARM11 Kernel Configuration Memory ==
+
= ARM11 Kernel Configuration Memory =
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
!  NAME
 
!  NAME
Line 72: Line 72:  
This memory page is [[Memory_layout|read-only]] for ARM11 processes.
 
This memory page is [[Memory_layout|read-only]] for ARM11 processes.
   −
== Shared Memory Page For ARM11 Processes ==
+
= Shared Memory Page For ARM11 Processes =
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
!  NAME
 
!  NAME
Line 89: Line 89:  
This memory page is normally read-only for ARM11 processes, write-access is [[Memory_layout|determined]] by the process exheader kernel "Shared page writing" flag.
 
This memory page is normally read-only for ARM11 processes, write-access is [[Memory_layout|determined]] by the process exheader kernel "Shared page writing" flag.
   −
== ARM11 Kernel Config Fields ==
+
= ARM11 Kernel Config Fields =
   −
=== 0x1FF80000 / 0x1FF80060 ===
+
== 0x1FF80000 / 0x1FF80060 ==
 
Unknown, this is normally value 0.
 
Unknown, this is normally value 0.
   −
=== KERNEL_VERSIONREVISION / FIRM_VERSIONREVISION ===
+
== KERNEL_VERSIONREVISION / FIRM_VERSIONREVISION ==
 
This is the version-revision for the currently running [[FIRM]].
 
This is the version-revision for the currently running [[FIRM]].
   −
=== KERNEL_VERSIONMINOR ===
+
== KERNEL_VERSIONMINOR ==
 
This is the version-minor from ((title-version & 0x3FF) >> 4), for the currently running [[FIRM]]. The values from KERNEL_VERSIONMINOR and KERNEL_VERSIONMAJOR can be stored in applications' [[NCCH#CXI|CXI]] exheader.
 
This is the version-minor from ((title-version & 0x3FF) >> 4), for the currently running [[FIRM]]. The values from KERNEL_VERSIONMINOR and KERNEL_VERSIONMAJOR can be stored in applications' [[NCCH#CXI|CXI]] exheader.
   −
=== FIRM_VERSIONMINOR ===
+
== FIRM_VERSIONMINOR ==
 
This is the same as KERNEL_VERSIONMINOR. After [[AM:InstallNATIVEFIRM]] checks FIRM_SYSCOREVER, [[AM:InstallNATIVEFIRM]] then compares FIRM_VERSIONMINOR with the NATIVE_FIRM ((title-version & 0x3FF) >> 4), when the latter is larger than FIRM_VERSIONMINOR [[AM:InstallNATIVEFIRM]] will trigger a [[FIRM]] install.
 
This is the same as KERNEL_VERSIONMINOR. After [[AM:InstallNATIVEFIRM]] checks FIRM_SYSCOREVER, [[AM:InstallNATIVEFIRM]] then compares FIRM_VERSIONMINOR with the NATIVE_FIRM ((title-version & 0x3FF) >> 4), when the latter is larger than FIRM_VERSIONMINOR [[AM:InstallNATIVEFIRM]] will trigger a [[FIRM]] install.
   −
=== KERNEL_VERSIONMAJOR / FIRM_VERSIONMAJOR ===
+
== KERNEL_VERSIONMAJOR / FIRM_VERSIONMAJOR ==
 
This is the version-major for the currently running [[FIRM]].
 
This is the version-major for the currently running [[FIRM]].
   −
=== UPDATEFLAG ===
+
== UPDATEFLAG ==
 
Normally this flag is zero, however when the ARM11 kernel is booting it will set this flag to 1, if the following [[PAD]] buttons are pressed: L, R, A, Up. When this flag is set, the system will launch the [[System_Settings#System_Updater|System Updater]] title instead of displaying the [[Home Menu]].
 
Normally this flag is zero, however when the ARM11 kernel is booting it will set this flag to 1, if the following [[PAD]] buttons are pressed: L, R, A, Up. When this flag is set, the system will launch the [[System_Settings#System_Updater|System Updater]] title instead of displaying the [[Home Menu]].
   −
=== NSTID ===
+
== NSTID ==
 
This field contains the titleID of the first title to launch from CTR-NAND after the [[FIRM]] system processes are loaded. The [[Process Manager Ports|PM]] module launches this title. If this field titleID is all-zero, the system will not attempt to launch the title. The regular ARM11 kernel sets this to the regular [[NS]] titleID, while the SAFE_MODE ARM11 kernel sets this to the SAFE_MODE NS titleID.
 
This field contains the titleID of the first title to launch from CTR-NAND after the [[FIRM]] system processes are loaded. The [[Process Manager Ports|PM]] module launches this title. If this field titleID is all-zero, the system will not attempt to launch the title. The regular ARM11 kernel sets this to the regular [[NS]] titleID, while the SAFE_MODE ARM11 kernel sets this to the SAFE_MODE NS titleID.
   −
=== SYSCOREVER ===
+
== SYSCOREVER ==
 
When launching [[NCCH#CXI|CXIs]], the value stored here must match the core version field stored in the CXI exheader. If they do not match, the [[Process Manager Ports|PM]] module will refuse to launch the ARM11 process. The regular ARM11 kernel sets this to 0x2, while the SAFE_MODE ARM11 kernel sets this to 0x3.
 
When launching [[NCCH#CXI|CXIs]], the value stored here must match the core version field stored in the CXI exheader. If they do not match, the [[Process Manager Ports|PM]] module will refuse to launch the ARM11 process. The regular ARM11 kernel sets this to 0x2, while the SAFE_MODE ARM11 kernel sets this to 0x3.
   −
=== FIRM_SYSCOREVER ===
+
== FIRM_SYSCOREVER ==
 
Normally this is the same as SYSCOREVER. This used by [[AM:InstallNATIVEFIRM]] for comparing with the NATIVE_FIRM titleID-low. When the low u8 from the NATIVE_FIRM titleID-low is larger than FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] will trigger FIRM installing. When that u8 is not larger than FIRM_SYSCOREVER, and these two values don't match, [[AM:InstallNATIVEFIRM]] will return an error.
 
Normally this is the same as SYSCOREVER. This used by [[AM:InstallNATIVEFIRM]] for comparing with the NATIVE_FIRM titleID-low. When the low u8 from the NATIVE_FIRM titleID-low is larger than FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] will trigger FIRM installing. When that u8 is not larger than FIRM_SYSCOREVER, and these two values don't match, [[AM:InstallNATIVEFIRM]] will return an error.
   −
=== UNITINFO ===
+
== UNITINFO ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
!  Bit
 
!  Bit
Line 133: Line 133:  
|}
 
|}
   −
Normally this register is all-zero, however bit1 in this field is set by the ARM11 kernel when ARM debug CP14 DSCR bit14 is set. [[NS]] loads the menu TID from MENUTID when bits 1-7 of this register are clear. [[ErrDisp]] will display development error info when bit0 is clear.
+
Normally this field is all-zero, however bit1 in this field is set by the ARM11 kernel when ARM debug CP14 DSCR bit14 is set. [[NS]] loads the menu TID from MENUTID when bits 1-7 of this register are clear. [[ErrDisp]] will display development error info when bit0 is clear.
   −
=== KERNEL_CTRSDKVERSION / FIRM_CTRSDKVERSION ===
+
== KERNEL_CTRSDKVERSION / FIRM_CTRSDKVERSION ==
 
This is the CTR-SDK version which was used to build the currently running [[FIRM]].
 
This is the CTR-SDK version which was used to build the currently running [[FIRM]].
   −
=== APPMEMALLOC ===
+
== APPMEMALLOC ==
 
This contains the total size of the memory that can be allocated with the application [[SVC|memory-type]]. On retail this is 64MB for [[3DS_Development_Unit_Software#Config|prod]].
 
This contains the total size of the memory that can be allocated with the application [[SVC|memory-type]]. On retail this is 64MB for [[3DS_Development_Unit_Software#Config|prod]].
   −
== Shared Memory Page Fields ==
+
= Shared Memory Page Fields =
   −
=== MENUTID ===
+
== MENUTID ==
 
This contains the titleID of the retail menu which will be launched by [[NS]].
 
This contains the titleID of the retail menu which will be launched by [[NS]].
   −
=== ACTIVEMENUTID ===
+
== ACTIVEMENUTID ==
 
This contains the titleID of the currently running menu launched by [[NS]]. Normally this is the home menu TID from MENUTID, but if launching that fails this titleID is the [[NS#Alternate Menu|alternate menu]].(On debug units this is the TID loaded from [[Config_Savegame|config]])
 
This contains the titleID of the currently running menu launched by [[NS]]. Normally this is the home menu TID from MENUTID, but if launching that fails this titleID is the [[NS#Alternate Menu|alternate menu]].(On debug units this is the TID loaded from [[Config_Savegame|config]])

Navigation menu