6.0.0: Difference between revisions
No edit summary |
|||
(6 intermediate revisions by 4 users not shown) | |||
Line 52: | Line 52: | ||
* 1 new title was added: olsc-sysmodule. | * 1 new title was added: olsc-sysmodule. | ||
* New services were added, see [[Services_API|here]]. | * New services were added, see [[Services_API|here]]. | ||
[[SSL_services#CertStore|CertStore]] RomFs: "/ssl_CaFingerprints.bdf" was added and "/ssl_TrustedCerts.bdf" was updated. | |||
===[[USB_services|USB-sysmodule]]=== | ===[[USB_services|USB-sysmodule]]=== | ||
The only sysmodule with any changes for accessible IO in the [[NPDM]] was USB-sysmodule. The IO page for the [[Fuses|fuse registers]] is now accessible by this sysmodule. | The only sysmodule with any changes for accessible IO in the [[NPDM]] was USB-sysmodule. The IO page for the [[Fuses|fuse registers]] is now accessible by this sysmodule. | ||
===[[NV_services|nvservices-sysmodule]]=== | |||
Among various changes, the [[Switch_System_Flaws#System_Modules|"Transfer Memory leak in nvservices system module"]] system flaw was patched in the following way: | |||
* [[NV_services#Initialize|Initialize]] and [[NV_services#InitializeDevtools|InitializeDevtools]] now keep track of the size of the transfer memory supplied by the user. | |||
* L_34B90 (nvdrv's destructor) now calls L_B4C30 (memset) on the entire transfer memory region (using the size saved previously) before calling [[SVC#svcUnmapTransferMemory|svcUnmapTransferMemory]]. | |||
===olsc-sysmodule=== | ===olsc-sysmodule=== | ||
Line 129: | Line 136: | ||
* If svcReturnFromException passes the exception the KDebug, ie. if the argument errorCode is not 0, and if the latter has DontCatchExceptions set, the process is terminated (unless errorCode is 0x10001). | * If svcReturnFromException passes the exception the KDebug, ie. if the argument errorCode is not 0, and if the latter has DontCatchExceptions set, the process is terminated (unless errorCode is 0x10001). | ||
* Performance improvements to svcInvalidateProcessDataCache. | * Performance improvements to svcInvalidateProcessDataCache. | ||
* Redundant calls to smcGetConfig(12) have been reduced (12 calls -> 4 calls) during memory setup | |||
====FIRM Sysmodules==== | |||
All FIRM sysmodules were updated. Specific diffs for a few sysmodules are below: | |||
=====[[Loader services|Loader]]===== | |||
* A single null byte stack overflow due to strcat usage was fixed in content path parsing. See [[Switch System Flaws]] for details. | |||
* System Resource Size ([[NPDM]] +0x14) is now allowed to be non-zero for applets in addition to applications. | |||
=====[[Process Manager services|PM]]===== | |||
Memory management initialization was greatly changed: | |||
* PM no longer hardcodes five memory profiles, and no longer calls smcGetConfig to determine which profile to use. | |||
* Instead, PM now uses [[SVC|svcGetResourceLimitLimitValue]] to determine how much space the kernel has allotted for Application + Applet regions and [[SVC|svcGetSystemInfo]] to determine the total physical memory available, and sets the System region size to (Total Memory Size - Application region size - Applet region size - 5 MiB). | |||
==See Also== | ==See Also== | ||
System update report(s): | System update report(s): | ||
* [https://yls8.mtheall.com/ninupdates/reports.php?date=09-18-18_08-35-09&sys=hac] | * [https://yls8.mtheall.com/ninupdates/reports.php?date=09-18-18_08-35-09&sys=hac] | ||
{{NavboxVersions}} | |||
[[Category:System versions]] |