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

Commit 42cf0f20 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm

Pull ARM updates from Russell King:

 - clang assembly fixes from Ard

 - optimisations and cleanups for Aurora L2 cache support

 - efficient L2 cache support for secure monitor API on Exynos SoCs

 - debug menu cleanup from Daniel Thompson to allow better behaviour for
   multiplatform kernels

 - StrongARM SA11x0 conversion to irq domains, and pxa_timer

 - kprobes updates for older ARM CPUs

 - move probes support out of arch/arm/kernel to arch/arm/probes

 - add inline asm support for the rbit (reverse bits) instruction

 - provide an ARM mode secondary CPU entry point (for Qualcomm CPUs)

 - remove the unused ARMv3 user access code

 - add driver_override support to AMBA Primecell bus

* 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (55 commits)
  ARM: 8256/1: driver coamba: add device binding path 'driver_override'
  ARM: 8301/1: qcom: Use secondary_startup_arm()
  ARM: 8302/1: Add a secondary_startup that assumes ARM mode
  ARM: 8300/1: teach __asmeq that r11 == fp and r12 == ip
  ARM: kprobes: Fix compilation error caused by superfluous '*'
  ARM: 8297/1: cache-l2x0: optimize aurora range operations
  ARM: 8296/1: cache-l2x0: clean up aurora cache handling
  ARM: 8284/1: sa1100: clear RCSR_SMR on resume
  ARM: 8283/1: sa1100: collie: clear PWER register on machine init
  ARM: 8282/1: sa1100: use handle_domain_irq
  ARM: 8281/1: sa1100: move GPIO-related IRQ code to gpio driver
  ARM: 8280/1: sa1100: switch to irq_domain_add_simple()
  ARM: 8279/1: sa1100: merge both GPIO irqdomains
  ARM: 8278/1: sa1100: split irq handling for low GPIOs
  ARM: 8291/1: replace magic number with PAGE_SHIFT macro in fixup_pv code
  ARM: 8290/1: decompressor: fix a wrong comment
  ARM: 8286/1: mm: Fix dma_contiguous_reserve comment
  ARM: 8248/1: pm: remove outdated comment
  ARM: 8274/1: Fix DEBUG_LL for multi-platform kernels (without PL01X)
  ARM: 8273/1: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX
  ...
parents a2f0bb03 df9ab977
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
What:		/sys/bus/amba/devices/.../driver_override
Date:		September 2014
Contact:	Antonios Motakis <a.motakis@virtualopensystems.com>
Description:
		This file allows the driver for a device to be specified which
		will override standard OF, ACPI, ID table, and name matching.
		When specified, only a driver with a name matching the value
		written to driver_override will have an opportunity to bind to
		the device. The override is specified by writing a string to the
		driver_override file (echo vfio-amba > driver_override)	and may
		be cleared with an empty string (echo > driver_override).
		This returns the device to standard matching rules binding.
		Writing to driver_override does not automatically unbind the
		device from its current driver or make any attempt to
		automatically load the specified driver. If no driver with a
		matching name is currently loaded in the kernel, the device will
		not bind to any driver. This also allows devices to opt-out of
		driver binding using a driver_override name such as "none".
		Only a single driver may be specified in the override, there is
		no support for parsing delimiters.
+10 −0
Original line number Diff line number Diff line
@@ -57,6 +57,16 @@ Optional properties:
- cache-id-part: cache id part number to be used if it is not present
  on hardware
- wt-override: If present then L2 is forced to Write through mode
- arm,double-linefill : Override double linefill enable setting. Enable if
  non-zero, disable if zero.
- arm,double-linefill-incr : Override double linefill on INCR read. Enable
  if non-zero, disable if zero.
- arm,double-linefill-wrap : Override double linefill on WRAP read. Enable
  if non-zero, disable if zero.
- arm,prefetch-drop : Override prefetch drop enable setting. Enable if non-zero,
  disable if zero.
- arm,prefetch-offset : Override prefetch offset value. Valid values are
  0-7, 15, 23, and 31.

Example:

