]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r343042, r343875
authorAndrew Turner <andrew@FreeBSD.org>
Tue, 17 Sep 2019 10:09:59 +0000 (10:09 +0000)
committerAndrew Turner <andrew@FreeBSD.org>
Tue, 17 Sep 2019 10:09:59 +0000 (10:09 +0000)
commit180dd18b064c4547e9112a141aee70d39bc42664
tree66fc7f2230f1571645c04507fee62a7bfdc8bf1c
parent9fa8d8c1093c7443bb824034e74f197ccc99343b
MFC r343042, r343875

r343042:
Ensure the I-Cache is correctly handled in arm64_icache_sync_range

The cache_handle_range macro to handle the arm64 instruction and data
cache operations would return when it was complete. This causes problems
for arm64_icache_sync_range and arm64_icache_sync_range_checked as they
assume they can execute the i-cache handling instruction after it has been
called.

Fix this by making this assumption correct.

While here add missing instruction barriers and adjust the style to
match the rest of the assembly.

Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D18838

r343875:
Add a missing data barrier to the start of arm64_tlb_flushID.

We need to ensure the page table store has happened before the tlbi.

Reported by: jchandra
Tested by: jchandra
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D19097
sys/arm64/arm64/cpufunc_asm.S