Changes

206 bytes added ,  00:15, 9 December 2020
CFI
Line 100: Line 100:  
* KConditionVariable now sets the cv_key u32 value in userspace to 1 when a condvar has waiters, and to 0 when it does not.
 
* KConditionVariable now sets the cv_key u32 value in userspace to 1 when a condvar has waiters, and to 0 when it does not.
 
** New nnSdk code relies on this behavior.
 
** New nnSdk code relies on this behavior.
 +
* SetupStackForUserModeThreadStarter (KThreadContext::Initialize) now sets X18 to (<cryptographically random u64> | 1), this value is unique for each thread.
 +
** This is used for CFI changes in web browser.
 
* KCoreLocalRegion deleted, replaced with pointer-to-current-thread
 
* KCoreLocalRegion deleted, replaced with pointer-to-current-thread
 
** TPIDR_EL1 != X18 now, and TPIDR_EL1 now always points to the exception thread stack.
 
** TPIDR_EL1 != X18 now, and TPIDR_EL1 now always points to the exception thread stack.