vserver 1.9.3
[linux-2.6.git] / include / asm-ia64 / processor.h
index 05e9913..9e1b61b 100644 (file)
@@ -2,7 +2,7 @@
 #define _ASM_IA64_PROCESSOR_H
 
 /*
- * Copyright (C) 1998-2003 Hewlett-Packard Co
+ * Copyright (C) 1998-2004 Hewlett-Packard Co
  *     David Mosberger-Tang <davidm@hpl.hp.com>
  *     Stephane Eranian <eranian@hpl.hp.com>
  * Copyright (C) 1999 Asit Mallick <asit.k.mallick@intel.com>
@@ -28,8 +28,8 @@
 #define IA64_NUM_PMC_REGS      32
 #define IA64_NUM_PMD_REGS      32
 
-#define DEFAULT_MAP_BASE       0x2000000000000000
-#define DEFAULT_TASK_SIZE      0xa000000000000000
+#define DEFAULT_MAP_BASE       __IA64_UL_CONST(0x2000000000000000)
+#define DEFAULT_TASK_SIZE      __IA64_UL_CONST(0xa000000000000000)
 
 /*
  * TASK_SIZE really is a mis-named.  It really is the maximum user
@@ -61,7 +61,6 @@
                                                        /* bit 5 is currently unused */
 #define IA64_THREAD_FPEMU_NOPRINT (__IA64_UL(1) << 6)  /* don't log any fpswa faults */
 #define IA64_THREAD_FPEMU_SIGFPE  (__IA64_UL(1) << 7)  /* send a SIGFPE for fpswa faults */
-#define IA64_THREAD_XSTACK     (__IA64_UL(1) << 8)     /* stack executable by default? */
 
 #define IA64_THREAD_UAC_SHIFT  3
 #define IA64_THREAD_UAC_MASK   (IA64_THREAD_UAC_NOPRINT | IA64_THREAD_UAC_SIGBUS)
@@ -201,7 +200,7 @@ typedef struct {
 #define GET_UNALIGN_CTL(task,addr)                                                             \
 ({                                                                                             \
        put_user(((task)->thread.flags & IA64_THREAD_UAC_MASK) >> IA64_THREAD_UAC_SHIFT,        \
-                (int *) (addr));                                                               \
+                (int __user *) (addr));                                                        \
 })
 
 #define SET_FPEMU_CTL(task,value)                                                              \
@@ -213,7 +212,7 @@ typedef struct {
 #define GET_FPEMU_CTL(task,addr)                                                               \
 ({                                                                                             \
        put_user(((task)->thread.flags & IA64_THREAD_FPEMU_MASK) >> IA64_THREAD_FPEMU_SHIFT,    \
-                (int *) (addr));                                                               \
+                (int __user *) (addr));                                                        \
 })
 
 #ifdef CONFIG_IA32_SUPPORT
@@ -230,6 +229,7 @@ struct desc_struct {
 
 #define TLS_SIZE (GDT_ENTRY_TLS_ENTRIES * 8)
 
+struct partial_page_list;
 #endif
 
 struct thread_struct {
@@ -251,6 +251,7 @@ struct thread_struct {
        __u64 fdr;                      /* IA32 fp except. data reg */
        __u64 old_k1;                   /* old value of ar.k1 */
        __u64 old_iob;                  /* old IOBase value */
+       struct partial_page_list *ppl;  /* partial page list for 4K page size issue */
         /* cached TLS descriptors. */
        struct desc_struct tls_array[GDT_ENTRY_TLS_ENTRIES];
 
@@ -260,7 +261,8 @@ struct thread_struct {
                                .fir =          0,                      \
                                .fdr =          0,                      \
                                .old_k1 =       0,                      \
-                               .old_iob =      0,
+                               .old_iob =      0,                      \
+                               .ppl =          NULL,
 #else
 # define INIT_THREAD_IA32
 #endif /* CONFIG_IA32_SUPPORT */
@@ -332,6 +334,26 @@ struct task_struct;
 /* Prepare to copy thread state - unlazy all lazy status */
 #define prepare_to_copy(tsk)   do { } while (0)
 
+#ifdef CONFIG_NUMA
+#define SD_NODE_INIT (struct sched_domain) {           \
+       .span                   = CPU_MASK_NONE,        \
+       .parent                 = NULL,                 \
+       .groups                 = NULL,                 \
+       .min_interval           = 80,                   \
+       .max_interval           = 320,                  \
+       .busy_factor            = 320,                  \
+       .imbalance_pct          = 125,                  \
+       .cache_hot_time         = (10*1000000),         \
+       .cache_nice_tries       = 1,                    \
+       .per_cpu_gain           = 100,                  \
+       .flags                  = SD_BALANCE_EXEC       \
+                               | SD_WAKE_BALANCE,      \
+       .last_balance           = jiffies,              \
+       .balance_interval       = 10,                   \
+       .nr_balance_failed      = 0,                    \
+}
+#endif
+
 /*
  * This is the mechanism for creating a new kernel thread.
  *