+2 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ config ARM
	select HANDLE_DOMAIN_IRQ
	select HARDIRQS_SW_RESEND
	select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
	select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
	select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
	select HAVE_ARCH_KGDB
	select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
@@ -60,6 +61,7 @@ config ARM
	select HAVE_MEMBLOCK
	select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND
	select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
	select HAVE_OPTPROBES if !THUMB2_KERNEL
	select HAVE_PERF_EVENTS
	select HAVE_PERF_REGS
	select HAVE_PERF_USER_STACK_DUMP
+81 −20
Original line number Diff line number Diff line
@@ -397,6 +397,13 @@ choice
		  Say Y here if you want the debug print routines to direct
		  their output to UART1 serial port on KEYSTONE2 devices.

	config DEBUG_KS8695_UART
		bool "KS8695 Debug UART"
		depends on ARCH_KS8695
		help
		  Say Y here if you want kernel low-level debugging support
		  on KS8695.

	config DEBUG_MESON_UARTAO
		bool "Kernel low-level debugging via Meson6 UARTAO"
		depends on ARCH_MESON
@@ -496,6 +503,13 @@ choice
		  Say Y here if you want kernel low-level debugging support
		  on Vybrid based platforms.

	config DEBUG_NETX_UART
		bool "Kernel low-level debugging messages via NetX UART"
		depends on ARCH_NETX
		help
		  Say Y here if you want kernel low-level debugging support
		  on Hilscher NetX based platforms.

	config DEBUG_NOMADIK_UART
		bool "Kernel low-level debugging messages via NOMADIK UART"
		depends on ARCH_NOMADIK
@@ -520,6 +534,30 @@ choice
		  Say Y here if you want kernel low-level debugging support
		  on TI-NSPIRE CX models.

	config DEBUG_OMAP1UART1
		bool "Kernel low-level debugging via OMAP1 UART1"
		depends on ARCH_OMAP1
		select DEBUG_UART_8250
		help
		  Say Y here if you want kernel low-level debugging support
		  on OMAP1 based platforms (except OMAP730) on the UART1.

	config DEBUG_OMAP1UART2
		bool "Kernel low-level debugging via OMAP1 UART2"
		depends on ARCH_OMAP1
		select DEBUG_UART_8250
		help
		  Say Y here if you want kernel low-level debugging support
		  on OMAP1 based platforms (except OMAP730) on the UART2.

	config DEBUG_OMAP1UART3
		bool "Kernel low-level debugging via OMAP1 UART3"
		depends on ARCH_OMAP1
		select DEBUG_UART_8250
		help
		  Say Y here if you want kernel low-level debugging support
		  on OMAP1 based platforms (except OMAP730) on the UART3.

	config DEBUG_OMAP2UART1
		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
		depends on ARCH_OMAP2PLUS
@@ -562,6 +600,30 @@ choice
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART

	config DEBUG_OMAP7XXUART1
		bool "Kernel low-level debugging via OMAP730 UART1"
		depends on ARCH_OMAP730
		select DEBUG_UART_8250
		help
		  Say Y here if you want kernel low-level debugging support
		  on OMAP730 based platforms on the UART1.

	config DEBUG_OMAP7XXUART2
		bool "Kernel low-level debugging via OMAP730 UART2"
		depends on ARCH_OMAP730
		select DEBUG_UART_8250
		help
		  Say Y here if you want kernel low-level debugging support
		  on OMAP730 based platforms on the UART2.

	config DEBUG_OMAP7XXUART3
		bool "Kernel low-level debugging via OMAP730 UART3"
		depends on ARCH_OMAP730
		select DEBUG_UART_8250
		help
		  Say Y here if you want kernel low-level debugging support
		  on OMAP730 based platforms on the UART3.

	config DEBUG_TI81XXUART1
		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
		depends on ARCH_OMAP2PLUS
@@ -1031,15 +1093,6 @@ choice
		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
		  devices, including VT8500, WM8505, WM8650 and WM8850.

	config DEBUG_LL_UART_NONE
		bool "No low-level debugging UART"
		depends on !ARCH_MULTIPLATFORM
		help
		  Say Y here if your platform doesn't provide a UART option
		  above. This relies on your platform choosing the right UART
		  definition internally in order for low-level debugging to
		  work.

	config DEBUG_ICEDCC
		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
		help
