lkml.org 
[lkml]   [2017]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] arm64: KVM: VHE: reset PSTATE.UAO when switch to host
    From
    Date


    On 2017/9/7 23:23, Marc Zyngier wrote:
    > On 07/09/17 16:03, gengdongjiu wrote:
    >>> On 07/09/17 12:49, gengdongjiu wrote:
    >>>>
    [...]

    >
    > I really cannot think of a good reason why we'd want to do that. Playing
    > with set_fs() is almost universally wrong, and I'm certainly going to
    > oppose to any change in that area unless the code that calls set_fs()
    > has been made public and properly reviewed. Until then, UAO/PAN will
    > stay as they are unless you prove that our current code is wrong.

    Marc,

    sorry I have another question for the PAN.

    In the non-VHE mode, The host kernel is running in the EL1. Before host kernel enter guest, host OS will call 'HVC' instruction to do the world-switch,
    and the pstate.PAN will be saved into the SPSR_EL2. When world-switch back to host kernel from EL2, it will call 'eret' instruction to EL1 host,
    this 'eret' instruction will restore the SPSR_EL2 to the PSTATE. so the PSTATE.PAN will be restored.

    For the Non-VHE mode, in the EL2 where mainly have word-switch code, do you think it needs to reset the PSTATE.PAN? From the spec, it does not provide SCTLR_EL2.SPAN bit for non-VHE mode,
    so reset the PSTATE.PAN does not sure whether it is needed or whether affects the performance. If you think it is needed for El2 in Non-VHE mode, moving the reset PSTATE.PAN to
    the exception entry to EL2 may be better, such as "el1_sync", because host can also call 'hvc' instruction without guest running.

    >
    > M.
    >

    \
     
     \ /
      Last update: 2017-09-08 09:24    [W:2.379 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site