This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / include / asm-s390 / processor.h
index 7ef8112..cbbd114 100644 (file)
@@ -63,16 +63,21 @@ extern struct task_struct *last_task_used_math;
 
 # define TASK_SIZE             (0x80000000UL)
 # define TASK_UNMAPPED_BASE    (TASK_SIZE / 2)
+# define DEFAULT_TASK_SIZE     (0x80000000UL)
 
 #else /* __s390x__ */
 
-# define TASK_SIZE             (0x40000000000UL)
-# define TASK31_SIZE           (0x80000000UL)
-# define TASK_UNMAPPED_BASE    (test_thread_flag(TIF_31BIT) ? \
-                                       (TASK31_SIZE / 2) : (TASK_SIZE / 2))
+# define TASK_SIZE             (test_thread_flag(TIF_31BIT) ? \
+                                       (0x80000000UL) : (0x40000000000UL))
+# define TASK_UNMAPPED_BASE    (TASK_SIZE / 2)
+# define DEFAULT_TASK_SIZE     (0x40000000000UL)
 
 #endif /* __s390x__ */
 
+#define MM_VM_SIZE(mm)         DEFAULT_TASK_SIZE
+
+#define HAVE_ARCH_PICK_MMAP_LAYOUT
+
 typedef struct {
         __u32 ar4;
 } mm_segment_t;
@@ -98,6 +103,25 @@ struct thread_struct {
 
 typedef struct thread_struct thread_struct;
 
+/*
+ * Stack layout of a C stack frame.
+ */
+#ifndef __PACK_STACK
+struct stack_frame {
+       unsigned long back_chain;
+       unsigned long empty1[5];
+       unsigned long gprs[10];
+       unsigned int  empty2[8];
+};
+#else
+struct stack_frame {
+       unsigned long empty1[5];
+       unsigned int  empty2[8];
+       unsigned long gprs[10];
+       unsigned long back_chain;
+};
+#endif
+
 #define ARCH_MIN_TASKALIGN     8
 
 #ifndef __s390x__
@@ -316,6 +340,16 @@ static inline void disabled_wait(unsigned long code)
 #endif /* __s390x__ */
 }
 
+/*
+ * CPU idle notifier chain.
+ */
+#define CPU_IDLE       0
+#define CPU_NOT_IDLE   1
+
+struct notifier_block;
+int register_idle_notifier(struct notifier_block *nb);
+int unregister_idle_notifier(struct notifier_block *nb);
+
 #endif
 
 #endif                                 /* __ASM_S390_PROCESSOR_H           */