Kernel Loader: Difference between revisions
Line 384: | Line 384: | ||
Standard ARM cache clean code, uses LoUIS from CLIDR_EL1. | Standard ARM cache clean code, uses LoUIS from CLIDR_EL1. | ||
== KernelLdr_ExceptionTable == | |||
Standard aarch64 exception table, only function that doesn't infinite loop is synchronous exception from same EL (synch_spx_exception) | |||
synch_spx_exception does the following: | |||
* Moves TPIDR_EL1 into X0 | |||
* Infinite loops if it is 0/NULL. | |||
* Restores X19-X30 + SP from the memory pointed to by TPIDR_EL1. | |||
* Returns to the saved LR stored in the context save struct. | |||
== KInitialPageAllocator::KInitialPageAllocator == | == KInitialPageAllocator::KInitialPageAllocator == |