提交 d455a369 编写于 作者: H Hugh Dickins 提交者: Linus Torvalds

[PATCH] freepgt: arch FIRST_USER_ADDRESS 0

Replace misleading definition of FIRST_USER_PGD_NR 0 by definition of
FIRST_USER_ADDRESS 0 in all the MMU architectures beyond arm and arm26.
Signed-off-by: NHugh Dickins <hugh@veritas.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 cdfb82ff
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
#define PTRS_PER_PMD (1UL << (PAGE_SHIFT-3)) #define PTRS_PER_PMD (1UL << (PAGE_SHIFT-3))
#define PTRS_PER_PGD (1UL << (PAGE_SHIFT-3)) #define PTRS_PER_PGD (1UL << (PAGE_SHIFT-3))
#define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE) #define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
/* Number of pointers that fit on a page: this will go away. */ /* Number of pointers that fit on a page: this will go away. */
#define PTRS_PER_PAGE (1UL << (PAGE_SHIFT-3)) #define PTRS_PER_PAGE (1UL << (PAGE_SHIFT-3))
......
...@@ -76,7 +76,7 @@ extern void paging_init(void); ...@@ -76,7 +76,7 @@ extern void paging_init(void);
*/ */
#define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE) #define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
/* zero page used for uninitialized stuff */ /* zero page used for uninitialized stuff */
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
......
...@@ -141,7 +141,7 @@ extern unsigned long empty_zero_page; ...@@ -141,7 +141,7 @@ extern unsigned long empty_zero_page;
#define PTRS_PER_PTE 4096 #define PTRS_PER_PTE 4096
#define USER_PGDS_IN_LAST_PML4 (TASK_SIZE / PGDIR_SIZE) #define USER_PGDS_IN_LAST_PML4 (TASK_SIZE / PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define USER_PGD_PTRS (PAGE_OFFSET >> PGDIR_SHIFT) #define USER_PGD_PTRS (PAGE_OFFSET >> PGDIR_SHIFT)
#define KERNEL_PGD_PTRS (PTRS_PER_PGD - USER_PGD_PTRS) #define KERNEL_PGD_PTRS (PTRS_PER_PGD - USER_PGD_PTRS)
......
...@@ -60,7 +60,7 @@ void paging_init(void); ...@@ -60,7 +60,7 @@ void paging_init(void);
#define PGDIR_MASK (~(PGDIR_SIZE-1)) #define PGDIR_MASK (~(PGDIR_SIZE-1))
#define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE) #define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define USER_PGD_PTRS (PAGE_OFFSET >> PGDIR_SHIFT) #define USER_PGD_PTRS (PAGE_OFFSET >> PGDIR_SHIFT)
#define KERNEL_PGD_PTRS (PTRS_PER_PGD-USER_PGD_PTRS) #define KERNEL_PGD_PTRS (PTRS_PER_PGD-USER_PGD_PTRS)
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
#define PGDIR_MASK (~(PGDIR_SIZE-1)) #define PGDIR_MASK (~(PGDIR_SIZE-1))
#define PTRS_PER_PGD (1UL << (PAGE_SHIFT-3)) #define PTRS_PER_PGD (1UL << (PAGE_SHIFT-3))
#define USER_PTRS_PER_PGD (5*PTRS_PER_PGD/8) /* regions 0-4 are user regions */ #define USER_PTRS_PER_PGD (5*PTRS_PER_PGD/8) /* regions 0-4 are user regions */
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
/* /*
* Definitions for second level: * Definitions for second level:
......
...@@ -51,7 +51,7 @@ extern unsigned long empty_zero_page[1024]; ...@@ -51,7 +51,7 @@ extern unsigned long empty_zero_page[1024];
#define PGDIR_MASK (~(PGDIR_SIZE - 1)) #define PGDIR_MASK (~(PGDIR_SIZE - 1))
#define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE) #define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
/* Just any arbitrary offset to the start of the vmalloc VM area: the /* Just any arbitrary offset to the start of the vmalloc VM area: the
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
#define PTRS_PER_PGD 128 #define PTRS_PER_PGD 128
#endif #endif
#define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE) #define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
/* Virtual address region for use by kernel_map() */ /* Virtual address region for use by kernel_map() */
#ifdef CONFIG_SUN3 #ifdef CONFIG_SUN3
......
...@@ -74,7 +74,7 @@ extern int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1, ...@@ -74,7 +74,7 @@ extern int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
#define PTRS_PER_PTE ((PAGE_SIZE << PTE_ORDER) / sizeof(pte_t)) #define PTRS_PER_PTE ((PAGE_SIZE << PTE_ORDER) / sizeof(pte_t))
#define USER_PTRS_PER_PGD (0x80000000UL/PGDIR_SIZE) #define USER_PTRS_PER_PGD (0x80000000UL/PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define VMALLOC_START KSEG2 #define VMALLOC_START KSEG2
......
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
#define PTRS_PER_PTE ((PAGE_SIZE << PTE_ORDER) / sizeof(pte_t)) #define PTRS_PER_PTE ((PAGE_SIZE << PTE_ORDER) / sizeof(pte_t))
#define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE) #define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define VMALLOC_START XKSEG #define VMALLOC_START XKSEG
#define VMALLOC_END \ #define VMALLOC_END \
......
...@@ -120,7 +120,7 @@ ...@@ -120,7 +120,7 @@
* pgd entries used up by user/kernel: * pgd entries used up by user/kernel:
*/ */
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
extern void *vmalloc_start; extern void *vmalloc_start;
......
...@@ -96,7 +96,7 @@ extern unsigned long ioremap_bot, ioremap_base; ...@@ -96,7 +96,7 @@ extern unsigned long ioremap_bot, ioremap_base;
#define PTRS_PER_PGD (1 << (32 - PGDIR_SHIFT)) #define PTRS_PER_PGD (1 << (32 - PGDIR_SHIFT))
#define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE) #define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define USER_PGD_PTRS (PAGE_OFFSET >> PGDIR_SHIFT) #define USER_PGD_PTRS (PAGE_OFFSET >> PGDIR_SHIFT)
#define KERNEL_PGD_PTRS (PTRS_PER_PGD-USER_PGD_PTRS) #define KERNEL_PGD_PTRS (PTRS_PER_PGD-USER_PGD_PTRS)
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
#define PTRS_PER_PGD (1 << PGD_INDEX_SIZE) #define PTRS_PER_PGD (1 << PGD_INDEX_SIZE)
#define USER_PTRS_PER_PGD (1024) #define USER_PTRS_PER_PGD (1024)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define EADDR_SIZE (PTE_INDEX_SIZE + PMD_INDEX_SIZE + \ #define EADDR_SIZE (PTE_INDEX_SIZE + PMD_INDEX_SIZE + \
PGD_INDEX_SIZE + PAGE_SHIFT) PGD_INDEX_SIZE + PAGE_SHIFT)
......
...@@ -95,14 +95,14 @@ extern char empty_zero_page[PAGE_SIZE]; ...@@ -95,14 +95,14 @@ extern char empty_zero_page[PAGE_SIZE];
# define USER_PTRS_PER_PGD 512 # define USER_PTRS_PER_PGD 512
# define USER_PGD_PTRS 512 # define USER_PGD_PTRS 512
# define KERNEL_PGD_PTRS 512 # define KERNEL_PGD_PTRS 512
# define FIRST_USER_PGD_NR 0
#else /* __s390x__ */ #else /* __s390x__ */
# define USER_PTRS_PER_PGD 2048 # define USER_PTRS_PER_PGD 2048
# define USER_PGD_PTRS 2048 # define USER_PGD_PTRS 2048
# define KERNEL_PGD_PTRS 2048 # define KERNEL_PGD_PTRS 2048
# define FIRST_USER_PGD_NR 0
#endif /* __s390x__ */ #endif /* __s390x__ */
#define FIRST_USER_ADDRESS 0
#define pte_ERROR(e) \ #define pte_ERROR(e) \
printk("%s:%d: bad pte %p.\n", __FILE__, __LINE__, (void *) pte_val(e)) printk("%s:%d: bad pte %p.\n", __FILE__, __LINE__, (void *) pte_val(e))
#define pmd_ERROR(e) \ #define pmd_ERROR(e) \
......
...@@ -44,7 +44,7 @@ extern unsigned long empty_zero_page[1024]; ...@@ -44,7 +44,7 @@ extern unsigned long empty_zero_page[1024];
#define PGDIR_MASK (~(PGDIR_SIZE-1)) #define PGDIR_MASK (~(PGDIR_SIZE-1))
#define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE) #define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define PTE_PHYS_MASK 0x1ffff000 #define PTE_PHYS_MASK 0x1ffff000
......
...@@ -238,7 +238,7 @@ static inline pmd_t * pmd_offset(pgd_t * dir, unsigned long address) ...@@ -238,7 +238,7 @@ static inline pmd_t * pmd_offset(pgd_t * dir, unsigned long address)
/* Round it up ! */ /* Round it up ! */
#define USER_PTRS_PER_PGD ((TASK_SIZE+PGDIR_SIZE-1)/PGDIR_SIZE) #define USER_PTRS_PER_PGD ((TASK_SIZE+PGDIR_SIZE-1)/PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#define VMALLOC_END 0xff000000 #define VMALLOC_END 0xff000000
......
...@@ -63,7 +63,7 @@ BTFIXUPDEF_INT(page_kernel) ...@@ -63,7 +63,7 @@ BTFIXUPDEF_INT(page_kernel)
#define PTRS_PER_PMD BTFIXUP_SIMM13(ptrs_per_pmd) #define PTRS_PER_PMD BTFIXUP_SIMM13(ptrs_per_pmd)
#define PTRS_PER_PGD BTFIXUP_SIMM13(ptrs_per_pgd) #define PTRS_PER_PGD BTFIXUP_SIMM13(ptrs_per_pgd)
#define USER_PTRS_PER_PGD BTFIXUP_SIMM13(user_ptrs_per_pgd) #define USER_PTRS_PER_PGD BTFIXUP_SIMM13(user_ptrs_per_pgd)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define PTE_SIZE (PTRS_PER_PTE*4) #define PTE_SIZE (PTRS_PER_PTE*4)
#define PAGE_NONE __pgprot(BTFIXUP_INT(page_none)) #define PAGE_NONE __pgprot(BTFIXUP_INT(page_none))
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
#define PTRS_PER_PGD (1UL << PGDIR_BITS) #define PTRS_PER_PGD (1UL << PGDIR_BITS)
/* Kernel has a separate 44bit address space. */ /* Kernel has a separate 44bit address space. */
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define pte_ERROR(e) __builtin_trap() #define pte_ERROR(e) __builtin_trap()
#define pmd_ERROR(e) __builtin_trap() #define pmd_ERROR(e) __builtin_trap()
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#define PTRS_PER_PTE 1024 #define PTRS_PER_PTE 1024
#define USER_PTRS_PER_PGD ((TASK_SIZE + (PGDIR_SIZE - 1)) / PGDIR_SIZE) #define USER_PTRS_PER_PGD ((TASK_SIZE + (PGDIR_SIZE - 1)) / PGDIR_SIZE)
#define PTRS_PER_PGD 1024 #define PTRS_PER_PGD 1024
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define pte_ERROR(e) \ #define pte_ERROR(e) \
printk("%s:%d: bad pte %p(%08lx).\n", __FILE__, __LINE__, &(e), \ printk("%s:%d: bad pte %p(%08lx).\n", __FILE__, __LINE__, &(e), \
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#define PTRS_PER_PMD 512 #define PTRS_PER_PMD 512
#define USER_PTRS_PER_PGD ((TASK_SIZE + (PGDIR_SIZE - 1)) / PGDIR_SIZE) #define USER_PTRS_PER_PGD ((TASK_SIZE + (PGDIR_SIZE - 1)) / PGDIR_SIZE)
#define PTRS_PER_PGD 512 #define PTRS_PER_PGD 512
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#define pte_ERROR(e) \ #define pte_ERROR(e) \
printk("%s:%d: bad pte %p(%016lx).\n", __FILE__, __LINE__, &(e), \ printk("%s:%d: bad pte %p(%016lx).\n", __FILE__, __LINE__, &(e), \
......
...@@ -114,7 +114,7 @@ extern inline void pgd_clear (pgd_t * pgd) ...@@ -114,7 +114,7 @@ extern inline void pgd_clear (pgd_t * pgd)
#define PGDIR_MASK (~(PGDIR_SIZE-1)) #define PGDIR_MASK (~(PGDIR_SIZE-1))
#define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE) #define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE)
#define FIRST_USER_PGD_NR 0 #define FIRST_USER_ADDRESS 0
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#define MAXMEM 0x3fffffffffffUL #define MAXMEM 0x3fffffffffffUL
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册