Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c0cb7c3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (416 commits)
  ARM: DMA: add support for DMA debugging
  ARM: PL011: add DMA burst threshold support for ST variants
  ARM: PL011: Add support for transmit DMA
  ARM: PL011: Ensure IRQs are disabled in UART interrupt handler
  ARM: PL011: Separate hardware FIFO size from TTY FIFO size
  ARM: PL011: Allow better handling of vendor data
  ARM: PL011: Ensure error flags are clear at startup
  ARM: PL011: include revision number in boot-time port printk
  ARM: vexpress: add sched_clock() for Versatile Express
  ARM i.MX53: Make MX53 EVK bootable
  ARM i.MX53: Some bug fix about MX53 MSL code
  ARM: 6607/1: sa1100: Update platform device registration
  ARM: 6606/1: sa1100: Fix platform device registration
  ARM i.MX51: rename IPU irqs
  ARM i.MX51: Add ipu clock support
  ARM: imx/mx27_3ds: Add PMIC support
  ARM: DMA: Replace page_to_dma()/dma_to_page() with pfn_to_dma()/dma_to_pfn()
  mx51: fix usb clock support
  MX51: Add support for usb host 2
  arch/arm/plat-mxc/ehci.c: fix errors/typos
  ...
parents f70f5b9d 404a02cb
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -34,3 +34,5 @@ memory.txt
	- description of the virtual memory layout
nwfpe/
	- NWFPE floating point emulator documentation
swp_emulation
	- SWP/SWPB emulation handler/logging description
+27 −0
Original line number Diff line number Diff line
Software emulation of deprecated SWP instruction (CONFIG_SWP_EMULATE)
---------------------------------------------------------------------

ARMv6 architecture deprecates use of the SWP/SWPB instructions, and recommeds
moving to the load-locked/store-conditional instructions LDREX and STREX.

ARMv7 multiprocessing extensions introduce the ability to disable these
instructions, triggering an undefined instruction exception when executed.
Trapped instructions are emulated using an LDREX/STREX or LDREXB/STREXB
sequence. If a memory access fault (an abort) occurs, a segmentation fault is
signalled to the triggering process.

/proc/cpu/swp_emulation holds some statistics/information, including the PID of
the last process to trigger the emulation to be invocated. For example:
---
Emulated SWP:		12
Emulated SWPB:		0
Aborted SWP{B}:		1
Last process:		314
---

NOTE: when accessing uncached shared regions, LDREX/STREX rely on an external
transaction monitoring block called a global monitor to maintain update
atomicity. If your system does not implement a global monitor, this option can
cause programs that perform SWP operations to uncached memory to deadlock, as
the STREX operation will always fail.
+94 −32
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ config ARM
	bool
	default y
	select HAVE_AOUT
	select HAVE_DMA_API_DEBUG
	select HAVE_IDE
	select HAVE_MEMBLOCK
	select RTC_LIB
@@ -14,6 +15,7 @@ config ARM
	select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
	select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
	select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)
	select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
	select HAVE_GENERIC_DMA_COHERENT
	select HAVE_KERNEL_GZIP
	select HAVE_KERNEL_LZO
@@ -23,6 +25,7 @@ config ARM
	select PERF_USE_VMALLOC
	select HAVE_REGS_AND_STACK_ACCESS_API
	select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V7))
	select HAVE_C_RECORDMCOUNT
	help
	  The ARM series is a line of low-power-consumption RISC chip designs
	  licensed by ARM Ltd and targeted at embedded applications and
@@ -34,9 +37,15 @@ config ARM
config HAVE_PWM
	bool

config MIGHT_HAVE_PCI
	bool

config SYS_SUPPORTS_APM_EMULATION
	bool

config HAVE_SCHED_CLOCK
	bool

config GENERIC_GPIO
	bool

