Changes

Jump to navigation Jump to search
372 bytes added ,  07:53, 10 September 2019
Line 414: Line 414:  
* Restores X19-X30 + SP from the memory pointed to by TPIDR_EL1.
 
* Restores X19-X30 + SP from the memory pointed to by TPIDR_EL1.
 
* Returns to the saved LR stored in the context save struct.
 
* Returns to the saved LR stored in the context save struct.
 +
 +
== KernelLdr_SaveRegistersToTpidrEl1 ==
 +
 +
This saves X19-X30 + SP to an input pointer, and moves the pointer into TPIDR_EL1.
 +
 +
== KernelLdr_VerifyTpidrEl1 ==
 +
 +
This just verifies that TPIDR_EL1 is equal to an input argument, and clears it.
 +
 +
<pre>
 +
    // 9.0.0+
 +
    if (TPIDR_EL1 != input_arg) {
 +
        while (1) { /* Infinite loop panic */ }
 +
    }
 +
    TPIDR_EL1 = 0
 +
</pre>
    
== KInitialPageAllocator::KInitialPageAllocator ==
 
== KInitialPageAllocator::KInitialPageAllocator ==

Navigation menu