summaryrefslogtreecommitdiffstats
path: root/include/asm-mips64/arc
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-mips64/arc')
-rw-r--r--include/asm-mips64/arc/types.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/asm-mips64/arc/types.h b/include/asm-mips64/arc/types.h
index b1d72e10e..685580411 100644
--- a/include/asm-mips64/arc/types.h
+++ b/include/asm-mips64/arc/types.h
@@ -22,6 +22,18 @@ typedef unsigned short USHORT;
typedef unsigned long ULONG __attribute__ ((__mode__ (__SI__)));
typedef void VOID;
+/* The pointer types. Note that we're using a 64-bit compiler but all
+ pointer in the ARC structures are only 32-bit, so we need some disgusting
+ workarounds. Keep your vomit bag handy. */
+typedef LONG _PCHAR;
+typedef LONG _PSHORT;
+typedef LONG _PLARGE_INTEGER;
+typedef LONG _PLONG;
+typedef LONG _PUCHAR;
+typedef LONG _PUSHORT;
+typedef LONG _PULONG;
+typedef LONG _PVOID;
+
#endif /* CONFIG_ARC32 */
#ifdef CONFIG_ARC64
@@ -35,6 +47,26 @@ typedef unsigned short USHORT;
typedef unsigned long ULONG __attribute__ (__mode__ (__DI__));
typedef void VOID;
+/* The pointer types. We're 64-bit and the firmware is also 64-bit, so
+ live is sane ... */
+typedef CHAR *_PCHAR;
+typedef SHORT *_PSHORT;
+typedef LARGE_INTEGER *_PLARGE_INTEGER;
+typedef LONG *_PLONG;
+typedef UCHAR *_PUCHAR;
+typedef USHORT *_PUSHORT;
+typedef ULONG *_PULONG;
+typedef VOID *_PVOID;
+
#endif /* CONFIG_ARC64 */
+typedef CHAR *PCHAR;
+typedef SHORT *PSHORT;
+typedef LARGE_INTEGER *PLARGE_INTEGER;
+typedef LONG *PLONG;
+typedef UCHAR *PUCHAR;
+typedef USHORT *PUSHORT;
+typedef ULONG *PULONG;
+typedef VOID *PVOID;
+
#endif /* _ASM_ARC_TYPES_H */