@@ -221,7 +230,7 @@ config ARCH_INTEGRATOR
	bool "ARM Ltd. Integrator family"
	select ARM_AMBA
	select ARCH_HAS_CPUFREQ
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select ICST
	select GENERIC_CLOCKEVENTS
	select PLAT_VERSATILE
@@ -231,7 +240,8 @@ config ARCH_INTEGRATOR
config ARCH_REALVIEW
	bool "ARM Ltd. RealView family"
	select ARM_AMBA
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select HAVE_SCHED_CLOCK
	select ICST
	select GENERIC_CLOCKEVENTS
	select ARCH_WANT_OPTIONAL_GPIOLIB
@@ -245,7 +255,8 @@ config ARCH_VERSATILE
	bool "ARM Ltd. Versatile family"
	select ARM_AMBA
	select ARM_VIC
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select HAVE_SCHED_CLOCK
	select ICST
	select GENERIC_CLOCKEVENTS
	select ARCH_WANT_OPTIONAL_GPIOLIB
@@ -259,9 +270,10 @@ config ARCH_VEXPRESS
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_AMBA
	select ARM_TIMER_SP804
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select GENERIC_CLOCKEVENTS
	select HAVE_CLK
	select HAVE_SCHED_CLOCK
	select ICST
	select PLAT_VERSATILE
	help
@@ -280,7 +292,7 @@ config ARCH_BCMRING
	depends on MMU
	select CPU_V6
	select ARM_AMBA
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select GENERIC_CLOCKEVENTS
	select ARCH_WANT_OPTIONAL_GPIOLIB
	help
@@ -298,6 +310,7 @@ config ARCH_CNS3XXX
	select CPU_V6
	select GENERIC_CLOCKEVENTS
	select ARM_GIC
	select MIGHT_HAVE_PCI
	select PCI_DOMAINS if PCI
	help
	  Support for Cavium Networks CNS3XXX platform.
@@ -327,7 +340,7 @@ config ARCH_EP93XX
	select CPU_ARM920T
	select ARM_AMBA
	select ARM_VIC
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_HAS_HOLES_MEMORYMODEL
	select ARCH_USES_GETTIMEOFFSET
@@ -347,14 +360,22 @@ config ARCH_MXC
	bool "Freescale MXC/iMX-based"
	select GENERIC_CLOCKEVENTS
	select ARCH_REQUIRE_GPIOLIB
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	help
	  Support for Freescale MXC/iMX-based family of processors

config ARCH_MXS
	bool "Freescale MXS-based"
	select GENERIC_CLOCKEVENTS
	select ARCH_REQUIRE_GPIOLIB
	select COMMON_CLKDEV
	help
	  Support for Freescale MXS-based family of processors

config ARCH_STMP3XXX
	bool "Freescale STMP3xxx"
	select CPU_ARM926T
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select ARCH_REQUIRE_GPIOLIB
	select GENERIC_CLOCKEVENTS
	select USB_ARCH_HAS_EHCI
@@ -433,6 +454,8 @@ config ARCH_IXP4XX
	select CPU_XSCALE
	select GENERIC_GPIO
	select GENERIC_CLOCKEVENTS
	select HAVE_SCHED_CLOCK
	select MIGHT_HAVE_PCI
	select DMABOUNCE if PCI
	help
	  Support for Intel's IXP4XX (XScale) family of processors.
@@ -472,7 +495,7 @@ config ARCH_LPC32XX
	select HAVE_IDE
	select ARM_AMBA
	select USB_ARCH_HAS_OHCI
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select GENERIC_TIME
	select GENERIC_CLOCKEVENTS
	help
@@ -506,8 +529,9 @@ config ARCH_MMP
	bool "Marvell PXA168/910/MMP2"
	depends on MMU
	select ARCH_REQUIRE_GPIOLIB
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select GENERIC_CLOCKEVENTS
	select HAVE_SCHED_CLOCK
	select TICK_ONESHOT
	select PLAT_PXA
	select SPARSE_IRQ
