diff options
Diffstat (limited to 'include/asm-generic/vmlinux.lds.h')
-rw-r--r-- | include/asm-generic/vmlinux.lds.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 8a92a170fb7d..bd69d79208de 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
@@ -150,6 +150,7 @@ | |||
150 | #define DATA_DATA \ | 150 | #define DATA_DATA \ |
151 | *(.data) \ | 151 | *(.data) \ |
152 | *(.ref.data) \ | 152 | *(.ref.data) \ |
153 | *(.data..shared_aligned) /* percpu related */ \ | ||
153 | DEV_KEEP(init.data) \ | 154 | DEV_KEEP(init.data) \ |
154 | DEV_KEEP(exit.data) \ | 155 | DEV_KEEP(exit.data) \ |
155 | CPU_KEEP(init.data) \ | 156 | CPU_KEEP(init.data) \ |
@@ -220,6 +221,8 @@ | |||
220 | \ | 221 | \ |
221 | BUG_TABLE \ | 222 | BUG_TABLE \ |
222 | \ | 223 | \ |
224 | JUMP_TABLE \ | ||
225 | \ | ||
223 | /* PCI quirks */ \ | 226 | /* PCI quirks */ \ |
224 | .pci_fixup : AT(ADDR(.pci_fixup) - LOAD_OFFSET) { \ | 227 | .pci_fixup : AT(ADDR(.pci_fixup) - LOAD_OFFSET) { \ |
225 | VMLINUX_SYMBOL(__start_pci_fixups_early) = .; \ | 228 | VMLINUX_SYMBOL(__start_pci_fixups_early) = .; \ |
@@ -563,6 +566,14 @@ | |||
563 | #define BUG_TABLE | 566 | #define BUG_TABLE |
564 | #endif | 567 | #endif |
565 | 568 | ||
569 | #define JUMP_TABLE \ | ||
570 | . = ALIGN(8); \ | ||
571 | __jump_table : AT(ADDR(__jump_table) - LOAD_OFFSET) { \ | ||
572 | VMLINUX_SYMBOL(__start___jump_table) = .; \ | ||
573 | *(__jump_table) \ | ||
574 | VMLINUX_SYMBOL(__stop___jump_table) = .; \ | ||
575 | } | ||
576 | |||
566 | #ifdef CONFIG_PM_TRACE | 577 | #ifdef CONFIG_PM_TRACE |
567 | #define TRACEDATA \ | 578 | #define TRACEDATA \ |
568 | . = ALIGN(4); \ | 579 | . = ALIGN(4); \ |
@@ -626,10 +637,11 @@ | |||
626 | 637 | ||
627 | #ifdef CONFIG_BLK_DEV_INITRD | 638 | #ifdef CONFIG_BLK_DEV_INITRD |
628 | #define INIT_RAM_FS \ | 639 | #define INIT_RAM_FS \ |
629 | . = ALIGN(PAGE_SIZE); \ | 640 | . = ALIGN(4); \ |
630 | VMLINUX_SYMBOL(__initramfs_start) = .; \ | 641 | VMLINUX_SYMBOL(__initramfs_start) = .; \ |
631 | *(.init.ramfs) \ | 642 | *(.init.ramfs) \ |
632 | VMLINUX_SYMBOL(__initramfs_end) = .; | 643 | . = ALIGN(8); \ |
644 | *(.init.ramfs.info) | ||
633 | #else | 645 | #else |
634 | #define INIT_RAM_FS | 646 | #define INIT_RAM_FS |
635 | #endif | 647 | #endif |
@@ -677,7 +689,9 @@ | |||
677 | - LOAD_OFFSET) { \ | 689 | - LOAD_OFFSET) { \ |
678 | VMLINUX_SYMBOL(__per_cpu_start) = .; \ | 690 | VMLINUX_SYMBOL(__per_cpu_start) = .; \ |
679 | *(.data..percpu..first) \ | 691 | *(.data..percpu..first) \ |
692 | . = ALIGN(PAGE_SIZE); \ | ||
680 | *(.data..percpu..page_aligned) \ | 693 | *(.data..percpu..page_aligned) \ |
694 | *(.data..percpu..readmostly) \ | ||
681 | *(.data..percpu) \ | 695 | *(.data..percpu) \ |
682 | *(.data..percpu..shared_aligned) \ | 696 | *(.data..percpu..shared_aligned) \ |
683 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ | 697 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ |
@@ -703,7 +717,9 @@ | |||
703 | VMLINUX_SYMBOL(__per_cpu_load) = .; \ | 717 | VMLINUX_SYMBOL(__per_cpu_load) = .; \ |
704 | VMLINUX_SYMBOL(__per_cpu_start) = .; \ | 718 | VMLINUX_SYMBOL(__per_cpu_start) = .; \ |
705 | *(.data..percpu..first) \ | 719 | *(.data..percpu..first) \ |
720 | . = ALIGN(PAGE_SIZE); \ | ||
706 | *(.data..percpu..page_aligned) \ | 721 | *(.data..percpu..page_aligned) \ |
722 | *(.data..percpu..readmostly) \ | ||
707 | *(.data..percpu) \ | 723 | *(.data..percpu) \ |
708 | *(.data..percpu..shared_aligned) \ | 724 | *(.data..percpu..shared_aligned) \ |
709 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ | 725 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ |