]> Git Repo - qemu.git/commit
target/mips: Fix TLBWI shadow flush for EHINV,XI,RI
authorJames Hogan <[email protected]>
Tue, 18 Jul 2017 11:55:47 +0000 (12:55 +0100)
committerYongbok Kim <[email protected]>
Thu, 20 Jul 2017 21:42:26 +0000 (22:42 +0100)
commiteff6ff9431aa9776062a5f4a08d1f6503ca9995a
tree5dc244f10798f2c91f6b84c8ef1d5f395036110a
parente40df9a80bb7cdb0a4ca650985fa9fe572097fa7
target/mips: Fix TLBWI shadow flush for EHINV,XI,RI

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: 2fb58b73746e ("target-mips: add RI and XI fields to TLB entry")
Fixes: 9456c2fbcd82 ("target-mips: add TLBINV support")
Signed-off-by: James Hogan <[email protected]>
Cc: Yongbok Kim <[email protected]>
Cc: Aurelien Jarno <[email protected]>
Tested-by: Yongbok Kim <[email protected]>
[[email protected]:
  cosmetic changes]
Signed-off-by: Yongbok Kim <[email protected]>
target/mips/op_helper.c
This page took 0.025099 seconds and 4 git commands to generate.