Changes

43 bytes added ,  17:13, 22 March 2022
→‎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 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 ===