14.0.0: Difference between revisions
→System Titles: added ipc-diff |
→Kernel: fix for clarity |
||
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 | *** 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 === |