20.1.0: Difference between revisions

BootImagePackages: Kernel changes
No edit summary
(14 intermediate revisions by 2 users not shown)
Line 21: Line 21:


Sysmodules were rebuilt with latest SDK, unless noted otherwise the only .text changes are from sdkver-update / logging-constants-update. The sysmodules with actual changes are (besides ones with IPC changes):
Sysmodules were rebuilt with latest SDK, unless noted otherwise the only .text changes are from sdkver-update / logging-constants-update. The sysmodules with actual changes are (besides ones with IPC changes):
* bcat, jit, ...
* bcat, nifm, audio, ldn, account, psc, am, vi, ro, ...
 
The sysmodules which only have changes from updated SDK / logging-constants-update, are:
* bluetooth, bsdsocket, capmtp, nfc, btm, jit, ...


RomFs changes:
RomFs changes:
Line 236: Line 239:
RomFs changes:
RomFs changes:
* "/nx/package2" updated
* "/nx/package2" updated
[[Package2|INI1]] changes:
* BootImagePackage/BootImagePackageExFat:
** All FIRM Sysmodules were just re-built, resulting in updated GNU build-id. The *only* changes besides this are:
*** Loader: Anti-downgrade list is updated.
*** FS: UpdateResult's logging constants/hashes were updated.


==== Kernel ====
==== Kernel ====
Line 241: Line 250:
* Sleep entry now waits 1920 ticks after synchronizing cores and before saving the interrupt manager
* Sleep entry now waits 1920 ticks after synchronizing cores and before saving the interrupt manager
* KInterruptController::SaveLocalState/RestoreLocalState now saves and restores spendsgir
* KInterruptController::SaveLocalState/RestoreLocalState now saves and restores spendsgir
=== [[BCAT_services|bcat]] ===
* Updated L_8bc30, prev ver @ L_8bc30.
** Prior to the last "if (inx1)" check, this now calls L_93164, with the required init before that if needed.
* Updated L_92fe4, prev ver @ L_92f84.
** This now returns 1 for success, 0 for failure (previously there was no retval).
* Updated L_93164, prev ver @ L_930dc.
** When inx1 doesn't match any of the state fields, it now skips to calling a func and returning. Previously when the input was invalid, it would use -1 as an arrayindex.
* Updated L_9b640, prev ver @ L_9b5c0.
** Code was moved around, etc.
* Updated L_9bc40, prev ver @ L_9bbc0.
** Minor changes?
* Updated L_a3d00, prev ver @ L_a3c70.
** When handling value 0x12C87A, w2 is now set to 0xE10 (3600) instead of 0x12C (300).
* Updated L_f1d90, prev ver @ L_f1d00.
** This is error-handling/conversion related.
=== [[Network_Interface_services|nifm]] ===
* Updated L_83c80, prev ver @ L_83c80.
** Code was added starting at 0x84b64.
* Updated L_a11d8, prev ver @ L_a10d8.
** Error handling was updated.
* Updated L_a176c, prev ver @ L_a1640.
** An additional state field is now cleared.
** Error handling was updated.
* Updated L_a1b20, prev ver @ L_a1978.
** An additional state field is now cleared.
* Updated L_a1c34, prev ver @ L_a1a1c.
** An additional state field is now cleared.
** Error handling was updated.
* Updated L_c0aa0, prev ver @ L_c0820.
** The call to nn::os::WaitSystemEvent was replaced with a call to nn::os::TimedWaitSystemEvent, with L_c0e70 being called if that returns false.
* The IPC func for the updated [[WLAN_services|wlan]] cmd was updated.
=== [[Audio_services|audio]] ===
Besides SDK (?) related changes:
* Updated L_26190, prev ver @ L_26130.
* Updated (changes seem to be minor (?)):
** L_268c0 prev ver @ L_26840
** L_26970 prev ver @ L_268d4
** L_26b38 prev ver @ L_26a6c
** L_27230 prev ver @ L_27130
** L_27618 prev ver @ L_274f8
** L_277a4 prev ver @ L_27654
=== [[LDN_services|ldn]] ===
Besides SDK related changes:
* Updated L_57000, prev ver @ L_56ffc.
* Updated L_767f0, prev ver @ L_76690.
* Updated L_7e880, prev ver @ L_7e770.
** The call to nn::os::WaitSystemEvent was replaced with a call to nn::os::TimedWaitSystemEvent, with L_7ec60 being called if that returns false.
* Updated L_969f0, prev ver @ L_968d0.
** The func for "nn.lp2p.SendThread" branches to this func.
* The following had error handling updated:
** L_9beb4 prev ver @ L_9bd74
** L_9c614 prev ver @ L_9c4b4
** L_9c820 prev ver @ L_9c69c
=== [[PSC_services|psc]] ===
The only change was [[PSC_services|updating]] the cmd impl for srepo NotifyApplicationRightsInfo, with additional bits handled for the input u32.
=== [[Display_services|vi]] ===
All updated functionality is related to updating [[Display_services|caps:sc RequestTakingScreenShotEx1]].
=== [[RO_services|ro]] ===
* RoServer object now has two new fields, "m_SupportedPlatforms", "m_NumSupportedPlatforms".
** These are initialized for both JitPlugin and User servers to point to an array of size 1, containing only Platform 0 (NX).
* During NRR validation, the NRR platform byte (NRR + 0x6) is now checked to be contained within the server's supported platforms array before header is copied onto stack, if it is not then error 0xC16 is returned.


=== [[JIT_services|jit]] ===
=== [[JIT_services|jit]] ===
The only updated func was L_177b0:
The only updated func was L_177b0 (this is the SDK func called by nn::ro::RegisterModuleInfo):
* The order of the validation after magicnum-check ([[NRR]]) was swapped.
* The order of the validation after magicnum-check ([[NRR]]) was swapped.