1/*
2 * Copyright 2017, Data61
3 * Commonwealth Scientific and Industrial Research Organisation (CSIRO)
4 * ABN 41 687 119 230.
5 *
6 * This software may be distributed and modified according to the terms of
7 * the GNU General Public License version 2. Note that NO WARRANTY is provided.
8 * See "LICENSE_GPLv2.txt" for details.
9 *
10 * @TAG(DATA61_GPL)
11 */
12
13#include <config.h>
14#include <mode/smp/ipi.h>
15#include <mode/kernel/tlb.h>
16
17#ifdef ENABLE_SMP_SUPPORT
18
19void Mode_handleRemoteCall(IpiModeRemoteCall_t call, word_t arg0, word_t arg1, word_t arg2)
20{
21    switch (call) {
22    case IpiRemoteCall_InvalidatePCID:
23        invalidateLocalPCID(arg0, (void*)arg1, arg2);
24        break;
25
26    case IpiRemoteCall_InvalidateASID:
27        invalidateLocalASID((vspace_root_t*)arg0, arg1);
28        break;
29
30    default:
31        fail("Invalid remote call");
32    }
33}
34
35#endif /* ENABLE_SMP_SUPPORT */
36