13.0.0: Difference between revisions
→System Titles: system stability intensifies in the kernel |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 87: | Line 87: | ||
* Compiler upgrade to LLVM 11.1. | * Compiler upgrade to LLVM 11.1. | ||
** Most notably, certain code now emits "ands" rather than "and; and; tst" + "bfxil" patterns are more commonly used. | ** Most notably, certain code now emits "ands" rather than "and; and; tst" + "bfxil" patterns are more commonly used. | ||
* C++ language upgrade to | * C++ language upgrade to C++17. | ||
** Slab heaps/object containers are now | ** Slab heaps/object containers are now constant initialized, no longer constructed during .init_array. | ||
* Initialize0 changes: | * Initialize0 changes: | ||
** KernelLdr now sends back the initial process binary address in state. | ** KernelLdr now sends back the initial process binary address in state. | ||
Line 112: | Line 112: | ||
** These SVCs conceptually allow creating an object for mapping in certain physical address ranges at user-specified virtual addresses, without having to include the ranges in npdm/kip capabilities ahead of time. | ** These SVCs conceptually allow creating an object for mapping in certain physical address ranges at user-specified virtual addresses, without having to include the ranges in npdm/kip capabilities ahead of time. | ||
*** The only allowed id right now is 0, which corresponds to PCIE_A2 (physical address range 0x12000000-0x1FFFFFFF). | *** The only allowed id right now is 0, which corresponds to PCIE_A2 (physical address range 0x12000000-0x1FFFFFFF). | ||
* KLightLock::Lock now uses simplified logic; KLightLock::LockSlowPath now returns a bool for whether the lock was acquired. | |||
* KWritableEvent was deleted. | * KWritableEvent was deleted. | ||
** Class tokens for types after KWritableEvent have been adjusted downwards to compensate (see mesosphere for class token generation algorithm). | ** Class tokens for types after KWritableEvent have been adjusted downwards to compensate (see mesosphere for class token generation algorithm). | ||
Line 211: | Line 212: | ||
** "Break() called. %016lx\n" and "Exception occurred. %016lx\n" are now "Break() called. " and "Exception occurred. ", respectively. | ** "Break() called. %016lx\n" and "Exception occurred. %016lx\n" are now "Break() called. " and "Exception occurred. ", respectively. | ||
* StoreDataCacheSharedForInit has slightly different (but equivalent) iteration logic. | * StoreDataCacheSharedForInit has slightly different (but equivalent) iteration logic. | ||
===[[Bluetooth_Driver_services|bluetooth]]=== | ===[[Bluetooth_Driver_services|bluetooth]]=== | ||
* New btdrv commands were added. | * New btdrv commands were added. | ||
* A number of funcs now clear stack buffers before sending it elsewhere. | * A number of funcs now [[Switch_System_Flaws|clear]] stack buffers before sending it elsewhere. | ||
* A new system-setting is now used during [[Bluetooth_Driver_services#EnableBluetooth|audio-enabling]]. | |||
* ... | * ... | ||