diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-08-13 23:39:45 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-08-13 23:39:45 +0000 |
commit | 64c5a652fb76e999eea27aed777d710d747ed949 (patch) | |
tree | 99f55f2b3ed8fd1b6d0fda2523d5a6ee7063b05a /libc/sysdeps/linux | |
parent | 9f47eaf3223c17a99cc88aea3287697e2635681f (diff) |
Fixup PAGE_SIZE problems
-Erik
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r-- | libc/sysdeps/linux/alpha/bits/uClibc_page.h | 28 | ||||
-rw-r--r-- | libc/sysdeps/linux/alpha/sys/user.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/bits/uClibc_page.h | 28 | ||||
-rw-r--r-- | libc/sysdeps/linux/i386/sys/user.h | 4 | ||||
-rw-r--r-- | libc/sysdeps/linux/mips/bits/uClibc_page.h | 35 | ||||
-rw-r--r-- | libc/sysdeps/linux/mips/sys/user.h | 4 |
6 files changed, 94 insertions, 7 deletions
diff --git a/libc/sysdeps/linux/alpha/bits/uClibc_page.h b/libc/sysdeps/linux/alpha/bits/uClibc_page.h new file mode 100644 index 000000000..8219a19da --- /dev/null +++ b/libc/sysdeps/linux/alpha/bits/uClibc_page.h @@ -0,0 +1,28 @@ +/* Copyright (C) 2004 Erik Andersen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* Supply an architecture specific value for PAGE_SIZE and friends. */ + +#ifndef _UCLIBC_PAGE_H +#define _UCLIBC_PAGE_H + +/* PAGE_SHIFT determines the page size -- in this case 8192 */ +#define PAGE_SHIFT 13 +#define PAGE_SIZE (1UL << PAGE_SHIFT) +#define PAGE_MASK (~(PAGE_SIZE-1)) + +#endif /* _UCLIBC_PAGE_H */ diff --git a/libc/sysdeps/linux/alpha/sys/user.h b/libc/sysdeps/linux/alpha/sys/user.h index 4cd29d2ff..f9beea082 100644 --- a/libc/sysdeps/linux/alpha/sys/user.h +++ b/libc/sysdeps/linux/alpha/sys/user.h @@ -23,7 +23,7 @@ only. Don't read too much into it. Don't use it for anything other than gdb/strace unless you know what you are doing. */ -#include <asm/page.h> +#include <bits/uClibc_page.h> #include <asm/reg.h> struct user diff --git a/libc/sysdeps/linux/common/bits/uClibc_page.h b/libc/sysdeps/linux/common/bits/uClibc_page.h new file mode 100644 index 000000000..e91be2d13 --- /dev/null +++ b/libc/sysdeps/linux/common/bits/uClibc_page.h @@ -0,0 +1,28 @@ +/* Copyright (C) 2004 Erik Andersen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* Supply an architecture specific value for PAGE_SIZE and friends. */ + +#ifndef _UCLIBC_PAGE_H +#define _UCLIBC_PAGE_H + +/* PAGE_SHIFT determines the page size -- in this case 4096 */ +#define PAGE_SHIFT 12 +#define PAGE_SIZE (1UL << PAGE_SHIFT) +#define PAGE_MASK (~(PAGE_SIZE-1)) + +#endif /* _UCLIBC_PAGE_H */ diff --git a/libc/sysdeps/linux/i386/sys/user.h b/libc/sysdeps/linux/i386/sys/user.h index aca46e7d3..c5cfff256 100644 --- a/libc/sysdeps/linux/i386/sys/user.h +++ b/libc/sysdeps/linux/i386/sys/user.h @@ -92,9 +92,7 @@ struct user int u_debugreg [8]; }; -#define PAGE_SHIFT 12 -#define PAGE_SIZE (1UL << PAGE_SHIFT) -#define PAGE_MASK (~(PAGE_SIZE-1)) +#include <bits/uClibc_page.h> #define NBPG PAGE_SIZE #define UPAGES 1 #define HOST_TEXT_START_ADDR (u.start_code) diff --git a/libc/sysdeps/linux/mips/bits/uClibc_page.h b/libc/sysdeps/linux/mips/bits/uClibc_page.h new file mode 100644 index 000000000..915918c36 --- /dev/null +++ b/libc/sysdeps/linux/mips/bits/uClibc_page.h @@ -0,0 +1,35 @@ +/* Copyright (C) 2004 Erik Andersen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* Supply an architecture specific value for PAGE_SIZE and friends. */ + +#ifndef _UCLIBC_PAGE_H +#define _UCLIBC_PAGE_H + +/* PAGE_SIZE of mips is sortof wierd, and depends on how the kernel + * happens to have been configured. It might use 4KB, 16K or 64K + * pages. To avoid using the current kernel configuration settings, + * uClibc will simply use 4KB on mips and call it good. */ +#if 0 +#define PAGE_SHIFT 16 +#define PAGE_SHIFT 14 +#endif +#define PAGE_SHIFT 12 +#define PAGE_SIZE (1UL << PAGE_SHIFT) +#define PAGE_MASK (~(PAGE_SIZE-1)) + +#endif /* _UCLIBC_PAGE_H */ diff --git a/libc/sysdeps/linux/mips/sys/user.h b/libc/sysdeps/linux/mips/sys/user.h index 8b21ff278..8e6b1e1ef 100644 --- a/libc/sysdeps/linux/mips/sys/user.h +++ b/libc/sysdeps/linux/mips/sys/user.h @@ -205,9 +205,7 @@ struct user { #endif -#define PAGE_SHIFT 12 -#define PAGE_SIZE (1UL << PAGE_SHIFT) -#define PAGE_MASK (~(PAGE_SIZE-1)) +#include <bits/uClibc_page.h> #define NBPG PAGE_SIZE #define UPAGES 1 #define HOST_TEXT_START_ADDR (u.start_code) |