@@ -1183,7 +1236,9 @@ config DEBUG_LL_INCLUDE
				 DEBUG_IMX6Q_UART || \
				 DEBUG_IMX6SL_UART || \
				 DEBUG_IMX6SX_UART
	default "debug/ks8695.S" if DEBUG_KS8695_UART
	default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
	default "debug/netx.S" if DEBUG_NETX_UART
	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
	default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
@@ -1208,12 +1263,7 @@ config DEBUG_LL_INCLUDE

# Compatibility options for PL01x
config DEBUG_UART_PL01X
	def_bool ARCH_EP93XX || \
		ARCH_INTEGRATOR || \
		ARCH_SPEAR3XX || \
		ARCH_SPEAR6XX || \
		ARCH_SPEAR13XX || \
		ARCH_VERSATILE
	bool

# Compatibility options for 8250
config DEBUG_UART_8250
@@ -1229,6 +1279,7 @@ config DEBUG_UART_BCM63XX

config DEBUG_UART_PHYS
	hex "Physical base address of debug UART"
	default 0x00100a00 if DEBUG_NETX_UART
	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
	default 0x01c28000 if DEBUG_SUNXI_UART0
	default 0x01c28400 if DEBUG_SUNXI_UART1
@@ -1269,7 +1320,6 @@ config DEBUG_UART_PHYS
				DEBUG_S3C2410_UART2)
	default 0x78000000 if DEBUG_CNS3XXX
	default 0x7c0003f8 if FOOTBRIDGE
	default 0x78000000 if DEBUG_CNS3XXX
	default 0x80010000 if DEBUG_ASM9260_UART
	default 0x80070000 if DEBUG_IMX23_UART
	default 0x80074000 if DEBUG_IMX28_UART
@@ -1310,12 +1360,17 @@ config DEBUG_UART_PHYS
	default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
	default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
	default 0xfff36000 if DEBUG_HIGHBANK_UART
	default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
	default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
	default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
	default 0xfffe8600 if DEBUG_UART_BCM63XX
	default 0xfffff700 if ARCH_IOP33X
	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
	depends on ARCH_EP93XX || \
	        DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
		DEBUG_LL_UART_EFM32 || \
		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
		DEBUG_MSM_UART || DEBUG_NETX_UART || \
		DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
		DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
		DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
@@ -1324,6 +1379,7 @@ config DEBUG_UART_PHYS

config DEBUG_UART_VIRT
	hex "Virtual base address of debug UART"
	default 0xe0000a00 if DEBUG_NETX_UART
	default 0xe0010fe0 if ARCH_RPC
	default 0xe1000000 if DEBUG_MSM_UART
	default 0xf0000be0 if ARCH_EBSA110
@@ -1392,18 +1448,23 @@ config DEBUG_UART_VIRT
	default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
	default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
	default 0xfef36000 if DEBUG_HIGHBANK_UART
	default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
	default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
	default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
	default 0xfefff700 if ARCH_IOP33X
	default 0xff003000 if DEBUG_U300_UART
	default DEBUG_UART_PHYS if !MMU
	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
		DEBUG_MSM_UART || DEBUG_NETX_UART || \
		DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
		DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART

config DEBUG_UART_8250_SHIFT
	int "Register offset shift for the 8250 debug UART"
	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
	default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X
	default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X || \
		DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || DEBUG_OMAP7XXUART3
	default 2

config DEBUG_UART_8250_WORD
+1 −0
Original line number Diff line number Diff line
@@ -266,6 +266,7 @@ core-$(CONFIG_KVM_ARM_HOST) += arch/arm/kvm/

# If we have a machine-specific directory, then include it in the build.
core-y				+= arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
core-y				+= arch/arm/probes/
core-y				+= arch/arm/net/
core-y				+= arch/arm/crypto/
core-y				+= arch/arm/firmware/
Loading