Changes

Jump to navigation Jump to search
2,932 bytes added ,  21:03, 21 April 2020
m
Line 68: Line 68:  
*
 
*
 
* General system stability improvements to enhance the user's experience.
 
* General system stability improvements to enhance the user's experience.
 +
 +
 +
==FIRM==
 +
All files under RomFS were updated.
 +
 +
====Package1ldr====
 +
package1ldr was updated. The TSEC secureboot firmware was not updated.
 +
 +
====NX_BOOTLOADER====
 +
NX bootloader was updated.
 +
 +
====Secure Monitor====
 +
The Secure Monitor was updated.
 +
 +
* DMA controller configuration now disables AHB-DMA from arbitration.
 +
* The SMC handler now checks a "is SMC allowed" bitmask against configuration set by NX bootloader(This just comes from bits 1-4 of the "attribute" field of the bootloader in BCT).
 +
** Nintendo can now blacklist certain SMCs from certain boot conditions, but since the bitmask is zero for retail firmware (everything is allowed) this isn't particularly meaningful.
 +
* smcGetConfig's "get_memory_configuration_by_bootconfig" implementation changed. It now calls a new function "get_dram_configuration", which returns a configuration value depending on the DRAM ID.
 +
* Code configuring what peripherals to set secure-world only no longer assumes that the code is a retail unit.
 +
** This removes what were presumed to be compile-time ifdefs for retail vs dev added in [[7.0.0]].
 +
* Code responsible for configuring HiZ charger mode has changed a little.
 +
** smcCpuSuspend no longer checks hardware type when deciding whether to go down HiZ mode codepaths.
 +
** wakeup code on warmboot now checks whether HiZ mode is enabled, instead of unconditionally disabling it.
 +
* TSEC no longer has access to the kernel carveout, and TSECB now has access to the kernel carveout.
 +
** The Read/Write access levels were changed from 1 to 9, to facilitate this.
 +
 +
====Kernel====
 +
Kernel initialization has changed significantly.
 +
* There is now a new loader program ("[[Kernel Loader|kernelldr]]") that runs before the kernel, and sets up KASLR/memory/etc. (kernelldr has its own .dynamic section).
 +
* The INI1 containing the Initial Programs is no longer its own section inside of [[Package2]]. It is instead now embedded inside the kernel section, with kernelldr preparing it for the kernel.
 +
* svcQueryIoMapping no longer accepts unaligned addresses as input when (input physaddr >= 0x1000). In addition, when input physaddr is < 0x1000, the kernel takes a new codepath to convert this to a different physical address.
 +
 +
<check back later for more detailed diffs>
 +
 +
====Warmboot====
 +
* The firmware revision magic was not changed.
 +
 +
====FIRM Sysmodules====
 +
All FIRM sysmodules were updated. Specific diffs for a few sysmodules are below <check back later, to be updated>:
 +
 +
=====[[Process Manager services|PM]]=====
 +
* pm:shell now has a new command (9), which does abort() in normal FIRM. However, when in safe mode, it returns a handle to an event that is signaled on IShellService->NotifyBootFinished(), before the embedded safemode boot2 runs.
    
== System Titles ==
 
== System Titles ==
1 new title was added: [[#FunctionBlackList|FunctionBlackList]].
+
* 1 new title was added: [[#FunctionBlackList|FunctionBlackList]].
 +
* All titles were updated, except for the following: dictionaries, UrlBlackList, PlatformConfigHoag, miiEdit, and flog.
 +
 
 +
[[SSL_services#CertStore|CertStore]] RomFs: "/ssl_TrustedCerts.bdf" was updated.
    
=== FunctionBlackList ===
 
=== FunctionBlackList ===

Navigation menu