14.0.0: Difference between revisions

System Titles: added ipc-diff
 
(One intermediate revision by one other user not shown)
Line 185: Line 185:
* KCapability now has a new member "physical_core_mask", which tracks what physical cores are allowable.
* KCapability now has a new member "physical_core_mask", which tracks what physical cores are allowable.
** KThread::FinishTermination now calls a new function (cpu::ForceSynchronizeAllCores) after waiting for the thread to not be current on any scheduler.
** KThread::FinishTermination now calls a new function (cpu::ForceSynchronizeAllCores) after waiting for the thread to not be current on any scheduler.
*** This function sends an IPI (KInterruptName_CoreBarrier) to all cores, and waits for all cores to acknowledge the interrupt.
*** This function sends an IPI (KInterruptName_CoreBarrier) to all cores in a specified mask (other than the current one), and waits for them to acknowledge the interrupt.
* Changes to KMemoryManager allocation:
* Changes to KMemoryManager allocation:
** KPageHeap now has an additional KPageHeapBitmapRng @ 0x328 to facilitate additional allocation randomization.
** KPageHeap now has an additional KPageHeapBitmapRng @ 0x328 to facilitate additional allocation randomization.
Line 207: Line 207:
** Nintendo returns InvalidCombination when checking SVCs other than SynchronizePreemptionState.
** Nintendo returns InvalidCombination when checking SVCs other than SynchronizePreemptionState.
*** Official userland code now aborts if the process does not have permission to use SynchronizePreemptionState before incrementing ThreadLocalRegion->disable_count for the first time.
*** Official userland code now aborts if the process does not have permission to use SynchronizePreemptionState before incrementing ThreadLocalRegion->disable_count for the first time.


=== IPC Interface Changes ===
=== IPC Interface Changes ===
Line 356: Line 355:
** nn::uart::IPortSession
** nn::uart::IPortSession
*** Added command 8 - inbytes: 40, inhandles: [1, 1], outbytes: 0
*** Added command 8 - inbytes: 40, inhandles: [1, 1], outbytes: 0
===[[JIT_services|jit]]===
Some minor [[JIT_services|issues]] were [[Switch_System_Flaws|fixed]].


==See Also==
==See Also==