diff options
-rw-r--r-- | arch/arm/Kconfig | 26 | ||||
-rw-r--r-- | arch/arm/kernel/Makefile | 5 | ||||
-rw-r--r-- | arch/arm/kernel/atags.h | 11 |
3 files changed, 33 insertions, 9 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index c5f9ae5dbd1a..5c7302e208ce 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -1891,12 +1891,6 @@ config CC_STACKPROTECTOR | |||
1891 | neutralized via a kernel panic. | 1891 | neutralized via a kernel panic. |
1892 | This feature requires gcc version 4.2 or above. | 1892 | This feature requires gcc version 4.2 or above. |
1893 | 1893 | ||
1894 | config DEPRECATED_PARAM_STRUCT | ||
1895 | bool "Provide old way to pass kernel parameters" | ||
1896 | help | ||
1897 | This was deprecated in 2001 and announced to live on for 5 years. | ||
1898 | Some old boot loaders still use this way. | ||
1899 | |||
1900 | endmenu | 1894 | endmenu |
1901 | 1895 | ||
1902 | menu "Boot options" | 1896 | menu "Boot options" |
@@ -1909,6 +1903,23 @@ config USE_OF | |||
1909 | help | 1903 | help |
1910 | Include support for flattened device tree machine descriptions. | 1904 | Include support for flattened device tree machine descriptions. |
1911 | 1905 | ||
1906 | config ATAGS | ||
1907 | bool "Support for the traditional ATAGS boot data passing" if USE_OF | ||
1908 | default y | ||
1909 | help | ||
1910 | This is the traditional way of passing data to the kernel at boot | ||
1911 | time. If you are solely relying on the flattened device tree (or | ||
1912 | the ARM_ATAG_DTB_COMPAT option) then you may unselect this option | ||
1913 | to remove ATAGS support from your kernel binary. If unsure, | ||
1914 | leave this to y. | ||
1915 | |||
1916 | config DEPRECATED_PARAM_STRUCT | ||
1917 | bool "Provide old way to pass kernel parameters" | ||
1918 | depends on ATAGS | ||
1919 | help | ||
1920 | This was deprecated in 2001 and announced to live on for 5 years. | ||
1921 | Some old boot loaders still use this way. | ||
1922 | |||
1912 | # Compressed boot loader in ROM. Yes, we really want to ask about | 1923 | # Compressed boot loader in ROM. Yes, we really want to ask about |
1913 | # TEXT and BSS so we preserve their values in the config files. | 1924 | # TEXT and BSS so we preserve their values in the config files. |
1914 | config ZBOOT_ROM_TEXT | 1925 | config ZBOOT_ROM_TEXT |
@@ -2035,6 +2046,7 @@ config CMDLINE | |||
2035 | choice | 2046 | choice |
2036 | prompt "Kernel command line type" if CMDLINE != "" | 2047 | prompt "Kernel command line type" if CMDLINE != "" |
2037 | default CMDLINE_FROM_BOOTLOADER | 2048 | default CMDLINE_FROM_BOOTLOADER |
2049 | depends on ATAGS | ||
2038 | 2050 | ||
2039 | config CMDLINE_FROM_BOOTLOADER | 2051 | config CMDLINE_FROM_BOOTLOADER |
2040 | bool "Use bootloader kernel arguments if available" | 2052 | bool "Use bootloader kernel arguments if available" |
@@ -2104,7 +2116,7 @@ config KEXEC | |||
2104 | 2116 | ||
2105 | config ATAGS_PROC | 2117 | config ATAGS_PROC |
2106 | bool "Export atags in procfs" | 2118 | bool "Export atags in procfs" |
2107 | depends on KEXEC | 2119 | depends on ATAGS && KEXEC |
2108 | default y | 2120 | default y |
2109 | help | 2121 | help |
2110 | Should the atags used to boot the kernel be exported in an "atags" | 2122 | Should the atags used to boot the kernel be exported in an "atags" |
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 086c9d3bc360..79e346a5d78b 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile | |||
@@ -15,10 +15,12 @@ CFLAGS_REMOVE_return_address.o = -pg | |||
15 | 15 | ||
16 | # Object file lists. | 16 | # Object file lists. |
17 | 17 | ||
18 | obj-y := atags_parse.o elf.o entry-armv.o entry-common.o irq.o opcodes.o \ | 18 | obj-y := elf.o entry-armv.o entry-common.o irq.o opcodes.o \ |
19 | process.o ptrace.o return_address.o sched_clock.o \ | 19 | process.o ptrace.o return_address.o sched_clock.o \ |
20 | setup.o signal.o stacktrace.o sys_arm.o time.o traps.o | 20 | setup.o signal.o stacktrace.o sys_arm.o time.o traps.o |
21 | 21 | ||
22 | obj-$(CONFIG_ATAGS) += atags_parse.o | ||
23 | obj-$(CONFIG_ATAGS_PROC) += atags_proc.o | ||
22 | obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += atags_compat.o | 24 | obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += atags_compat.o |
23 | 25 | ||
24 | obj-$(CONFIG_LEDS) += leds.o | 26 | obj-$(CONFIG_LEDS) += leds.o |
@@ -52,7 +54,6 @@ test-kprobes-objs += kprobes-test-thumb.o | |||
52 | else | 54 | else |
53 | test-kprobes-objs += kprobes-test-arm.o | 55 | test-kprobes-objs += kprobes-test-arm.o |
54 | endif | 56 | endif |
55 | obj-$(CONFIG_ATAGS_PROC) += atags_proc.o | ||
56 | obj-$(CONFIG_OABI_COMPAT) += sys_oabi-compat.o | 57 | obj-$(CONFIG_OABI_COMPAT) += sys_oabi-compat.o |
57 | obj-$(CONFIG_ARM_THUMBEE) += thumbee.o | 58 | obj-$(CONFIG_ARM_THUMBEE) += thumbee.o |
58 | obj-$(CONFIG_KGDB) += kgdb.o | 59 | obj-$(CONFIG_KGDB) += kgdb.o |
diff --git a/arch/arm/kernel/atags.h b/arch/arm/kernel/atags.h index a888fdd381b5..9edc9692332d 100644 --- a/arch/arm/kernel/atags.h +++ b/arch/arm/kernel/atags.h | |||
@@ -5,4 +5,15 @@ static inline void save_atags(struct tag *tags) { } | |||
5 | #endif | 5 | #endif |
6 | 6 | ||
7 | void convert_to_tag_list(struct tag *tags); | 7 | void convert_to_tag_list(struct tag *tags); |
8 | |||
9 | #ifdef CONFIG_ATAGS | ||
8 | struct machine_desc *setup_machine_tags(phys_addr_t __atags_pointer, unsigned int machine_nr); | 10 | struct machine_desc *setup_machine_tags(phys_addr_t __atags_pointer, unsigned int machine_nr); |
11 | #else | ||
12 | static inline struct machine_desc * | ||
13 | setup_machine_tags(phys_addr_t __atags_pointer, unsigned int machine_nr) | ||
14 | { | ||
15 | early_print("no ATAGS support: can't continue\n"); | ||
16 | while (true); | ||
17 | unreachable(); | ||
18 | } | ||
19 | #endif | ||