base-hw: invalidate TLB only once on ARMv8

Fix genodelabs/genode#4529
This commit is contained in:
Stefan Kalkowski 2022-06-14 11:33:22 +02:00 committed by Christian Helmuth
parent d6592ca2cb
commit 4382d29422

View File

@ -75,10 +75,14 @@ void Thread::exception(Cpu & cpu)
void Kernel::Thread::Tlb_invalidation::execute() { }; void Kernel::Thread::Tlb_invalidation::execute() { };
bool Kernel::Pd::invalidate_tlb(Cpu &, addr_t addr, size_t size) bool Kernel::Pd::invalidate_tlb(Cpu & cpu, addr_t addr, size_t size)
{ {
using namespace Genode; using namespace Genode;
/* only apply to the active cpu */
if (cpu.id() != Cpu::executing_id())
return false;
/** /**
* The kernel part of the address space is mapped as global * The kernel part of the address space is mapped as global
* therefore we have to invalidate it differently * therefore we have to invalidate it differently