diff mbox series

[PULL,kvm-unit-tests,17/17] arm: cstart64.S: Remove icache invalidation from asm_mmu_enable

Message ID 20200106100347.1559-18-drjones@redhat.com (mailing list archive)
State New, archived
Headers show
Series [PULL,kvm-unit-tests,01/17] arm: Add missing test name prefix for pl031 and spinlock | expand

Commit Message

Andrew Jones Jan. 6, 2020, 10:03 a.m. UTC
From: Alexandru Elisei <alexandru.elisei@arm.com>

According to the ARM ARM [1]:

"In Armv8, any permitted instruction cache implementation can be
described as implementing the IVIPT Extension to the Arm architecture.

The formal definition of the Arm IVIPT Extension is that it reduces the
instruction cache maintenance requirement to the following condition:
Instruction cache maintenance is required only after writing new data to
a PA that holds an instruction".

We never patch instructions in the boot path, so remove the icache
invalidation from asm_mmu_enable. Tests that modify instructions (like
the cache test) should have their own icache maintenance operations.

[1] ARM DDI 0487E.a, section D5.11.2 "Instruction caches"

Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>
---
 arm/cstart64.S | 1 -
 1 file changed, 1 deletion(-)
diff mbox series

Patch

diff --git a/arm/cstart64.S b/arm/cstart64.S
index 6f49506ca19b..e5a561ea2e39 100644
--- a/arm/cstart64.S
+++ b/arm/cstart64.S
@@ -159,7 +159,6 @@  halt:
 
 .globl asm_mmu_enable
 asm_mmu_enable:
-	ic	iallu			// I+BTB cache invalidate
 	tlbi	vmalle1			// invalidate I + D TLBs
 	dsb	nsh