8.0.0: Difference between revisions
(8 intermediate revisions by 2 users not shown) | |||
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. | * 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 === |