• J
    target/mips: Fix TLBWI shadow flush for EHINV,XI,RI · eff6ff94
    James Hogan 提交于
    Writing specific TLB entries with TLBWI flushes shadow TLB entries
    unless an existing entry is having its access permissions upgraded. This
    is necessary as software would from then on expect the previous mapping
    in that entry to no longer be in effect (even if QEMU has quietly
    evicted it to the shadow TLB on a TLBWR).
    
    However it won't do this if only EHINV, XI, or RI bits have been set,
    even if that results in a reduction of permissions, so add the necessary
    checks to invoke the flush when these bits are set.
    
    Fixes: 2fb58b73 ("target-mips: add RI and XI fields to TLB entry")
    Fixes: 9456c2fb ("target-mips: add TLBINV support")
    Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
    Cc: Yongbok Kim <yongbok.kim@imgtec.com>
    Cc: Aurelien Jarno <aurelien@aurel32.net>
    Tested-by: NYongbok Kim <yongbok.kim@imgtec.com>
    [yongbok.kim@imgtec.com:
      cosmetic changes]
    Signed-off-by: NYongbok Kim <yongbok.kim@imgtec.com>
    eff6ff94
op_helper.c 140.1 KB