From 72cd22163f9c7fdfafa645b3b6826b185bbbdf76 Mon Sep 17 00:00:00 2001 From: Robin Luk Date: Fri, 26 Mar 2021 16:04:28 +0800 Subject: arm64 ring0: don't use inner-sharable to invalidate tlb It is enough to invalidate the tlb of local vcpu in switch(). TLBI with inner-sharable will invalidate the tlb in other vcpu. Arm64 hardware supports at least 256 pcid, so I think it's ok to set the length of pcid pool to 128. Signed-off-by: Robin Luk --- pkg/ring0/lib_arm64.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'pkg/ring0/lib_arm64.go') diff --git a/pkg/ring0/lib_arm64.go b/pkg/ring0/lib_arm64.go index edf24eda3..f1c323bac 100644 --- a/pkg/ring0/lib_arm64.go +++ b/pkg/ring0/lib_arm64.go @@ -31,6 +31,9 @@ func FlushTlbByVA(addr uintptr) // FlushTlbByASID invalidates tlb by ASID/Inner-Shareable. func FlushTlbByASID(asid uintptr) +// LocalFlushTlbByASID invalidates tlb by ASID. +func LocalFlushTlbByASID(asid uintptr) + // FlushTlbAll invalidates all tlb. func FlushTlbAll() -- cgit v1.2.3