1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Hexagon VM instruction support
5 * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
8 #include <linux/linkage.h>
9 #include <asm/hexagon_vm.h>
12 * C wrappers for virtual machine "instructions". These
13 * could be, and perhaps some day will be, handled as in-line
14 * macros, but for tracing/debugging it's handy to have
15 * a single point of invocation for each of them.
16 * Conveniently, they take parameters and return values
17 * consistent with the ABI calling convention.
21 trap1(#HVM_TRAP1_VMRTE);
25 trap1(#HVM_TRAP1_VMSETVEC);
29 trap1(#HVM_TRAP1_VMSETIE);
33 trap1(#HVM_TRAP1_VMGETIE);
37 trap1(#HVM_TRAP1_VMINTOP);
41 trap1(#HVM_TRAP1_VMCLRMAP);
45 r1 = #VM_NEWMAP_TYPE_PGTABLES;
46 trap1(#HVM_TRAP1_VMNEWMAP);
50 trap1(#HVM_TRAP1_VMCACHE);
54 trap1(#HVM_TRAP1_VMGETTIME);
58 trap1(#HVM_TRAP1_VMSETTIME);
62 trap1(#HVM_TRAP1_VMWAIT);
66 trap1(#HVM_TRAP1_VMYIELD);
70 trap1(#HVM_TRAP1_VMSTART);
74 trap1(#HVM_TRAP1_VMSTOP);
78 trap1(#HVM_TRAP1_VMVPID);
81 /* Probably not actually going to use these; see vm_entry.S */
84 trap1(#HVM_TRAP1_VMSETREGS);
88 trap1(#HVM_TRAP1_VMGETREGS);