Pull asus into release branch
[pandora-kernel.git] / include / asm-powerpc / hvcall.h
index 63ce1ac..62efd9d 100644 (file)
 #define H_FREE_LOGICAL_LAN     0x118
 #define H_ADD_LOGICAL_LAN_BUFFER 0x11C
 #define H_SEND_LOGICAL_LAN     0x120
+#define H_BULK_REMOVE          0x124
 #define H_MULTICAST_CTRL       0x130
 #define H_SET_XDABR            0x134
 #define H_STUFF_TCE            0x138
 #define H_JOIN                 0x298
 #define H_VASI_STATE            0x2A4
 #define H_ENABLE_CRQ           0x2B0
-#define MAX_HCALL_OPCODES      (H_ENABLE_CRQ >> 2)
+#define MAX_HCALL_OPCODE       H_ENABLE_CRQ
 
 #ifndef __ASSEMBLY__
 
@@ -235,6 +236,20 @@ long plpar_hcall_norets(unsigned long opcode, ...);
 #define PLPAR_HCALL_BUFSIZE 4
 long plpar_hcall(unsigned long opcode, unsigned long *retbuf, ...);
 
+/**
+ * plpar_hcall_raw: - Make a hypervisor call without calculating hcall stats
+ * @opcode: The hypervisor call to make.
+ * @retbuf: Buffer to store up to 4 return arguments in.
+ *
+ * This call supports up to 6 arguments and 4 return arguments. Use
+ * PLPAR_HCALL_BUFSIZE to size the return argument buffer.
+ *
+ * Used when phyp interface needs to be called in real mode. Similar to
+ * plpar_hcall, but plpar_hcall_raw works in real mode and does not
+ * calculate hypervisor call statistics.
+ */
+long plpar_hcall_raw(unsigned long opcode, unsigned long *retbuf, ...);
+
 /**
  * plpar_hcall9: - Make a pseries hypervisor call with up to 9 return arguments
  * @opcode: The hypervisor call to make.
@@ -246,6 +261,14 @@ long plpar_hcall(unsigned long opcode, unsigned long *retbuf, ...);
 #define PLPAR_HCALL9_BUFSIZE 9
 long plpar_hcall9(unsigned long opcode, unsigned long *retbuf, ...);
 
+/* For hcall instrumentation.  One structure per-hcall, per-CPU */
+struct hcall_stats {
+       unsigned long   num_calls;      /* number of calls (on this CPU) */
+       unsigned long   tb_total;       /* total wall time (mftb) of calls. */
+       unsigned long   purr_total;     /* total cpu time (PURR) of calls. */
+};
+#define HCALL_STAT_ARRAY_SIZE  ((MAX_HCALL_OPCODE >> 2) + 1)
+
 #endif /* __ASSEMBLY__ */
 #endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_HVCALL_H */