diff options
Diffstat (limited to 'include/asm-i386/page.h')
-rw-r--r-- | include/asm-i386/page.h | 57 |
1 files changed, 19 insertions, 38 deletions
diff --git a/include/asm-i386/page.h b/include/asm-i386/page.h index c3719d5d9..11577168a 100644 --- a/include/asm-i386/page.h +++ b/include/asm-i386/page.h @@ -9,8 +9,6 @@ #ifdef __KERNEL__ #ifndef __ASSEMBLY__ -#define STRICT_MM_TYPECHECKS - #include <linux/config.h> #ifdef CONFIG_X86_USE_3DNOW @@ -32,13 +30,19 @@ #endif -#ifdef STRICT_MM_TYPECHECKS /* * These are used to make use of C type-checking.. */ +#if CONFIG_X86_PAE +typedef struct { unsigned long long pte; } pte_t; +typedef struct { unsigned long long pmd; } pmd_t; +typedef struct { unsigned long long pgd; } pgd_t; +#else typedef struct { unsigned long pte; } pte_t; typedef struct { unsigned long pmd; } pmd_t; typedef struct { unsigned long pgd; } pgd_t; +#endif + typedef struct { unsigned long pgprot; } pgprot_t; #define pte_val(x) ((x).pte) @@ -51,26 +55,6 @@ typedef struct { unsigned long pgprot; } pgprot_t; #define __pgd(x) ((pgd_t) { (x) } ) #define __pgprot(x) ((pgprot_t) { (x) } ) -#else -/* - * .. while these make it easier on the compiler - */ -typedef unsigned long pte_t; -typedef unsigned long pmd_t; -typedef unsigned long pgd_t; -typedef unsigned long pgprot_t; - -#define pte_val(x) (x) -#define pmd_val(x) (x) -#define pgd_val(x) (x) -#define pgprot_val(x) (x) - -#define __pte(x) (x) -#define __pmd(x) (x) -#define __pgd(x) (x) -#define __pgprot(x) (x) - -#endif #endif /* !__ASSEMBLY__ */ /* to align the pointer to the (next) page boundary */ @@ -83,29 +67,26 @@ typedef unsigned long pgprot_t; * * A __PAGE_OFFSET of 0xC0000000 means that the kernel has * a virtual address space of one gigabyte, which limits the - * amount of physical memory you can use to about 950MB. If - * you want to use more physical memory, change this define. - * - * For example, if you have 2GB worth of physical memory, you - * could change this define to 0x80000000, which gives the - * kernel 2GB of virtual memory (enough to most of your physical memory - * as the kernel needs a bit extra for various io-memory mappings) - * - * IF YOU CHANGE THIS, PLEASE ALSO CHANGE - * - * arch/i386/vmlinux.lds + * amount of physical memory you can use to about 950MB. * - * which has the same constant encoded.. + * If you want more physical memory than this then see the CONFIG_BIGMEM + * option in the kernel configuration. */ -#include <asm/page_offset.h> - -#define __PAGE_OFFSET (PAGE_OFFSET_RAW) +#define __PAGE_OFFSET (0xC0000000) #ifndef __ASSEMBLY__ +extern int console_loglevel; + +/* + * Tell the user there is some problem. Beep too, so we can + * see^H^H^Hhear bugs in early bootup as well! + */ #define BUG() do { \ + __asm__ __volatile__ ("movb $0x3,%al; outb %al,$0x61"); \ printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ + console_loglevel = 0; \ __asm__ __volatile__(".byte 0x0f,0x0b"); \ } while (0) |