aboutsummaryrefslogtreecommitdiffstats
path: root/sysdep
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2001-10-17 03:23:10 +0000
committerH. Peter Anvin <hpa@zytor.com>2001-10-17 03:23:10 +0000
commitda53395ccdb14220321de6813f2b92bc6764af35 (patch)
tree8635fb5408b95dc6d74b6e5ccf646d115962507b /sysdep
parentc4c07523bf866b969581a126b43be1f4ef632123 (diff)
downloadlpsm-da53395ccdb14220321de6813f2b92bc6764af35.tar.gz
lpsm-da53395ccdb14220321de6813f2b92bc6764af35.tar.xz
lpsm-da53395ccdb14220321de6813f2b92bc6764af35.zip
Add definitions for all architectures currently supported by Linux,to-tytso-20011016
at least to the best of my abilities at the moment.
Diffstat (limited to 'sysdep')
-rw-r--r--sysdep/32bit.h20
-rw-r--r--sysdep/64bit.h21
-rw-r--r--sysdep/alpha.h25
-rw-r--r--sysdep/arm.h28
-rw-r--r--sysdep/cris.h25
-rw-r--r--sysdep/i386.h4
-rw-r--r--sysdep/ia64.h25
-rw-r--r--sysdep/m68k.h26
-rw-r--r--sysdep/mips32.h25
-rw-r--r--sysdep/mips64.h25
-rw-r--r--sysdep/parisc.h25
-rw-r--r--sysdep/ppc32.h25
-rw-r--r--sysdep/ppc64.h25
-rw-r--r--sysdep/s390.h25
-rw-r--r--sysdep/s390x.h25
-rw-r--r--sysdep/sh.h25
-rw-r--r--sysdep/sparc32.h26
-rw-r--r--sysdep/sparc64.h26
-rw-r--r--sysdep/x86_64.h27
19 files changed, 452 insertions, 1 deletions
diff --git a/sysdep/32bit.h b/sysdep/32bit.h
new file mode 100644
index 0000000..7c45761
--- /dev/null
+++ b/sysdep/32bit.h
@@ -0,0 +1,20 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/32bit.h
+ *
+ * Common definitions for 32-bit machines
+ */
+
+#define MACHINE_SIZE_LG2 5
diff --git a/sysdep/64bit.h b/sysdep/64bit.h
new file mode 100644
index 0000000..92c3799
--- /dev/null
+++ b/sysdep/64bit.h
@@ -0,0 +1,21 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/64bit.h
+ *
+ * Common definitions for 64-bit machines
+ */
+
+#define MACHINE_SIZE_LG2 6
+
diff --git a/sysdep/alpha.h b/sysdep/alpha.h
new file mode 100644
index 0000000..a15a4c1
--- /dev/null
+++ b/sysdep/alpha.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/alpha.h
+ *
+ * System-specific constants for alpha, included from system.h
+ */
+
+/* These constants are appropriate for Linux/alpha */
+
+#include "sysdep/64bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x28000000000UL)
diff --git a/sysdep/arm.h b/sysdep/arm.h
new file mode 100644
index 0000000..135110d
--- /dev/null
+++ b/sysdep/arm.h
@@ -0,0 +1,28 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/arm.h
+ *
+ * System-specific constants for arm, included from system.h
+ */
+
+/* These constants are appropriate for Linux/arm */
+
+#include "sysdep/32bit.h"
+
+/* This is where we map the database file - must be constant */
+/**** THIS ASSUMES AN ARM with TASK_SIZE 0xc0000000 which seems to apply
+ to most, but not all, ARM machines. I don't even bother with 26-bit
+ ARM marchines here... ****/
+#define ARENA_ADDRESS ((void *)0x5f000000UL)
diff --git a/sysdep/cris.h b/sysdep/cris.h
new file mode 100644
index 0000000..fb8c995
--- /dev/null
+++ b/sysdep/cris.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/cris.h
+ *
+ * System-specific constants for cris, included from system.h
+ */
+
+/* These constants are appropriate for Linux/cris */
+
+#include "sysdep/32bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x5f000000UL)
diff --git a/sysdep/i386.h b/sysdep/i386.h
index 91accc9..b8ce38b 100644
--- a/sysdep/i386.h
+++ b/sysdep/i386.h
@@ -19,5 +19,7 @@
/* These constants are appropriate for Linux/i386 */
+#include "sysdep/32bit.h"
+
/* This is where we map the database file - must be constant */
-#define ARENA_ADDRESS ((void *)0x58000000UL)
+#define ARENA_ADDRESS ((void *)0x5f000000UL)
diff --git a/sysdep/ia64.h b/sysdep/ia64.h
new file mode 100644
index 0000000..a4e0372
--- /dev/null
+++ b/sysdep/ia64.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/ia64.h
+ *
+ * System-specific constants for ia64, included from system.h
+ */
+
+/* These constants are appropriate for Linux/ia64 */
+
+#include "sysdep/64bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x7e00000000000000UL)
diff --git a/sysdep/m68k.h b/sysdep/m68k.h
new file mode 100644
index 0000000..6b4ea96
--- /dev/null
+++ b/sysdep/m68k.h
@@ -0,0 +1,26 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/m68k.h
+ *
+ * System-specific constants for m68k, included from system.h
+ */
+
+/* These constants are appropriate for Linux/m68k */
+
+#include "sysdep/32bit.h"
+
+/* This is where we map the database file - must be constant */
+/* This doesn't work on Sun3 machines, but who cares... */
+#define ARENA_ADDRESS ((void *)0xd0000000UL)
diff --git a/sysdep/mips32.h b/sysdep/mips32.h
new file mode 100644
index 0000000..f729ec1
--- /dev/null
+++ b/sysdep/mips32.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/mips32.h
+ *
+ * System-specific constants for mips32, included from system.h
+ */
+
+/* These constants are appropriate for Linux/mips32 */
+
+#include "sysdep/32bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x38000000UL)
diff --git a/sysdep/mips64.h b/sysdep/mips64.h
new file mode 100644
index 0000000..aae56ae
--- /dev/null
+++ b/sysdep/mips64.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/mips64.h
+ *
+ * System-specific constants for mips64, included from system.h
+ */
+
+/* These constants are appropriate for Linux/mips64 */
+
+#include "sysdep/64bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x7e00000000)
diff --git a/sysdep/parisc.h b/sysdep/parisc.h
new file mode 100644
index 0000000..70c814f
--- /dev/null
+++ b/sysdep/parisc.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/parisc.h
+ *
+ * System-specific constants for parisc, included from system.h
+ */
+
+/* These constants are appropriate for Linux/parisc */
+
+#include "sysdep/32bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x5f000000UL)
diff --git a/sysdep/ppc32.h b/sysdep/ppc32.h
new file mode 100644
index 0000000..e0b1452
--- /dev/null
+++ b/sysdep/ppc32.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/ppc32.h
+ *
+ * System-specific constants for ppc32, included from system.h
+ */
+
+/* These constants are appropriate for Linux/ppc32 */
+
+#include "sysdep/32bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x38000000UL)
diff --git a/sysdep/ppc64.h b/sysdep/ppc64.h
new file mode 100644
index 0000000..465e41d
--- /dev/null
+++ b/sysdep/ppc64.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/ppc64.h
+ *
+ * System-specific constants for ppc64, included from system.h
+ */
+
+/* These constants are appropriate for Linux/ppc64 */
+
+#include "sysdep/64bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x13f00000000UL)
diff --git a/sysdep/s390.h b/sysdep/s390.h
new file mode 100644
index 0000000..6b0fdf3
--- /dev/null
+++ b/sysdep/s390.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/s390.h
+ *
+ * System-specific constants for s390, included from system.h
+ */
+
+/* These constants are appropriate for Linux/s390 */
+
+#include "sysdep/32bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x4f000000UL)
diff --git a/sysdep/s390x.h b/sysdep/s390x.h
new file mode 100644
index 0000000..2c543dc
--- /dev/null
+++ b/sysdep/s390x.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/s390x.h
+ *
+ * System-specific constants for s390x, included from system.h
+ */
+
+/* These constants are appropriate for Linux/s390x */
+
+#include "sysdep/64bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x27800000000UL)
diff --git a/sysdep/sh.h b/sysdep/sh.h
new file mode 100644
index 0000000..51d2b9b
--- /dev/null
+++ b/sysdep/sh.h
@@ -0,0 +1,25 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/sh.h
+ *
+ * System-specific constants for sh, included from system.h
+ */
+
+/* These constants are appropriate for Linux/sh */
+
+#include "sysdep/32bit.h"
+
+/* This is where we map the database file - must be constant */
+#define ARENA_ADDRESS ((void *)0x4c000000UL)
diff --git a/sysdep/sparc32.h b/sysdep/sparc32.h
new file mode 100644
index 0000000..7902334
--- /dev/null
+++ b/sysdep/sparc32.h
@@ -0,0 +1,26 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/sparc32.h
+ *
+ * System-specific constants for sparc32, included from system.h
+ */
+
+/* These constants are appropriate for Linux/sparc32 */
+
+#include "sysdep/32bit.h"
+
+/* This is where we map the database file - must be constant */
+/* FIX: I have no idea if this is actually legal... */
+#define ARENA_ADDRESS ((void *)0x70000000UL)
diff --git a/sysdep/sparc64.h b/sysdep/sparc64.h
new file mode 100644
index 0000000..1d30af9
--- /dev/null
+++ b/sysdep/sparc64.h
@@ -0,0 +1,26 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/sparc64.h
+ *
+ * System-specific constants for sparc64, included from system.h
+ */
+
+/* These constants are appropriate for Linux/sparc64 */
+
+#include "sysdep/64bit.h"
+
+/* This is where we map the database file - must be constant */
+/* FIX: I have no idea if this is actually legal... */
+#define ARENA_ADDRESS ((void *)0x7000000000000000UL)
diff --git a/sysdep/x86_64.h b/sysdep/x86_64.h
new file mode 100644
index 0000000..13efa14
--- /dev/null
+++ b/sysdep/x86_64.h
@@ -0,0 +1,27 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2000-2001 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+ * USA; either version 2 of the License, or (at your option) any later
+ * version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * sysdep/x86_64.h
+ *
+ * System-specific constants for x86_64, included from system.h
+ */
+
+/* These constants are appropriate for Linux/x86_64 */
+
+#include "sysdep/64bit.h"
+
+/* This is where we map the database file - must be constant */
+/**** FIXME: This is probably going to break when the x86-64 kernel
+ gets a full 47-bit userspace ****/
+#define ARENA_ADDRESS ((void *)0x3f00000000UL)