OSDN Git Service

arm64: Correct type for PUD macros
authorPunit Agrawal <punit.agrawal@arm.com>
Wed, 10 Jan 2018 19:07:26 +0000 (19:07 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 16 Jan 2018 11:14:36 +0000 (11:14 +0000)
The PUD macros (PUD_TABLE_BIT, PUD_TYPE_MASK, PUD_TYPE_SECT) use the
pgdval_t even when pudval_t is available. Even though the underlying
type for both (u64) is the same it is confusing and may lead to issues
in the future.

Fix this by using pudval_t to define the PUD_* macros.

Fixes: 084bd29810a56 ("ARM64: mm: HugeTLB support.")
Fixes: 206a2a73a62d3 ("arm64: mm: Create gigabyte kernel logical mappings where possible")
Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/pgtable-hwdef.h

index e1f6679..f42836d 100644 (file)
  * Level 1 descriptor (PUD).
  */
 #define PUD_TYPE_TABLE         (_AT(pudval_t, 3) << 0)
-#define PUD_TABLE_BIT          (_AT(pgdval_t, 1) << 1)
-#define PUD_TYPE_MASK          (_AT(pgdval_t, 3) << 0)
-#define PUD_TYPE_SECT          (_AT(pgdval_t, 1) << 0)
+#define PUD_TABLE_BIT          (_AT(pudval_t, 1) << 1)
+#define PUD_TYPE_MASK          (_AT(pudval_t, 3) << 0)
+#define PUD_TYPE_SECT          (_AT(pudval_t, 1) << 0)
 
 /*
  * Level 2 descriptor (PMD).