vserver 1.9.3
[linux-2.6.git] / include / asm-ppc64 / ppc32.h
index f4a36ea..1d04048 100644 (file)
  * 2 of the License, or (at your option) any later version.
  */
 
-/* Use this to get at 32-bit user passed pointers. */
-/* Things to consider: the low-level assembly stub does
-   srl x, 0, x for first four arguments, so if you have
-   pointer to something in the first four arguments, just
-   declare it as a pointer, not u32. On the other side, 
-   arguments from 5th onwards should be declared as u32
-   for pointers, and need AA() around each usage.
-   A() macro should be used for places where you e.g.
-   have some internal variable u32 and just want to get
-   rid of a compiler warning. AA() has to be used in
-   places where you want to convert a function argument
-   to 32bit pointer or when you e.g. access pt_regs
-   structure and want to consider 32bit registers only.
-   -
- */
-#define A(__x) ((unsigned long)(__x))
-#define AA(__x)                                \
-({     unsigned long __ret;            \
-       __asm__ ("clrldi        %0, %0, 32"     \
-                : "=r" (__ret)         \
-                : "0" (__x));          \
-       __ret;                          \
-})
-
 /* These are here to support 32-bit syscalls on a 64-bit kernel. */
 
 typedef struct compat_siginfo {
@@ -56,8 +32,10 @@ typedef struct compat_siginfo {
 
                /* POSIX.1b timers */
                struct {
-                       unsigned int _timer1;
-                       unsigned int _timer2;
+                       timer_t _tid;                   /* timer id */
+                       int _overrun;                   /* overrun count */
+                       compat_sigval_t _sigval;                /* same as below */
+                       int _sys_private;               /* not to be passed to user */
                } _timer;
 
                /* POSIX.1b signals */