Skip to content

Commit 3a82543

Browse files
author
Rob Herring
committed
Merge remote-tracking branch 'rmk/devel-stable' into HEAD
2 parents 976d167 + 34471a9 commit 3a82543

File tree

553 files changed

+8350
-3024
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

553 files changed

+8350
-3024
lines changed

arch/arm/Kconfig

Lines changed: 94 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ config ARM
2929
select HAVE_GENERIC_HARDIRQS
3030
select HAVE_SPARSE_IRQ
3131
select GENERIC_IRQ_SHOW
32+
select CPU_PM if (SUSPEND || CPU_IDLE)
3233
help
3334
The ARM series is a line of low-power-consumption RISC chip designs
3435
licensed by ARM Ltd and targeted at embedded applications and
@@ -195,7 +196,8 @@ config VECTORS_BASE
195196
The base address of exception vectors.
196197

197198
config ARM_PATCH_PHYS_VIRT
198-
bool "Patch physical to virtual translations at runtime"
199+
bool "Patch physical to virtual translations at runtime" if EMBEDDED
200+
default y
199201
depends on !XIP_KERNEL && MMU
200202
depends on !ARCH_REALVIEW || !SPARSEMEM
201203
help
@@ -204,16 +206,25 @@ config ARM_PATCH_PHYS_VIRT
204206
kernel in system memory.
205207

206208
This can only be used with non-XIP MMU kernels where the base
207-
of physical memory is at a 16MB boundary, or theoretically 64K
208-
for the MSM machine class.
209+
of physical memory is at a 16MB boundary.
209210

210-
config ARM_PATCH_PHYS_VIRT_16BIT
211-
def_bool y
212-
depends on ARM_PATCH_PHYS_VIRT && ARCH_MSM
211+
Only disable this option if you know that you do not require
212+
this feature (eg, building a kernel for a single machine) and
213+
you need to shrink the kernel to the minimal size.
214+
215+
config NEED_MACH_MEMORY_H
216+
bool
213217
help
214-
This option extends the physical to virtual translation patching
215-
to allow physical memory down to a theoretical minimum of 64K
216-
boundaries.
218+
Select this when mach/memory.h is required to provide special
219+
definitions for this platform. The need for mach/memory.h should
220+
be avoided when possible.
221+
222+
config PHYS_OFFSET
223+
hex "Physical address of main memory"
224+
depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H
225+
help
226+
Please provide the physical address corresponding to the
227+
location of main memory in your system.
217228

218229
source "init/Kconfig"
219230

@@ -246,6 +257,7 @@ config ARCH_INTEGRATOR
246257
select GENERIC_CLOCKEVENTS
247258
select PLAT_VERSATILE
248259
select PLAT_VERSATILE_FPGA_IRQ
260+
select NEED_MACH_MEMORY_H
249261
help
250262
Support for ARM's Integrator platform.
251263

@@ -261,6 +273,7 @@ config ARCH_REALVIEW
261273
select PLAT_VERSATILE_CLCD
262274
select ARM_TIMER_SP804
263275
select GPIO_PL061 if GPIOLIB
276+
select NEED_MACH_MEMORY_H
264277
help
265278
This enables support for ARM Ltd RealView boards.
266279

@@ -301,7 +314,6 @@ config ARCH_AT91
301314
select ARCH_REQUIRE_GPIOLIB
302315
select HAVE_CLK
303316
select CLKDEV_LOOKUP
304-
select ARM_PATCH_PHYS_VIRT if MMU
305317
help
306318
This enables support for systems based on the Atmel AT91RM9200,
307319
AT91SAM9 and AT91CAP9 processors.
@@ -322,6 +334,7 @@ config ARCH_CLPS711X
322334
bool "Cirrus Logic CLPS711x/EP721x-based"
323335
select CPU_ARM720T
324336
select ARCH_USES_GETTIMEOFFSET
337+
select NEED_MACH_MEMORY_H
325338
help
326339
Support for Cirrus Logic 711x/721x based boards.
327340