@@ -539,7 +563,7 @@ config ARCH_W90X900
	bool "Nuvoton W90X900 CPU"
	select CPU_ARM926T
	select ARCH_REQUIRE_GPIOLIB
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select GENERIC_CLOCKEVENTS
	help
	  Support for Nuvoton (Winbond logic dept.) ARM9 processor,
@@ -553,18 +577,19 @@ config ARCH_W90X900
config ARCH_NUC93X
	bool "Nuvoton NUC93X CPU"
	select CPU_ARM926T
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	help
	  Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
	  low-power and high performance MPEG-4/JPEG multimedia controller chip.

config ARCH_TEGRA
	bool "NVIDIA Tegra"
	select CLKDEV_LOOKUP
	select GENERIC_TIME
	select GENERIC_CLOCKEVENTS
	select GENERIC_GPIO
	select HAVE_CLK
	select COMMON_CLKDEV
	select HAVE_SCHED_CLOCK
	select ARCH_HAS_BARRIERS if CACHE_L2X0
	select ARCH_HAS_CPUFREQ
	help
@@ -574,7 +599,7 @@ config ARCH_TEGRA
config ARCH_PNX4008
	bool "Philips Nexperia PNX4008 Mobile"
	select CPU_ARM926T
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select ARCH_USES_GETTIMEOFFSET
	help
	  This enables support for Philips PNX4008 mobile platform.
@@ -584,9 +609,10 @@ config ARCH_PXA
	depends on MMU
	select ARCH_MTD_XIP
	select ARCH_HAS_CPUFREQ
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select ARCH_REQUIRE_GPIOLIB
	select GENERIC_CLOCKEVENTS
	select HAVE_SCHED_CLOCK
	select TICK_ONESHOT
	select PLAT_PXA
	select SPARSE_IRQ
@@ -635,6 +661,7 @@ config ARCH_SA1100
	select CPU_FREQ
	select GENERIC_CLOCKEVENTS
	select HAVE_CLK
	select HAVE_SCHED_CLOCK
	select TICK_ONESHOT
	select ARCH_REQUIRE_GPIOLIB
	help
@@ -761,7 +788,7 @@ config ARCH_TCC_926
	bool "Telechips TCC ARM926-based systems"
	select CPU_ARM926T
	select HAVE_CLK
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select GENERIC_CLOCKEVENTS
	help
	  Support for Telechips TCC ARM926-based systems.
@@ -781,11 +808,12 @@ config ARCH_U300
	bool "ST-Ericsson U300 Series"
	depends on MMU
	select CPU_ARM926T
	select HAVE_SCHED_CLOCK
	select HAVE_TCM
	select ARM_AMBA
	select ARM_VIC
	select GENERIC_CLOCKEVENTS
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select GENERIC_GPIO
	help
	  Support for ST-Ericsson U300 series mobile platforms.
@@ -795,8 +823,9 @@ config ARCH_U8500
	select CPU_V7
	select ARM_AMBA
	select GENERIC_CLOCKEVENTS
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_HAS_CPUFREQ
	help
	  Support for ST-Ericsson's Ux500 architecture

@@ -805,7 +834,7 @@ config ARCH_NOMADIK
	select ARM_AMBA
	select ARM_VIC
	select CPU_ARM926T
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select GENERIC_CLOCKEVENTS
	select ARCH_REQUIRE_GPIOLIB
	help
@@ -817,7 +846,7 @@ config ARCH_DAVINCI
	select ARCH_REQUIRE_GPIOLIB
	select ZONE_DMA
	select HAVE_IDE
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select GENERIC_ALLOCATOR
	select ARCH_HAS_HOLES_MEMORYMODEL
	help
@@ -829,6 +858,7 @@ config ARCH_OMAP
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_HAS_CPUFREQ
	select GENERIC_CLOCKEVENTS
	select HAVE_SCHED_CLOCK
	select ARCH_HAS_HOLES_MEMORYMODEL
	help
	  Support for TI's OMAP platform (OMAP1/2/3/4).
