cpu: lay groundwork for 32bit kernel / 16bit user etc
authorAlan Cox <alan@linux.intel.com>
Fri, 17 Jul 2015 22:25:34 +0000 (23:25 +0100)
committerAlan Cox <alan@linux.intel.com>
Fri, 17 Jul 2015 22:25:34 +0000 (23:25 +0100)
ugetp/uputp for user pointer sizes
uptr_t holds a userspace pointer

Kernel/cpu-6502/cpu.h
Kernel/cpu-68000/cpu.h
Kernel/cpu-6809/cpu.h
Kernel/cpu-8086/cpu.h
Kernel/cpu-z80/cpu.h

index 23be142..1b9d830 100644 (file)
@@ -13,6 +13,10 @@ typedef uint16_t uarg_t;             /* Holds arguments */
 typedef uint16_t usize_t;              /* Largest value passed by userspace */
 typedef int16_t susize_t;
 typedef uint16_t uaddr_t;
+typedef uint16_t uptr_t;               /* User pointer equivalent */
+
+#define uputp  uputw                   /* Copy user pointer type */
+#define ugetp  ugetw                   /* between user and kernel */
 
 extern void ei(void);
 extern irqflags_t di(void);
index bfd7171..19a7d95 100644 (file)
@@ -13,6 +13,10 @@ typedef uint32_t uarg_t;             /* Holds arguments */
 typedef uint32_t usize_t;              /* Largest value passed by userspace */
 typedef int32_t susize_t;
 typedef uint32_t uaddr_t;
+typedef uint32_t uptr_t;               /* User pointer equivalent */
+
+#define uputp  uputl                   /* Copy user pointer type */
+#define ugetp  ugetl                   /* between user and kernel */
 
 extern void ei(void);
 extern irqflags_t di(void);
index ab2bab0..136eb0b 100644 (file)
@@ -13,6 +13,10 @@ typedef uint16_t uarg_t;             /* Holds arguments */
 typedef uint16_t usize_t;              /* Largest value passed by userspace */
 typedef int16_t susize_t;
 typedef uint16_t uaddr_t;              /* A user address must fit this */
+typedef uint16_t uptr_t;               /* User pointer equivalent */
+
+#define uputp  uputw                   /* Copy user pointer type */
+#define ugetp  ugetw                   /* between user and kernel */
 
 extern void ei(void);
 extern irqflags_t di(void);
index 19c39b7..d9d1c0b 100644 (file)
@@ -13,6 +13,10 @@ typedef uint16_t uarg_t;             /* Holds arguments */
 typedef uint16_t usize_t;              /* Largest value passed by userspace */
 typedef int16_t susize_t;
 typedef uint16_t uaddr_t;
+typedef uint16_t uptr_t;               /* User pointer equivalent */
+
+#define uputp  uputw                   /* Copy user pointer type */
+#define ugetp  ugetw                   /* between user and kernel */
 
 #define __fastcall__
 extern void ei(void);
index f5bf399..abc440f 100644 (file)
@@ -10,6 +10,10 @@ typedef uint16_t uarg_t;             /* Holds arguments */
 typedef uint16_t usize_t;              /* Largest value passed by userspace */
 typedef int16_t susize_t;
 typedef uint16_t uaddr_t;              /* User address */
+typedef uint16_t uptr_t;               /* Userspace pointer equivalent */
+
+#define uputp  uputw                   /* Copy user pointer type */
+#define ugetp  ugetw                   /* between user and kernel */
 
 #define ei()   do {__asm ei __endasm; } while(0);