aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/pgtable-2level-types.h
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2011-09-05 17:51:56 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-10-06 15:40:05 +0100
commit442e70c0b3536e832547eed89629435462f4b515 (patch)
treef4a4869e204741792695c06824a8fb2aec9a49f9 /arch/arm/include/asm/pgtable-2level-types.h
parent17f57211969bddca2e922299a2530b1c65ccabfa (diff)
ARM: 7076/1: LPAE: Add (pte|pmd)val_t type definitions as u32
This patch defines the (pte|pmd)val_t as u32 and changes the page table types to be based on these. The PMD bits are converted to the corresponding type using the _AT macro. The flush_pmd_entry/clean_pmd_entry argument was changed to (void *) to allow them to be used with both PGD and PMD pointers and avoid code duplication. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include/asm/pgtable-2level-types.h')
-rw-r--r--arch/arm/include/asm/pgtable-2level-types.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/arch/arm/include/asm/pgtable-2level-types.h b/arch/arm/include/asm/pgtable-2level-types.h
index 8a01f62d8a1..66cb5b0e89c 100644
--- a/arch/arm/include/asm/pgtable-2level-types.h
+++ b/arch/arm/include/asm/pgtable-2level-types.h
@@ -19,7 +19,10 @@
#ifndef _ASM_PGTABLE_2LEVEL_TYPES_H
#define _ASM_PGTABLE_2LEVEL_TYPES_H
-typedef unsigned long pteval_t;
+#include <asm/types.h>
+
+typedef u32 pteval_t;
+typedef u32 pmdval_t;
#undef STRICT_MM_TYPECHECKS
@@ -28,9 +31,9 @@ typedef unsigned long pteval_t;
* These are used to make use of C type-checking..
*/
typedef struct { pteval_t pte; } pte_t;
-typedef struct { unsigned long pmd; } pmd_t;
-typedef struct { unsigned long pgd[2]; } pgd_t;
-typedef struct { unsigned long pgprot; } pgprot_t;
+typedef struct { pmdval_t pmd; } pmd_t;
+typedef struct { pmdval_t pgd[2]; } pgd_t;
+typedef struct { pteval_t pgprot; } pgprot_t;
#define pte_val(x) ((x).pte)
#define pmd_val(x) ((x).pmd)
@@ -46,9 +49,9 @@ typedef struct { unsigned long pgprot; } pgprot_t;
* .. while these make it easier on the compiler
*/
typedef pteval_t pte_t;
-typedef unsigned long pmd_t;
-typedef unsigned long pgd_t[2];
-typedef unsigned long pgprot_t;
+typedef pmdval_t pmd_t;
+typedef pmdval_t pgd_t[2];
+typedef pteval_t pgprot_t;
#define pte_val(x) (x)
#define pmd_val(x) (x)