]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/misc/sgi-gru/gru_instructions.h
X86: uv: implement a gru_read_gpa kernel function
[net-next-2.6.git] / drivers / misc / sgi-gru / gru_instructions.h
index 3c9c06618e6adaf0b3febba4cc74d9c45356bc5c..e033b6ce4a3f637e1f928507841269e2756bfa48 100644 (file)
@@ -340,6 +340,19 @@ static inline void gru_start_instruction(struct gru_instruction *ins, int op32)
  *             - nelem and stride are in elements
  *             - tri0/tri1 is in bytes for the beginning of the data segment.
  */
+static inline void gru_vload_phys(void *cb, unsigned long gpa,
+               unsigned int tri0, int iaa, unsigned long hints)
+{
+       struct gru_instruction *ins = (struct gru_instruction *)cb;
+
+       ins->baddr0 = (long)gpa | ((unsigned long)iaa << 62);
+       ins->nelem = 1;
+       ins->tri0 = tri0;
+       ins->op1_stride = 1;
+       gru_start_instruction(ins, __opword(OP_VLOAD, 0, XTYPE_DW, iaa, 0,
+                                       CB_IMA(hints)));
+}
+
 static inline void gru_vload(void *cb, unsigned long mem_addr,
                unsigned int tri0, unsigned char xtype, unsigned long nelem,
                unsigned long stride, unsigned long hints)