2006-10-20 00:09:49

by Zachary Amsden

[permalink] [raw]
Subject: [PATCH 5/5] Mmu header movement.patch

Move header includes for the nopud / nopmd types to the location of the
actual pte / pgd type definitions. This allows generic 4-level page
type code to be written before the split 2/3 level page table headers are
included.

Signed-off-by: Zachary Amsden <[email protected]>

diff -r 8233e2c507d3 include/asm-i386/page.h
--- a/include/asm-i386/page.h Thu Oct 19 03:11:37 2006 -0700
+++ b/include/asm-i386/page.h Thu Oct 19 03:16:36 2006 -0700
@@ -52,6 +52,7 @@ typedef struct { unsigned long long pgpr
#define pte_val(x) ((x).pte_low | ((unsigned long long)(x).pte_high << 32))
#define __pmd(x) ((pmd_t) { (x) } )
#define HPAGE_SHIFT 21
+#include <asm-generic/pgtable-nopud.h>
#else
typedef struct { unsigned long pte_low; } pte_t;
typedef struct { unsigned long pgd; } pgd_t;
@@ -59,6 +60,7 @@ typedef struct { unsigned long pgprot; }
#define boot_pte_t pte_t /* or would you rather have a typedef */
#define pte_val(x) ((x).pte_low)
#define HPAGE_SHIFT 22
+#include <asm-generic/pgtable-nopmd.h>
#endif
#define PTE_MASK PAGE_MASK

diff -r 8233e2c507d3 include/asm-i386/pgtable-2level.h
--- a/include/asm-i386/pgtable-2level.h Thu Oct 19 03:11:37 2006 -0700
+++ b/include/asm-i386/pgtable-2level.h Thu Oct 19 03:16:36 2006 -0700
@@ -1,7 +1,5 @@
#ifndef _I386_PGTABLE_2LEVEL_H
#define _I386_PGTABLE_2LEVEL_H
-
-#include <asm-generic/pgtable-nopmd.h>

#define pte_ERROR(e) \
printk("%s:%d: bad pte %08lx.\n", __FILE__, __LINE__, (e).pte_low)
diff -r 8233e2c507d3 include/asm-i386/pgtable-3level.h
--- a/include/asm-i386/pgtable-3level.h Thu Oct 19 03:11:37 2006 -0700
+++ b/include/asm-i386/pgtable-3level.h Thu Oct 19 03:16:36 2006 -0700
@@ -1,7 +1,5 @@
#ifndef _I386_PGTABLE_3LEVEL_H
#define _I386_PGTABLE_3LEVEL_H
-
-#include <asm-generic/pgtable-nopud.h>

/*
* Intel Physical Address Extension (PAE) Mode - three-level page