diff options
| author | Dan Williams <dan.j.williams@intel.com> | 2009-09-08 20:55:54 -0400 |
|---|---|---|
| committer | Dan Williams <dan.j.williams@intel.com> | 2009-09-08 20:55:54 -0400 |
| commit | 9134d02bc0af4a8747d448d1f811ec5f8eb96df6 (patch) | |
| tree | 704c3e5dcc10f360815c4868a74711f82fb62e27 /include/asm-generic | |
| parent | bbb20089a3275a19e475dbc21320c3742e3ca423 (diff) | |
| parent | 80ffb3cceaefa405f2ecd46d66500ed8d53efe74 (diff) | |
Merge commit 'md/for-linus' into async-tx-next
Conflicts:
drivers/md/raid5.c
Diffstat (limited to 'include/asm-generic')
| -rw-r--r-- | include/asm-generic/4level-fixup.h | 4 | ||||
| -rw-r--r-- | include/asm-generic/percpu.h | 4 | ||||
| -rw-r--r-- | include/asm-generic/pgtable-nopmd.h | 2 | ||||
| -rw-r--r-- | include/asm-generic/pgtable-nopud.h | 2 | ||||
| -rw-r--r-- | include/asm-generic/tlb.h | 12 | ||||
| -rw-r--r-- | include/asm-generic/vmlinux.lds.h | 34 |
6 files changed, 31 insertions, 27 deletions
diff --git a/include/asm-generic/4level-fixup.h b/include/asm-generic/4level-fixup.h index 9d40e879f99e..77ff547730af 100644 --- a/include/asm-generic/4level-fixup.h +++ b/include/asm-generic/4level-fixup.h | |||
| @@ -27,9 +27,9 @@ | |||
| 27 | #define pud_page_vaddr(pud) pgd_page_vaddr(pud) | 27 | #define pud_page_vaddr(pud) pgd_page_vaddr(pud) |
| 28 | 28 | ||
| 29 | #undef pud_free_tlb | 29 | #undef pud_free_tlb |
| 30 | #define pud_free_tlb(tlb, x) do { } while (0) | 30 | #define pud_free_tlb(tlb, x, addr) do { } while (0) |
| 31 | #define pud_free(mm, x) do { } while (0) | 31 | #define pud_free(mm, x) do { } while (0) |
| 32 | #define __pud_free_tlb(tlb, x) do { } while (0) | 32 | #define __pud_free_tlb(tlb, x, addr) do { } while (0) |
| 33 | 33 | ||
| 34 | #undef pud_addr_end | 34 | #undef pud_addr_end |
| 35 | #define pud_addr_end(addr, end) (end) | 35 | #define pud_addr_end(addr, end) (end) |
diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h index d7d50d7ee51e..aa00800adacc 100644 --- a/include/asm-generic/percpu.h +++ b/include/asm-generic/percpu.h | |||
| @@ -97,4 +97,8 @@ extern void setup_per_cpu_areas(void); | |||
| 97 | #define PER_CPU_ATTRIBUTES | 97 | #define PER_CPU_ATTRIBUTES |
| 98 | #endif | 98 | #endif |
| 99 | 99 | ||
| 100 | #ifndef PER_CPU_DEF_ATTRIBUTES | ||
| 101 | #define PER_CPU_DEF_ATTRIBUTES | ||
| 102 | #endif | ||
| 103 | |||
| 100 | #endif /* _ASM_GENERIC_PERCPU_H_ */ | 104 | #endif /* _ASM_GENERIC_PERCPU_H_ */ |
diff --git a/include/asm-generic/pgtable-nopmd.h b/include/asm-generic/pgtable-nopmd.h index a7cdc48e8b78..725612b793ce 100644 --- a/include/asm-generic/pgtable-nopmd.h +++ b/include/asm-generic/pgtable-nopmd.h | |||
| @@ -59,7 +59,7 @@ static inline pmd_t * pmd_offset(pud_t * pud, unsigned long address) | |||
| 59 | static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) | 59 | static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) |
| 60 | { | 60 | { |
| 61 | } | 61 | } |
| 62 | #define __pmd_free_tlb(tlb, x) do { } while (0) | 62 | #define __pmd_free_tlb(tlb, x, a) do { } while (0) |
| 63 | 63 | ||
| 64 | #undef pmd_addr_end | 64 | #undef pmd_addr_end |
| 65 | #define pmd_addr_end(addr, end) (end) | 65 | #define pmd_addr_end(addr, end) (end) |
diff --git a/include/asm-generic/pgtable-nopud.h b/include/asm-generic/pgtable-nopud.h index 87cf449a6df3..810431d8351b 100644 --- a/include/asm-generic/pgtable-nopud.h +++ b/include/asm-generic/pgtable-nopud.h | |||
| @@ -52,7 +52,7 @@ static inline pud_t * pud_offset(pgd_t * pgd, unsigned long address) | |||
| 52 | */ | 52 | */ |
| 53 | #define pud_alloc_one(mm, address) NULL | 53 | #define pud_alloc_one(mm, address) NULL |
| 54 | #define pud_free(mm, x) do { } while (0) | 54 | #define pud_free(mm, x) do { } while (0) |
| 55 | #define __pud_free_tlb(tlb, x) do { } while (0) | 55 | #define __pud_free_tlb(tlb, x, a) do { } while (0) |
| 56 | 56 | ||
| 57 | #undef pud_addr_end | 57 | #undef pud_addr_end |
| 58 | #define pud_addr_end(addr, end) (end) | 58 | #define pud_addr_end(addr, end) (end) |
diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index f490e43a90b9..e43f9766259f 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h | |||
| @@ -123,24 +123,24 @@ static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page) | |||
| 123 | __tlb_remove_tlb_entry(tlb, ptep, address); \ | 123 | __tlb_remove_tlb_entry(tlb, ptep, address); \ |
| 124 | } while (0) | 124 | } while (0) |
| 125 | 125 | ||
| 126 | #define pte_free_tlb(tlb, ptep) \ | 126 | #define pte_free_tlb(tlb, ptep, address) \ |
| 127 | do { \ | 127 | do { \ |
| 128 | tlb->need_flush = 1; \ | 128 | tlb->need_flush = 1; \ |
| 129 | __pte_free_tlb(tlb, ptep); \ | 129 | __pte_free_tlb(tlb, ptep, address); \ |
| 130 | } while (0) | 130 | } while (0) |
| 131 | 131 | ||
| 132 | #ifndef __ARCH_HAS_4LEVEL_HACK | 132 | #ifndef __ARCH_HAS_4LEVEL_HACK |
| 133 | #define pud_free_tlb(tlb, pudp) \ | 133 | #define pud_free_tlb(tlb, pudp, address) \ |
| 134 | do { \ | 134 | do { \ |
| 135 | tlb->need_flush = 1; \ | 135 | tlb->need_flush = 1; \ |
| 136 | __pud_free_tlb(tlb, pudp); \ | 136 | __pud_free_tlb(tlb, pudp, address); \ |
| 137 | } while (0) | 137 | } while (0) |
| 138 | #endif | 138 | #endif |
| 139 | 139 | ||
| 140 | #define pmd_free_tlb(tlb, pmdp) \ | 140 | #define pmd_free_tlb(tlb, pmdp, address) \ |
| 141 | do { \ | 141 | do { \ |
| 142 | tlb->need_flush = 1; \ | 142 | tlb->need_flush = 1; \ |
| 143 | __pmd_free_tlb(tlb, pmdp); \ | 143 | __pmd_free_tlb(tlb, pmdp, address); \ |
| 144 | } while (0) | 144 | } while (0) |
| 145 | 145 | ||
| 146 | #define tlb_migrate_finish(mm) do {} while (0) | 146 | #define tlb_migrate_finish(mm) do {} while (0) |
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 92b73b6140ff..6ad76bf5fb40 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
| @@ -30,9 +30,7 @@ | |||
| 30 | * EXCEPTION_TABLE(...) | 30 | * EXCEPTION_TABLE(...) |
| 31 | * NOTES | 31 | * NOTES |
| 32 | * | 32 | * |
| 33 | * __bss_start = .; | 33 | * BSS_SECTION(0, 0, 0) |
| 34 | * BSS_SECTION(0, 0) | ||
| 35 | * __bss_stop = .; | ||
| 36 | * _end = .; | 34 | * _end = .; |
| 37 | * | 35 | * |
| 38 | * /DISCARD/ : { | 36 | * /DISCARD/ : { |
| @@ -191,7 +189,7 @@ | |||
| 191 | . = ALIGN(align); \ | 189 | . = ALIGN(align); \ |
| 192 | *(.data.cacheline_aligned) | 190 | *(.data.cacheline_aligned) |
| 193 | 191 | ||
| 194 | #define INIT_TASK(align) \ | 192 | #define INIT_TASK_DATA(align) \ |
| 195 | . = ALIGN(align); \ | 193 | . = ALIGN(align); \ |
| 196 | *(.data.init_task) | 194 | *(.data.init_task) |
| 197 | 195 | ||
| @@ -434,14 +432,15 @@ | |||
| 434 | /* | 432 | /* |
| 435 | * Init task | 433 | * Init task |
| 436 | */ | 434 | */ |
| 437 | #define INIT_TASK_DATA(align) \ | 435 | #define INIT_TASK_DATA_SECTION(align) \ |
| 438 | . = ALIGN(align); \ | 436 | . = ALIGN(align); \ |
| 439 | .data.init_task : { \ | 437 | .data.init_task : { \ |
| 440 | INIT_TASK \ | 438 | INIT_TASK_DATA(align) \ |
| 441 | } | 439 | } |
| 442 | 440 | ||
| 443 | #ifdef CONFIG_CONSTRUCTORS | 441 | #ifdef CONFIG_CONSTRUCTORS |
| 444 | #define KERNEL_CTORS() VMLINUX_SYMBOL(__ctors_start) = .; \ | 442 | #define KERNEL_CTORS() . = ALIGN(8); \ |
| 443 | VMLINUX_SYMBOL(__ctors_start) = .; \ | ||
| 445 | *(.ctors) \ | 444 | *(.ctors) \ |
| 446 | VMLINUX_SYMBOL(__ctors_end) = .; | 445 | VMLINUX_SYMBOL(__ctors_end) = .; |
| 447 | #else | 446 | #else |
| @@ -488,7 +487,8 @@ | |||
| 488 | * bss (Block Started by Symbol) - uninitialized data | 487 | * bss (Block Started by Symbol) - uninitialized data |
| 489 | * zeroed during startup | 488 | * zeroed during startup |
| 490 | */ | 489 | */ |
| 491 | #define SBSS \ | 490 | #define SBSS(sbss_align) \ |
| 491 | . = ALIGN(sbss_align); \ | ||
| 492 | .sbss : AT(ADDR(.sbss) - LOAD_OFFSET) { \ | 492 | .sbss : AT(ADDR(.sbss) - LOAD_OFFSET) { \ |
| 493 | *(.sbss) \ | 493 | *(.sbss) \ |
| 494 | *(.scommon) \ | 494 | *(.scommon) \ |
| @@ -497,12 +497,10 @@ | |||
| 497 | #define BSS(bss_align) \ | 497 | #define BSS(bss_align) \ |
| 498 | . = ALIGN(bss_align); \ | 498 | . = ALIGN(bss_align); \ |
| 499 | .bss : AT(ADDR(.bss) - LOAD_OFFSET) { \ | 499 | .bss : AT(ADDR(.bss) - LOAD_OFFSET) { \ |
| 500 | VMLINUX_SYMBOL(__bss_start) = .; \ | ||
| 501 | *(.bss.page_aligned) \ | 500 | *(.bss.page_aligned) \ |
| 502 | *(.dynbss) \ | 501 | *(.dynbss) \ |
| 503 | *(.bss) \ | 502 | *(.bss) \ |
| 504 | *(COMMON) \ | 503 | *(COMMON) \ |
| 505 | VMLINUX_SYMBOL(__bss_stop) = .; \ | ||
| 506 | } | 504 | } |
| 507 | 505 | ||
| 508 | /* | 506 | /* |
| @@ -704,15 +702,15 @@ | |||
| 704 | * matches the requirment of PAGE_ALIGNED_DATA. | 702 | * matches the requirment of PAGE_ALIGNED_DATA. |
| 705 | * | 703 | * |
| 706 | * use 0 as page_align if page_aligned data is not used */ | 704 | * use 0 as page_align if page_aligned data is not used */ |
| 707 | #define RW_DATA_SECTION(cacheline, nosave, pagealigned, inittask) \ | 705 | #define RW_DATA_SECTION(cacheline, pagealigned, inittask) \ |
| 708 | . = ALIGN(PAGE_SIZE); \ | 706 | . = ALIGN(PAGE_SIZE); \ |
| 709 | .data : AT(ADDR(.data) - LOAD_OFFSET) { \ | 707 | .data : AT(ADDR(.data) - LOAD_OFFSET) { \ |
| 710 | INIT_TASK(inittask) \ | 708 | INIT_TASK_DATA(inittask) \ |
| 711 | CACHELINE_ALIGNED_DATA(cacheline) \ | 709 | CACHELINE_ALIGNED_DATA(cacheline) \ |
| 712 | READ_MOSTLY_DATA(cacheline) \ | 710 | READ_MOSTLY_DATA(cacheline) \ |
| 713 | DATA_DATA \ | 711 | DATA_DATA \ |
| 714 | CONSTRUCTORS \ | 712 | CONSTRUCTORS \ |
| 715 | NOSAVE_DATA(nosave) \ | 713 | NOSAVE_DATA \ |
| 716 | PAGE_ALIGNED_DATA(pagealigned) \ | 714 | PAGE_ALIGNED_DATA(pagealigned) \ |
| 717 | } | 715 | } |
| 718 | 716 | ||
| @@ -734,8 +732,10 @@ | |||
| 734 | INIT_RAM_FS \ | 732 | INIT_RAM_FS \ |
| 735 | } | 733 | } |
| 736 | 734 | ||
| 737 | #define BSS_SECTION(sbss_align, bss_align) \ | 735 | #define BSS_SECTION(sbss_align, bss_align, stop_align) \ |
| 738 | SBSS \ | 736 | . = ALIGN(sbss_align); \ |
| 737 | VMLINUX_SYMBOL(__bss_start) = .; \ | ||
| 738 | SBSS(sbss_align) \ | ||
| 739 | BSS(bss_align) \ | 739 | BSS(bss_align) \ |
| 740 | . = ALIGN(4); | 740 | . = ALIGN(stop_align); \ |
| 741 | 741 | VMLINUX_SYMBOL(__bss_stop) = .; | |
