diff options
author | Helge Deller <deller@parisc-linux.org> | 2006-04-20 16:40:23 -0400 |
---|---|---|
committer | Kyle McMartin <kyle@hera.kernel.org> | 2006-04-21 18:20:34 -0400 |
commit | 2fd83038160531245099c3c5b3511fa4b80765eb (patch) | |
tree | 6145a9e78723c76ceac722eb60267c0116983c12 /arch/parisc/kernel/init_task.c | |
parent | d668da80d613def981c573354e1853e38bd0698d (diff) |
[PARISC] Further work for multiple page sizes
More work towards supporing multiple page sizes on 64-bit. Convert
some assumptions that 64bit uses 3 level page tables into testing
PT_NLEVELS. Also some BUG() to BUG_ON() conversions and some cleanups
to assembler.
Signed-off-by: Helge Deller <deller@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc/kernel/init_task.c')
-rw-r--r-- | arch/parisc/kernel/init_task.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/parisc/kernel/init_task.c b/arch/parisc/kernel/init_task.c index 7e898fd64415..8384bf9cecd2 100644 --- a/arch/parisc/kernel/init_task.c +++ b/arch/parisc/kernel/init_task.c | |||
@@ -53,17 +53,17 @@ union thread_union init_thread_union | |||
53 | __attribute__((aligned(128))) __attribute__((__section__(".data.init_task"))) = | 53 | __attribute__((aligned(128))) __attribute__((__section__(".data.init_task"))) = |
54 | { INIT_THREAD_INFO(init_task) }; | 54 | { INIT_THREAD_INFO(init_task) }; |
55 | 55 | ||
56 | #ifdef __LP64__ | 56 | #if PT_NLEVELS == 3 |
57 | /* NOTE: This layout exactly conforms to the hybrid L2/L3 page table layout | 57 | /* NOTE: This layout exactly conforms to the hybrid L2/L3 page table layout |
58 | * with the first pmd adjacent to the pgd and below it. gcc doesn't actually | 58 | * with the first pmd adjacent to the pgd and below it. gcc doesn't actually |
59 | * guarantee that global objects will be laid out in memory in the same order | 59 | * guarantee that global objects will be laid out in memory in the same order |
60 | * as the order of declaration, so put these in different sections and use | 60 | * as the order of declaration, so put these in different sections and use |
61 | * the linker script to order them. */ | 61 | * the linker script to order them. */ |
62 | pmd_t pmd0[PTRS_PER_PMD] __attribute__ ((aligned(PAGE_SIZE))) __attribute__ ((__section__ (".data.vm0.pmd"))) = { {0}, }; | 62 | pmd_t pmd0[PTRS_PER_PMD] __attribute__ ((__section__ (".data.vm0.pmd"), aligned(PAGE_SIZE))); |
63 | |||
64 | #endif | 63 | #endif |
65 | pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((aligned(PAGE_SIZE))) __attribute__ ((__section__ (".data.vm0.pgd"))) = { {0}, }; | 64 | |
66 | pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((aligned(PAGE_SIZE))) __attribute__ ((__section__ (".data.vm0.pte"))) = { {0}, }; | 65 | pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((__section__ (".data.vm0.pgd"), aligned(PAGE_SIZE))); |
66 | pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((__section__ (".data.vm0.pte"), aligned(PAGE_SIZE))); | ||
67 | 67 | ||
68 | /* | 68 | /* |
69 | * Initial task structure. | 69 | * Initial task structure. |