@@ -837,7 +867,7 @@ config PLAT_SPEAR
	bool "ST SPEAr"
	select ARM_AMBA
	select ARCH_REQUIRE_GPIOLIB
	select COMMON_CLKDEV
	select CLKDEV_LOOKUP
	select GENERIC_CLOCKEVENTS
	select HAVE_CLK
	help
@@ -902,6 +932,8 @@ source "arch/arm/mach-mv78xx0/Kconfig"

source "arch/arm/plat-mxc/Kconfig"

source "arch/arm/mach-mxs/Kconfig"

source "arch/arm/mach-netx/Kconfig"

source "arch/arm/mach-nomadik/Kconfig"
@@ -982,9 +1014,11 @@ config ARCH_ACORN
config PLAT_IOP
	bool
	select GENERIC_CLOCKEVENTS
	select HAVE_SCHED_CLOCK

config PLAT_ORION
	bool
	select HAVE_SCHED_CLOCK

config PLAT_PXA
	bool
@@ -999,8 +1033,8 @@ source arch/arm/mm/Kconfig

config IWMMXT
	bool "Enable iWMMXt support"
	depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK
	default y if PXA27x || PXA3xx || ARCH_MMP
	depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
	default y if PXA27x || PXA3xx || PXA95x || ARCH_MMP
	help
	  Enable support for iWMMXt context switching at run time if
	  running on a CPU that supports it.
@@ -1017,6 +1051,11 @@ config CPU_HAS_PMU
	default y
	bool

config MULTI_IRQ_HANDLER
	bool
	help
	  Allow each machine to specify it's own IRQ handler at run time.

if !MMU
source "arch/arm/Kconfig-nommu"
endif
@@ -1164,7 +1203,7 @@ config ISA_DMA_API
	bool

config PCI
	bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE || ARCH_CNS3XXX
	bool "PCI support" if MIGHT_HAVE_PCI
	help
	  Find out whether you have a PCI motherboard. PCI is the name of a
	  bus system, i.e. the way the CPU talks to the other stuff inside
@@ -1175,6 +1214,12 @@ config PCI_DOMAINS
	bool
	depends on PCI

config PCI_NANOENGINE
	bool "BSE nanoEngine PCI support"
	depends on SA1100_NANOENGINE
	help
	  Enable PCI on the BSE nanoEngine board.

config PCI_SYSCALL
	def_bool PCI

@@ -1206,9 +1251,10 @@ config SMP
	depends on GENERIC_CLOCKEVENTS
	depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \
		 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
		 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
		 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4 || \
		 ARCH_MSM_SCORPIONMP
	select USE_GENERIC_SMP_HELPERS
	select HAVE_ARM_SCU
	select HAVE_ARM_SCU if !ARCH_MSM_SCORPIONMP
	help
	  This enables support for systems with more than one CPU. If you have
	  a system with only one CPU, like most personal computers, say N. If
@@ -1229,7 +1275,7 @@ config SMP
config SMP_ON_UP
	bool "Allow booting SMP kernel on uniprocessor systems (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	depends on SMP && !XIP && !THUMB2_KERNEL
	depends on SMP && !XIP
	default y
	help
	  SMP kernels contain instructions which fail on non-SMP processors.
@@ -1248,6 +1294,7 @@ config HAVE_ARM_SCU
config HAVE_ARM_TWD
	bool
	depends on SMP
	select TICK_ONESHOT
	help
	  This options enables support for the ARM timer and watchdog unit

@@ -1283,6 +1330,7 @@ config NR_CPUS
config HOTPLUG_CPU
	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
	depends on SMP && HOTPLUG && EXPERIMENTAL
	depends on !ARCH_MSM
	help
	  Say Y here to experiment with turning CPUs off and on.  CPUs
	  can be controlled through /sys/devices/system/cpu.
