22.0.0: Difference between revisions

Alu (talk | contribs)
 
(3 intermediate revisions by the same user not shown)
Line 209: Line 209:


==== Kernel ====
==== Kernel ====
* Compiler update (Clang 20?)
* KProcess::Run() and CreateThread() SVC now write the current thread handle to [[Thread_Local_Region|TLS+0x110]]
* Changes in and surrounding page table logic:
* Changes in and surrounding page table logic:
** KPageTableBase::LockForMapDeviceAddressSpace now checks for a new KPageTableBase boolean, m_allowed_exec_device_mapping, and decides between KMemoryPermission_None and KMemoryPermission_UserExecute for the permission mask value if the boolean is, respectively, set or not.
** KPageTableBase::LockForMapDeviceAddressSpace now checks for a new KPageTableBase boolean, m_allowed_exec_device_mapping, and decides between KMemoryPermission_None and KMemoryPermission_UserExecute for the permission mask value if the boolean is, respectively, set or not.
Line 217: Line 219:
A new NSO compression method was introduced.
A new NSO compression method was introduced.


This appears to be a custom variant of zstd and is used when NSO [[NSO0#Flags|flags]] have bit 7 set.
This appears to be a slightly customized variant of zstd and is used when NSO [[NSO0#Flags|flags]] have bit 7 set.
* ZSTD_MAGICNUMBER is set to 0x4349425A (b'ZBIC') instead of standard 0xFD2FB528
* ZSTD_LEGACY_SUPPORT is set to 0
* otherwise the code seems to match zstd version ~1.6.0


=== [[NFC_services|nfc]] ===
=== [[NFC_services|nfc]] ===