root/arch/hexagon/kernel/vm_ops.S

/* [<][>][^][v][top][bottom][index][help] */
   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Hexagon VM instruction support
   4  *
   5  * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
   6  */
   7 
   8 #include <linux/linkage.h>
   9 #include <asm/hexagon_vm.h>
  10 
  11 /*
  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.
  18  */
  19 
  20 ENTRY(__vmrte)
  21         trap1(#HVM_TRAP1_VMRTE);
  22         jumpr   R31;
  23 
  24 ENTRY(__vmsetvec)
  25         trap1(#HVM_TRAP1_VMSETVEC);
  26         jumpr   R31;
  27 
  28 ENTRY(__vmsetie)
  29         trap1(#HVM_TRAP1_VMSETIE);
  30         jumpr   R31;
  31 
  32 ENTRY(__vmgetie)
  33         trap1(#HVM_TRAP1_VMGETIE);
  34         jumpr   R31;
  35 
  36 ENTRY(__vmintop)
  37         trap1(#HVM_TRAP1_VMINTOP);
  38         jumpr   R31;
  39 
  40 ENTRY(__vmclrmap)
  41         trap1(#HVM_TRAP1_VMCLRMAP);
  42         jumpr   R31;
  43 
  44 ENTRY(__vmnewmap)
  45         r1 = #VM_NEWMAP_TYPE_PGTABLES;
  46         trap1(#HVM_TRAP1_VMNEWMAP);
  47         jumpr   R31;
  48 
  49 ENTRY(__vmcache)
  50         trap1(#HVM_TRAP1_VMCACHE);
  51         jumpr   R31;
  52 
  53 ENTRY(__vmgettime)
  54         trap1(#HVM_TRAP1_VMGETTIME);
  55         jumpr   R31;
  56 
  57 ENTRY(__vmsettime)
  58         trap1(#HVM_TRAP1_VMSETTIME);
  59         jumpr   R31;
  60 
  61 ENTRY(__vmwait)
  62         trap1(#HVM_TRAP1_VMWAIT);
  63         jumpr   R31;
  64 
  65 ENTRY(__vmyield)
  66         trap1(#HVM_TRAP1_VMYIELD);
  67         jumpr   R31;
  68 
  69 ENTRY(__vmstart)
  70         trap1(#HVM_TRAP1_VMSTART);
  71         jumpr   R31;
  72 
  73 ENTRY(__vmstop)
  74         trap1(#HVM_TRAP1_VMSTOP);
  75         jumpr   R31;
  76 
  77 ENTRY(__vmvpid)
  78         trap1(#HVM_TRAP1_VMVPID);
  79         jumpr   R31;
  80 
  81 /*  Probably not actually going to use these; see vm_entry.S  */
  82 
  83 ENTRY(__vmsetregs)
  84         trap1(#HVM_TRAP1_VMSETREGS);
  85         jumpr   R31;
  86 
  87 ENTRY(__vmgetregs)
  88         trap1(#HVM_TRAP1_VMGETREGS);
  89         jumpr   R31;

/* [<][>][^][v][top][bottom][index][help] */