@@ -1291,7 +1339,7 @@ config LOCAL_TIMERS
	bool "Use local timer interrupts"
	depends on SMP
	default y
	select HAVE_ARM_TWD
	select HAVE_ARM_TWD if !ARCH_MSM_SCORPIONMP
	help
	  Enable support for local timers on SMP platforms, rather then the
	  legacy IPI broadcast method.  Local timers allows the system
@@ -1310,7 +1358,7 @@ config HZ
	default 100

config THUMB2_KERNEL
	bool "Compile the kernel in Thumb-2 mode"
	bool "Compile the kernel in Thumb-2 mode (EXPERIMENTAL)"
	depends on CPU_V7 && !CPU_V6 && EXPERIMENTAL
	select AEABI
	select ARM_ASM_UNIFIED
@@ -1524,6 +1572,7 @@ config SECCOMP

config CC_STACKPROTECTOR
	bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	help
	  This option turns on the -fstack-protector GCC feature. This
	  feature puts, at the beginning of functions, a canary value on
@@ -1650,6 +1699,19 @@ config ATAGS_PROC
	  Should the atags used to boot the kernel be exported in an "atags"
	  file in procfs. Useful with kexec.

config CRASH_DUMP
	bool "Build kdump crash kernel (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	help
	  Generate crash dump after being started by kexec. This should
	  be normally only set in special crash dump kernels which are
	  loaded in the main kernel with kexec-tools into a specially
	  reserved region and then later executed after a crash by
	  kdump/kexec. The crash dump kernel must be compiled to a
	  memory address not used by the main kernel

	  For more details see Documentation/kdump/kdump.txt

config AUTO_ZRELADDR
	bool "Auto calculation of the decompressed kernel image address"
	depends on !ZBOOT_ROM && !ARCH_U300
@@ -1707,7 +1769,7 @@ config CPU_FREQ_S3C
	  Internal configuration node for common cpufreq on Samsung SoC

config CPU_FREQ_S3C24XX
	bool "CPUfreq driver for Samsung S3C24XX series CPUs"
	bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
	depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL
	select CPU_FREQ_S3C
	help
@@ -1719,7 +1781,7 @@ config CPU_FREQ_S3C24XX
	  If in doubt, say N.

config CPU_FREQ_S3C24XX_PLL
	bool "Support CPUfreq changing of PLL frequency"
	bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
	depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
	help
	  Compile in support for changing the PLL frequency from the
+2 −2
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ config STRICT_DEVMEM
config FRAME_POINTER
	bool
	depends on !THUMB2_KERNEL
	default y if !ARM_UNWIND
	default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
	help
	  If you say N here, the resulting kernel will be slightly smaller and
	  faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
@@ -31,7 +31,7 @@ config FRAME_POINTER
	  reported is severely limited.

config ARM_UNWIND
	bool "Enable stack unwinding support"
	bool "Enable stack unwinding support (EXPERIMENTAL)"
	depends on AEABI && EXPERIMENTAL
	default y
	help
+2 −1
Original line number Diff line number Diff line
@@ -154,10 +154,11 @@ machine-$(CONFIG_ARCH_MSM) := msm
machine-$(CONFIG_ARCH_MV78XX0)		:= mv78xx0
machine-$(CONFIG_ARCH_MX1)		:= imx
machine-$(CONFIG_ARCH_MX2)		:= imx
machine-$(CONFIG_ARCH_MX25)		:= mx25
machine-$(CONFIG_ARCH_MX25)		:= imx
machine-$(CONFIG_ARCH_MX3)		:= mx3
machine-$(CONFIG_ARCH_MX5)		:= mx5
machine-$(CONFIG_ARCH_MXC91231)		:= mxc91231
machine-$(CONFIG_ARCH_MXS)		:= mxs
machine-$(CONFIG_ARCH_NETX)		:= netx
machine-$(CONFIG_ARCH_NOMADIK)		:= nomadik
machine-$(CONFIG_ARCH_NS9XXX)		:= ns9xxx
Loading