Merge refs/heads/devtree from rsync://oak/kernels/iseries/work/.git
[linux-2.6.git] / include / asm-ppc64 / processor.h
index fe5cd2f5868a8f17d21209c3a6f98e84f0c70616..6447fbee7d69bf40d472bc2dc3e4a0e2649362d8 100644 (file)
@@ -369,6 +369,14 @@ GLUE(.,name):
 #define mfasr()                ({unsigned long rval; \
                        asm volatile("mfasr %0" : "=r" (rval)); rval;})
 
+/* Macros for adjusting thread priority (hardware multi-threading) */
+#define HMT_very_low()    asm volatile("or 31,31,31   # very low priority")
+#define HMT_low()      asm volatile("or 1,1,1          # low priority")
+#define HMT_medium_low()  asm volatile("or 6,6,6      # medium low priority")
+#define HMT_medium()   asm volatile("or 2,2,2          # medium priority")
+#define HMT_medium_high() asm volatile("or 5,5,5      # medium high priority")
+#define HMT_high()     asm volatile("or 3,3,3          # high priority")
+
 static inline void set_tb(unsigned int upper, unsigned int lower)
 {
        mttbl(0);