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]]