From 9a8453c3f261dad93b8f168e60facd7e38e55c79 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Wed, 19 Oct 2016 20:44:56 +0100 Subject: [PATCH] cpu: introduce uputi/ugeti There are syscalls that use an int *, and also ioctls. For those we can't use uputw/getw as we were. Add new helper defines. --- Kernel/cpu-6502/cpu.h | 2 ++ Kernel/cpu-68000/cpu.h | 2 ++ Kernel/cpu-6809/cpu.h | 2 ++ Kernel/cpu-68hc11/cpu.h | 2 ++ Kernel/cpu-8086/cpu.h | 2 ++ Kernel/cpu-msp430x/cpu.h | 3 +++ Kernel/cpu-z80/cpu.h | 2 ++ 7 files changed, 15 insertions(+) diff --git a/Kernel/cpu-6502/cpu.h b/Kernel/cpu-6502/cpu.h index 4633186c..ceaef195 100644 --- a/Kernel/cpu-6502/cpu.h +++ b/Kernel/cpu-6502/cpu.h @@ -17,6 +17,8 @@ typedef uint16_t uptr_t; /* User pointer equivalent */ #define uputp uputw /* Copy user pointer type */ #define ugetp ugetw /* between user and kernel */ +#define uputi uputw /* Copy user int type */ +#define ugeti ugetw /* between user and kernel */ extern void ei(void); extern irqflags_t di(void); diff --git a/Kernel/cpu-68000/cpu.h b/Kernel/cpu-68000/cpu.h index bb6f5d9d..ee272b20 100644 --- a/Kernel/cpu-68000/cpu.h +++ b/Kernel/cpu-68000/cpu.h @@ -19,6 +19,8 @@ typedef uint32_t uptr_t; /* User pointer equivalent */ #define uputp uputl /* Copy user pointer type */ #define ugetp ugetl /* between user and kernel */ +#define uputi uputl /* Copy user int type */ +#define ugeti ugetl /* between user and kernel */ extern void ei(void); extern irqflags_t di(void); diff --git a/Kernel/cpu-6809/cpu.h b/Kernel/cpu-6809/cpu.h index 691a4e48..2f6e5a71 100644 --- a/Kernel/cpu-6809/cpu.h +++ b/Kernel/cpu-6809/cpu.h @@ -18,6 +18,8 @@ typedef uint16_t uptr_t; /* User pointer equivalent */ #define uputp uputw /* Copy user pointer type */ #define ugetp ugetw /* between user and kernel */ +#define uputi uputw /* Copy user int type */ +#define ugeti ugetw /* between user and kernel */ extern void ei(void); extern irqflags_t di(void); diff --git a/Kernel/cpu-68hc11/cpu.h b/Kernel/cpu-68hc11/cpu.h index 5714a44f..f5592cec 100644 --- a/Kernel/cpu-68hc11/cpu.h +++ b/Kernel/cpu-68hc11/cpu.h @@ -17,6 +17,8 @@ typedef uint16_t uptr_t; /* User pointer equivalent */ #define uputp uputw /* Copy user pointer type */ #define ugetp ugetw /* between user and kernel */ +#define uputi uputw /* Copy user int type */ +#define ugeti ugetw /* between user and kernel */ extern void ei(void); extern irqflags_t di(void); diff --git a/Kernel/cpu-8086/cpu.h b/Kernel/cpu-8086/cpu.h index 065afa9b..c9b7f08b 100644 --- a/Kernel/cpu-8086/cpu.h +++ b/Kernel/cpu-8086/cpu.h @@ -17,6 +17,8 @@ typedef uint16_t uptr_t; /* User pointer equivalent */ #define uputp uputw /* Copy user pointer type */ #define ugetp ugetw /* between user and kernel */ +#define uputi uputw /* Copy user int type */ +#define ugeti ugetw /* between user and kernel */ extern void ei(void); extern irqflags_t di(void); diff --git a/Kernel/cpu-msp430x/cpu.h b/Kernel/cpu-msp430x/cpu.h index e723c342..436433e6 100644 --- a/Kernel/cpu-msp430x/cpu.h +++ b/Kernel/cpu-msp430x/cpu.h @@ -32,6 +32,8 @@ typedef uint32_t clock_t; #define uputp uputw /* Copy user pointer type */ #define ugetp ugetw /* between user and kernel */ +#define uputi uputw /* Copy user int type */ +#define ugeti ugetw /* between user and kernel */ #define ei() \ asm volatile ("eint") @@ -114,3 +116,4 @@ typedef union { /* this structure is endian dependent */ #define EMAGIC 0x08 #define EMAGIC_2 0x3c +#define no_cache_udata() diff --git a/Kernel/cpu-z80/cpu.h b/Kernel/cpu-z80/cpu.h index 6c18da17..e1d029bc 100644 --- a/Kernel/cpu-z80/cpu.h +++ b/Kernel/cpu-z80/cpu.h @@ -17,6 +17,8 @@ typedef uint16_t uptr_t; /* Userspace pointer equivalent */ #define uputp uputw /* Copy user pointer type */ #define ugetp ugetw /* between user and kernel */ +#define uputi uputw /* Copy user int type */ +#define ugeti ugetw /* between user and kernel */ #define ei() do {__asm ei __endasm; } while(0); -- 2.34.1