The ARMv7 architecture deprecates the separate Instruction and Data TLB
authorkettenis <kettenis@openbsd.org>
Wed, 3 Aug 2016 07:05:05 +0000 (07:05 +0000)
committerkettenis <kettenis@openbsd.org>
Wed, 3 Aug 2016 07:05:05 +0000 (07:05 +0000)
commit0fa0531171a579c99b53869e8f36290bde3a7456
tree9ab52ad04ec67085cac5d9b4d0c6967dc3fa1b5d
parent06e2c7af4bb154e50b6030f2f16662f6639eb526
The ARMv7 architecture deprecates the separate Instruction and Data TLB
maintanenance instruction and recommends to only use the instructions that
operate on the unified TLB.  Those instructions will flush both TLBs on
implementations that still have separate Instruction and Data TLBs.  Switch
the TLB maintenance primitives over to use those.  This allows us to reduce
the number of primitives on armv7.  We still keep separate "ID" and "D"
variants as we still have to flush the branch predictor when changing the
mappings of pages that contain instructions.

ok jsg@
sys/arch/arm/arm/cpufunc.c
sys/arch/arm/arm/cpufunc_asm_armv7.S