1/*
2 * Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 */
6
7#pragma once
8
9#include <arch/smp/ipi_inline.h>
10
11static inline void invalidatePageStructureCacheASID(paddr_t root, asid_t asid, word_t mask)
12{
13    invalidateLocalPageStructureCacheASID(root, asid);
14    SMP_COND_STATEMENT(doRemoteInvalidatePageStructureCacheASID(root, asid, mask));
15}
16
17static inline void invalidateTranslationSingle(vptr_t vptr, word_t mask)
18{
19    invalidateLocalTranslationSingle(vptr);
20    SMP_COND_STATEMENT(doRemoteInvalidateTranslationSingle(vptr, mask));
21}
22
23static inline void invalidateTranslationSingleASID(vptr_t vptr, asid_t asid, word_t mask)
24{
25    invalidateLocalTranslationSingleASID(vptr, asid);
26    SMP_COND_STATEMENT(doRemoteInvalidateTranslationSingleASID(vptr, asid, mask));
27}
28
29static inline void invalidateTranslationAll(word_t mask)
30{
31    invalidateLocalTranslationAll();
32    SMP_COND_STATEMENT(doRemoteInvalidateTranslationAll(mask));
33}
34
35
36