On 25/01/16 15:53, Marc Zyngier wrote:
With ARMv8.1 VHE, the architecture is able to (almost) transparently
run the kernel at EL2, despite being written for EL1.

This patch takes care of the "almost" part, mostly preventing the kernel
from dropping from EL2 to EL1, and setting up the HYP configuration.

  #ifdef CONFIG_COMPAT
@@ -521,6 +542,15 @@ CPU_LE(    movk    x0, #0x30d0, lsl #16    )       // 
Clear EE and E0E on LE systems
        /* Stage-2 translation */
        msr     vttbr_el2, xzr

+       cbz     x2, install_el2_stub

Though it is apparent, may be its worth adding a comment here that we don't 
drop to EL1 here ?

+
+       setup_vtcr x4, x5
+
+       mov     w20, #BOOT_CPU_MODE_EL2         // This CPU booted in EL2
+       isb
+       ret

+
+install_el2_stub:

And a comment here mentioning, install the hyp stub and drops to EL1 ?

        /* Hypervisor stub */
        adrp    x0, __hyp_stub_vectors
        add     x0, x0, #:lo12:__hyp_stub_vectors


Cheers
Suzuki


Reply via email to