This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / include / asm-s390 / lowcore.h
index 0aa1c0f..bea7279 100644 (file)
 
 #define __LC_RETURN_PSW                 0x200
 
-#define __LC_IRB                       0x210
-
-#define __LC_DIAG44_OPCODE             0x250
-
 #define __LC_SAVE_AREA                  0xC00
 
 #ifndef __s390x__
+#define __LC_IRB                       0x208
+#define __LC_SYNC_ENTER_TIMER          0x248
+#define __LC_ASYNC_ENTER_TIMER         0x250
+#define __LC_EXIT_TIMER                        0x258
+#define __LC_LAST_UPDATE_TIMER         0x260
+#define __LC_USER_TIMER                        0x268
+#define __LC_SYSTEM_TIMER              0x270
+#define __LC_LAST_UPDATE_CLOCK         0x278
+#define __LC_STEAL_CLOCK               0x280
+#define __LC_RETURN_MCCK_PSW            0x288
 #define __LC_KERNEL_STACK               0xC40
 #define __LC_THREAD_INFO               0xC44
 #define __LC_ASYNC_STACK                0xC48
 #define __LC_CURRENT                   0xC90
 #define __LC_INT_CLOCK                 0xC98
 #else /* __s390x__ */
+#define __LC_IRB                       0x210
+#define __LC_SYNC_ENTER_TIMER          0x250
+#define __LC_ASYNC_ENTER_TIMER         0x258
+#define __LC_EXIT_TIMER                        0x260
+#define __LC_LAST_UPDATE_TIMER         0x268
+#define __LC_USER_TIMER                        0x270
+#define __LC_SYSTEM_TIMER              0x278
+#define __LC_LAST_UPDATE_CLOCK         0x280
+#define __LC_STEAL_CLOCK               0x288
+#define __LC_RETURN_MCCK_PSW            0x290
 #define __LC_KERNEL_STACK               0xD40
 #define __LC_THREAD_INFO               0xD48
 #define __LC_ASYNC_STACK                0xD50
 #define __LC_KERNEL_ASCE               0xD58
 #define __LC_USER_ASCE                 0xD60
 #define __LC_PANIC_STACK                0xD68
-#define __LC_CPUID                      0xD90
-#define __LC_CPUADDR                    0xD98
+#define __LC_CPUID                     0xD80
+#define __LC_CPUADDR                   0xD88
 #define __LC_IPLDEV                     0xDB8
 #define __LC_JIFFY_TIMER               0xDC0
 #define __LC_CURRENT                   0xDD8
-#define __LC_INT_CLOCK                 0xDe8
+#define __LC_INT_CLOCK                 0xDE8
 #endif /* __s390x__ */
 
 #define __LC_PANIC_MAGIC                0xE00
 
 #ifndef __s390x__
 #define __LC_PFAULT_INTPARM             0x080
+#define __LC_CPU_TIMER_SAVE_AREA        0x0D8
 #define __LC_AREGS_SAVE_AREA            0x120
+#define __LC_GPREGS_SAVE_AREA           0x180
 #define __LC_CREGS_SAVE_AREA            0x1C0
 #else /* __s390x__ */
 #define __LC_PFAULT_INTPARM             0x11B8
+#define __LC_GPREGS_SAVE_AREA           0x1280
+#define __LC_CPU_TIMER_SAVE_AREA        0x1328
 #define __LC_AREGS_SAVE_AREA            0x1340
 #define __LC_CREGS_SAVE_AREA            0x1380
 #endif /* __s390x__ */
@@ -152,7 +172,8 @@ struct _lowcore
        __u16        subchannel_nr;            /* 0x0ba */
        __u32        io_int_parm;              /* 0x0bc */
        __u32        io_int_word;              /* 0x0c0 */
-        __u8         pad3[0xD8-0xC4];          /* 0x0c4 */
+        __u8         pad3[0xD4-0xC4];          /* 0x0c4 */
+       __u32        extended_save_area_addr;  /* 0x0d4 */
        __u32        cpu_timer_save_area[2];   /* 0x0d8 */
        __u32        clock_comp_save_area[2];  /* 0x0e0 */
        __u32        mcck_interruption_code[2]; /* 0x0e8 */
@@ -169,7 +190,16 @@ struct _lowcore
 
         psw_t        return_psw;               /* 0x200 */
        __u8         irb[64];                  /* 0x208 */
-       __u8         pad8[0xc00-0x248];        /* 0x248 */
+       __u64        sync_enter_timer;         /* 0x248 */
+       __u64        async_enter_timer;        /* 0x250 */
+       __u64        exit_timer;               /* 0x258 */
+       __u64        last_update_timer;        /* 0x260 */
+       __u64        user_timer;               /* 0x268 */
+       __u64        system_timer;             /* 0x270 */
+       __u64        last_update_clock;        /* 0x278 */
+       __u64        steal_clock;              /* 0x280 */
+        psw_t        return_mcck_psw;          /* 0x288 */
+       __u8         pad8[0xc00-0x290];        /* 0x290 */
 
         /* System info area */
        __u32        save_area[16];            /* 0xc00 */
@@ -250,8 +280,16 @@ struct _lowcore
        psw_t        io_new_psw;               /* 0x1f0 */
         psw_t        return_psw;               /* 0x200 */
        __u8         irb[64];                  /* 0x210 */
-       __u32        diag44_opcode;            /* 0x250 */
-        __u8         pad8[0xc00-0x254];        /* 0x254 */
+       __u64        sync_enter_timer;         /* 0x250 */
+       __u64        async_enter_timer;        /* 0x258 */
+       __u64        exit_timer;               /* 0x260 */
+       __u64        last_update_timer;        /* 0x268 */
+       __u64        user_timer;               /* 0x270 */
+       __u64        system_timer;             /* 0x278 */
+       __u64        last_update_clock;        /* 0x280 */
+       __u64        steal_clock;              /* 0x288 */
+        psw_t        return_mcck_psw;          /* 0x290 */
+        __u8         pad8[0xc00-0x2a0];        /* 0x2a0 */
         /* System info area */
        __u64        save_area[16];            /* 0xc00 */
         __u8         pad9[0xd40-0xc80];        /* 0xc80 */
@@ -308,7 +346,7 @@ struct _lowcore
 #define S390_lowcore (*((struct _lowcore *) 0))
 extern struct _lowcore *lowcore_ptr[];
 
-extern __inline__ void set_prefix(__u32 address)
+static inline void set_prefix(__u32 address)
 {
         __asm__ __volatile__ ("spx %0" : : "m" (address) : "memory" );
 }