@@ -362,6 +375,7 @@ config ARCH_EBSA110
362375
select ISA
363376
select NO_IOPORT
364377
select ARCH_USES_GETTIMEOFFSET
378+
select NEED_MACH_MEMORY_H
365379
help
366380
This is an evaluation board for the StrongARM processor available
367381
from Digital. It has limited hardware on-board, including an
@@ -377,6 +391,7 @@ config ARCH_EP93XX
377391
select ARCH_REQUIRE_GPIOLIB
378392
select ARCH_HAS_HOLES_MEMORYMODEL
379393
select ARCH_USES_GETTIMEOFFSET
394+
select NEED_MEMORY_H
380395
help
381396
This enables support for the Cirrus EP93xx series of CPUs.
382397

@@ -385,6 +400,7 @@ config ARCH_FOOTBRIDGE
385400
select CPU_SA110
386401
select FOOTBRIDGE
387402
select GENERIC_CLOCKEVENTS
403+
select NEED_MACH_MEMORY_H
388404
help
389405
Support for systems based on the DC21285 companion chip
390406
("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
@@ -434,6 +450,7 @@ config ARCH_IOP13XX
434450
select PCI
435451
select ARCH_SUPPORTS_MSI
436452
select VMSPLIT_1G
453+
select NEED_MACH_MEMORY_H
437454
help
438455
Support for Intel's IOP13XX (XScale) family of processors.
439456

@@ -464,6 +481,7 @@ config ARCH_IXP23XX
464481
select CPU_XSC3
465482
select PCI
466483
select ARCH_USES_GETTIMEOFFSET
484+
select NEED_MACH_MEMORY_H
467485
help
468486
Support for Intel's IXP23xx (XScale) family of processors.
469487

@@ -473,6 +491,7 @@ config ARCH_IXP2000
473491
select CPU_XSCALE
474492
select PCI
475493
select ARCH_USES_GETTIMEOFFSET
494+
select NEED_MACH_MEMORY_H
476495
help
477496
Support for Intel's IXP2400/2800 (XScale) family of processors.
478497

@@ -566,6 +585,7 @@ config ARCH_KS8695
566585
select CPU_ARM922T
567586
select ARCH_REQUIRE_GPIOLIB
568587
select ARCH_USES_GETTIMEOFFSET
588+
select NEED_MACH_MEMORY_H
569589
help
570590
Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
571591
System-on-Chip devices.
@@ -657,6 +677,7 @@ config ARCH_SHMOBILE
657677
select SPARSE_IRQ
658678
select MULTI_IRQ_HANDLER
659679
select PM_GENERIC_DOMAINS if PM
680+
select NEED_MACH_MEMORY_H
660681
help
661682
Support for Renesas's SH-Mobile and R-Mobile ARM platforms.
662683

@@ -671,6 +692,7 @@ config ARCH_RPC
671692
select NO_IOPORT
672693
select ARCH_SPARSEMEM_ENABLE
673694
select ARCH_USES_GETTIMEOFFSET
695+
select NEED_MACH_MEMORY_H
674696
help
675697
On the Acorn Risc-PC, Linux can support the internal IDE disk and
676698
CD-ROM interface, serial and parallel port, and the floppy drive.
@@ -689,6 +711,7 @@ config ARCH_SA1100
689711
select HAVE_SCHED_CLOCK
690712
select TICK_ONESHOT
691713
select ARCH_REQUIRE_GPIOLIB
714+
select NEED_MACH_MEMORY_H
692715
help
693716
Support for StrongARM 11x0 based boards.
694717

@@ -781,6 +804,7 @@ config ARCH_S5PV210
781804
select HAVE_S3C2410_I2C if I2C
782805
select HAVE_S3C_RTC if RTC_CLASS
783806
select HAVE_S3C2410_WATCHDOG if WATCHDOG
807+
select NEED_MACH_MEMORY_H
784808
help
785809
Samsung S5PV210/S5PC110 series based systems
786810

@@ -797,6 +821,7 @@ config ARCH_EXYNOS4
797821
select HAVE_S3C_RTC if RTC_CLASS
798822
select HAVE_S3C2410_I2C if I2C
799823
select HAVE_S3C2410_WATCHDOG if WATCHDOG
824+
select NEED_MACH_MEMORY_H
800825
help
801826
Samsung EXYNOS4 series based systems
802827

@@ -808,6 +833,7 @@ config ARCH_SHARK
808833
select ZONE_DMA
809834
select PCI
810835
select ARCH_USES_GETTIMEOFFSET
836+
select NEED_MACH_MEMORY_H
811837
help
812838
Support for the StrongARM based Digital DNARD machine, also known
813839
as "Shark" (<http://www.shark-linux.de/shark.html>).
@@ -835,6 +861,7 @@ config ARCH_U300
835861
select CLKDEV_LOOKUP
836862
select HAVE_MACH_CLKDEV
837863
select GENERIC_GPIO
864+
select NEED_MACH_MEMORY_H
838865
help
839866
Support for ST-Ericsson U300 series mobile platforms.
840867

@@ -1407,6 +1434,31 @@ config SMP_ON_UP
14071434

14081435
If you don't know what to do here, say Y.
14091436

1437+
config ARM_CPU_TOPOLOGY
1438+
bool "Support cpu topology definition"
1439+
depends on SMP && CPU_V7
1440+
default y
1441+
help
1442+
Support ARM cpu topology definition. The MPIDR register defines
1443+
affinity between processors which is then used to describe the cpu
1444+
topology of an ARM System.
1445+
1446+
config SCHED_MC
1447+
bool "Multi-core scheduler support"
1448+
depends on ARM_CPU_TOPOLOGY
1449+
help
1450+
Multi-core scheduler support improves the CPU scheduler's decision
1451+
making when dealing with multi-core CPU chips at a cost of slightly
1452+
increased overhead in some places. If unsure say N here.
1453+
1454+
config SCHED_SMT
1455+
bool "SMT scheduler support"
1456+
depends on ARM_CPU_TOPOLOGY
1457+
help
1458+
Improves the CPU scheduler's decision making when dealing with
1459+
MultiThreading at a cost of slightly increased overhead in some
1460+
places. If unsure say N here.
1461+
14101462
config HAVE_ARM_SCU
14111463
bool
14121464
help
@@ -1807,6 +1859,38 @@ config ZBOOT_ROM_SH_MOBILE_SDHI
18071859

18081860
endchoice
18091861

1862+
config ARM_APPENDED_DTB
1863+
bool "Use appended device tree blob to zImage (EXPERIMENTAL)"
1864+
depends on OF && !ZBOOT_ROM && EXPERIMENTAL
1865+
help
1866+
With this option, the boot code will look for a device tree binary
1867+
(DTB) appended to zImage
1868+
(e.g. cat zImage <filename>.dtb > zImage_w_dtb).
1869+
1870+
This is meant as a backward compatibility convenience for those
1871+
systems with a bootloader that can't be upgraded to accommodate
1872+
the documented boot protocol using a device tree.
1873+
1874+
Beware that there is very little in terms of protection against
1875+
this option being confused by leftover garbage in memory that might
1876+
look like a DTB header after a reboot if no actual DTB is appended
1877+
to zImage. Do not leave this option active in a production kernel
1878+
if you don't intend to always append a DTB. Proper passing of the
1879+
location into r2 of a bootloader provided DTB is always preferable
1880+
to this option.
1881+
1882+
config ARM_ATAG_DTB_COMPAT
1883+
bool "Supplement the appended DTB with traditional ATAG information"
1884+
depends on ARM_APPENDED_DTB
1885+
help
1886+
Some old bootloaders can't be updated to a DTB capable one, yet
1887+
they provide ATAGs with memory configuration, the ramdisk address,
1888+
the kernel cmdline string, etc. Such information is dynamically
1889+
provided by the bootloader and can't always be stored in a static
1890+
DTB. To allow a device tree enabled kernel to be used with such
1891+
bootloaders, this option allows zImage to extract the information
1892+
from the ATAG list and store it at run time into the appended DTB.
1893+
18101894
config CMDLINE
18111895
string "Default kernel command string"
18121896
default ""

arch/arm/Kconfig.debug

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,4 +129,10 @@ config DEBUG_S3C_UART
129129
The uncompressor code port configuration is now handled
130130
by CONFIG_S3C_LOWLEVEL_UART_PORT.
131131

132+
config ARM_KPROBES_TEST
133+
tristate "Kprobes test module"
134+
depends on KPROBES && MODULES
135+
help
136+
Perform tests of kprobes API and instruction set simulation.
137+
132138
endmenu

arch/arm/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ textofs-$(CONFIG_PM_H1940) := 0x00108000
128128
ifeq ($(CONFIG_ARCH_SA1100),y)
129129
textofs-$(CONFIG_SA1111) := 0x00208000
130130
endif
131+
textofs-$(CONFIG_ARCH_MSM7X30) := 0x00208000
132+
textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
133+
textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
131134

132135
# Machine directory name. This list is sorted alphanumerically
133136
# by CONFIG_* macro name.

arch/arm/boot/compressed/.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,12 @@ piggy.lzo
55
piggy.lzma
66
vmlinux
77
vmlinux.lds
8+
9+
# borrowed libfdt files
10+
fdt.c
11+
fdt.h
12+
fdt_ro.c
13+
fdt_rw.c
14+
fdt_wip.c
15+
libfdt.h
16+
libfdt_internal.h

arch/arm/boot/compressed/Makefile

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ HEAD = head.o
2626
OBJS += misc.o decompress.o
2727
FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c
2828

29+
# string library code (-Os is enforced to keep it much smaller)
30+
OBJS += string.o
31+
CFLAGS_string.o := -Os
32+
2933
#
3034
# Architecture dependencies
3135
#
@@ -89,21 +93,41 @@ suffix_$(CONFIG_KERNEL_GZIP) = gzip
8993
suffix_$(CONFIG_KERNEL_LZO) = lzo
9094
suffix_$(CONFIG_KERNEL_LZMA) = lzma
9195

96+
# Borrowed libfdt files for the ATAG compatibility mode
97+
98+
libfdt := fdt_rw.c fdt_ro.c fdt_wip.c fdt.c
99+
libfdt_hdrs := fdt.h libfdt.h libfdt_internal.h
100+
101+
libfdt_objs := $(addsuffix .o, $(basename $(libfdt)))
102+
103+
$(addprefix $(obj)/,$(libfdt) $(libfdt_hdrs)): $(obj)/%: $(srctree)/scripts/dtc/libfdt/%
104+
$(call cmd,shipped)
105+
106+
$(addprefix $(obj)/,$(libfdt_objs) atags_to_fdt.o): \
107+
$(addprefix $(obj)/,$(libfdt_hdrs))
108+
109+
ifeq ($(CONFIG_ARM_ATAG_DTB_COMPAT),y)
110+
OBJS += $(libfdt_objs) atags_to_fdt.o
111+
endif
112+
92113
targets := vmlinux vmlinux.lds \
93114
piggy.$(suffix_y) piggy.$(suffix_y).o \
94-
font.o font.c head.o misc.o $(OBJS)
115+
lib1funcs.o lib1funcs.S font.o font.c head.o misc.o $(OBJS)
95116

96117
# Make sure files are removed during clean
97-
extra-y += piggy.gzip piggy.lzo piggy.lzma lib1funcs.S
118+
extra-y += piggy.gzip piggy.lzo piggy.lzma lib1funcs.S $(libfdt) $(libfdt_hdrs)
98119

99120
ifeq ($(CONFIG_FUNCTION_TRACER),y)
100121
ORIG_CFLAGS := $(KBUILD_CFLAGS)
101122
KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
102123
endif
103124

104-
ccflags-y := -fpic -fno-builtin
125+
ccflags-y := -fpic -fno-builtin -I$(obj)
105126
asflags-y := -Wa,-march=all
106127

128+
# Supply kernel BSS size to the decompressor via a linker symbol.
129+
KBSS_SZ = $(shell size $(obj)/../../../../vmlinux | awk 'END{print $$3}')
130+
LDFLAGS_vmlinux = --defsym _kernel_bss_size=$(KBSS_SZ)
107131
# Supply ZRELADDR to the decompressor via a linker symbol.
108132
ifneq ($(CONFIG_AUTO_ZRELADDR),y)
109133
LDFLAGS_vmlinux += --defsym zreladdr=$(ZRELADDR)
@@ -123,7 +147,7 @@ LDFLAGS_vmlinux += -T
123147
# For __aeabi_uidivmod
124148
lib1funcs = $(obj)/lib1funcs.o
125149

126-
$(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S FORCE
150+
$(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S
127151
$(call cmd,shipped)
128152

129153
# We need to prevent any GOTOFF relocs being used with references

0 commit comments

Comments
 (0)