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

Commit 0e51793e authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm

Pull ARM updates from Russell King:
 "This is the first chunk of ARM updates for this merge window.
  Conflicts are expected in two files - asm/timex.h and
  mach-integrator/integrator_cp.c.  Nothing particularly stands out more
  than anything else.

  Most of the growth is down to the opcodes stuff from Dave Martin,
  which is countered by Rob's patches to use more of the asm-generic
  headers on ARM."

(A few more conflicts grew since then, but it all looked fairly trivial)

* 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (44 commits)
  ARM: 7548/1: include linux/sched.h in syscall.h
  ARM: 7541/1: Add ARM ERRATA 775420 workaround
  ARM: ensure vm_struct has its phys_addr member filled in
  ARM: 7540/1: kexec: Check segment memory addresses
  ARM: 7539/1: kexec: scan for dtb magic in segments
  ARM: 7538/1: delay: add registration mechanism for delay timer sources
  ARM: 7536/1: smp: Formalize an IPI for wakeup
  ARM: 7525/1: ptrace: use updated syscall number for syscall auditing
  ARM: 7524/1: support syscall tracing
  ARM: 7519/1: integrator: convert platform devices to Device Tree
  ARM: 7518/1: integrator: convert AMBA devices to device tree
  ARM: 7517/1: integrator: initial device tree support
  ARM: 7516/1: plat-versatile: add DT support to FPGA IRQ
  ARM: 7515/1: integrator: check PL010 base address from resource
  ARM: 7514/1: integrator: call common init function from machine
  ARM: 7522/1: arch_timers: register a time/cycle counter
  ARM: 7523/1: arch_timers: enable the use of the virtual timer
  ARM: 7531/1: mark kernelmode mem{cpy,set} non-experimental
  ARM: 7520/1: Build dtb files in all target
  ARM: Fix build warning in arch/arm/mm/alignment.c
  ...
parents 5cad3598 b4874a3d
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
ARM Integrator/AP (Application Platform) and Integrator/CP (Compact Platform)
-----------------------------------------------------------------------------
ARM's oldest Linux-supported platform with connectors for different core
tiles of ARMv4, ARMv5 and ARMv6 type.

Required properties (in root node):
	compatible = "arm,integrator-ap";  /* Application Platform */
	compatible = "arm,integrator-cp";  /* Compact Platform */

FPGA type interrupt controllers, see the versatile-fpga-irq binding doc.


ARM Versatile Application and Platform Baseboards
-------------------------------------------------
ARM's development hardware platform with connectors for customizable
+31 −0
Original line number Diff line number Diff line
* ARM Versatile FPGA interrupt controller

One or more FPGA IRQ controllers can be synthesized in an ARM reference board
such as the Integrator or Versatile family. The output of these different
controllers are OR:ed together and fed to the CPU tile's IRQ input. Each
instance can handle up to 32 interrupts.

Required properties:
- compatible: "arm,versatile-fpga-irq"
- interrupt-controller: Identifies the node as an interrupt controller
- #interrupt-cells: The number of cells to define the interrupts.  Must be 1
  as the FPGA IRQ controller has no configuration options for interrupt
  sources.  The cell is a u32 and defines the interrupt number.
- reg: The register bank for the FPGA interrupt controller.
- clear-mask: a u32 number representing the mask written to clear all IRQs
  on the controller at boot for example.
- valid-mask: a u32 number representing a bit mask determining which of
  the interrupts are valid. Unconnected/unused lines are set to 0, and
  the system till not make it possible for devices to request these
  interrupts.

Example:

pic: pic@14000000 {
        compatible = "arm,versatile-fpga-irq";
        #interrupt-cells = <1>;
        interrupt-controller;
        reg = <0x14000000 0x100>;
        clear-mask = <0xffffffff>;
        valid-mask = <0x003fffff>;
};
+32 −9
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ config ARM
	select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
	select HAVE_ARCH_KGDB
	select HAVE_ARCH_TRACEHOOK
	select HAVE_SYSCALL_TRACEPOINTS
	select HAVE_KPROBES if !XIP_KERNEL
	select HAVE_KRETPROBES if (HAVE_KPROBES)
	select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
@@ -1402,6 +1403,16 @@ config PL310_ERRATA_769419
	  on systems with an outer cache, the store buffer is drained
	  explicitly.

config ARM_ERRATA_775420
       bool "ARM errata: A data cache maintenance operation which aborts, might lead to deadlock"
       depends on CPU_V7
       help
	 This option enables the workaround for the 775420 Cortex-A9 (r2p2,
	 r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
	 operation aborts with MMU exception, it might cause the processor
	 to deadlock. This workaround puts DSB before executing ISB if
	 an abort may occur on cache maintenance.

endmenu

source "arch/arm/common/Kconfig"
@@ -1786,8 +1797,8 @@ config ALIGNMENT_TRAP
	  configuration it is safe to say N, otherwise say Y.

config UACCESS_WITH_MEMCPY
	bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
	depends on MMU && EXPERIMENTAL
	bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user()"
	depends on MMU
	default y if CPU_FEROCEON
	help
	  Implement faster copy_to_user and clear_user methods for CPU
@@ -1828,12 +1839,6 @@ config CC_STACKPROTECTOR
	  neutralized via a kernel panic.
	  This feature requires gcc version 4.2 or above.

config DEPRECATED_PARAM_STRUCT
	bool "Provide old way to pass kernel parameters"
	help
	  This was deprecated in 2001 and announced to live on for 5 years.
	  Some old boot loaders still use this way.

config XEN_DOM0
	def_bool y
	depends on XEN
@@ -1856,6 +1861,23 @@ config USE_OF
	help
	  Include support for flattened device tree machine descriptions.

config ATAGS
	bool "Support for the traditional ATAGS boot data passing" if USE_OF
	default y
	help
	  This is the traditional way of passing data to the kernel at boot
	  time. If you are solely relying on the flattened device tree (or
	  the ARM_ATAG_DTB_COMPAT option) then you may unselect this option
	  to remove ATAGS support from your kernel binary.  If unsure,
	  leave this to y.

config DEPRECATED_PARAM_STRUCT
	bool "Provide old way to pass kernel parameters"
	depends on ATAGS
	help
	  This was deprecated in 2001 and announced to live on for 5 years.
	  Some old boot loaders still use this way.

# Compressed boot loader in ROM.  Yes, we really want to ask about
# TEXT and BSS so we preserve their values in the config files.
config ZBOOT_ROM_TEXT
@@ -1982,6 +2004,7 @@ config CMDLINE
choice
	prompt "Kernel command line type" if CMDLINE != ""
	default CMDLINE_FROM_BOOTLOADER
	depends on ATAGS

config CMDLINE_FROM_BOOTLOADER
	bool "Use bootloader kernel arguments if available"
@@ -2051,7 +2074,7 @@ config KEXEC

config ATAGS_PROC
	bool "Export atags in procfs"
	depends on KEXEC
	depends on ATAGS && KEXEC
	default y
	help
	  Should the atags used to boot the kernel be exported in an "atags"
+7 −2
Original line number Diff line number Diff line
@@ -269,7 +269,12 @@ else
KBUILD_IMAGE := zImage
endif

all:	$(KBUILD_IMAGE)
# Build the DT binary blobs if we have OF configured
ifeq ($(CONFIG_USE_OF),y)
KBUILD_DTBS := dtbs
endif

all:	$(KBUILD_IMAGE) $(KBUILD_DTBS)

boot := arch/arm/boot

@@ -307,7 +312,7 @@ define archhelp
  echo  '  uImage        - U-Boot wrapped zImage'
  echo  '  bootpImage    - Combined zImage and initial RAM disk' 
  echo  '                  (supply initrd image via make variable INITRD=<path>)'
  echo  '  dtbs          - Build device tree blobs for enabled boards'
  echo  '* dtbs          - Build device tree blobs for enabled boards'
  echo  '  install       - Install uncompressed kernel'
  echo  '  zinstall      - Install compressed kernel'
  echo  '  uinstall      - Install U-Boot wrapped compressed kernel'
+3 −0
Original line number Diff line number Diff line
@@ -32,6 +32,9 @@ extern void error(char *);
#  define Tracecv(c,x)
#endif

/* Not needed, but used in some headers pulled in by decompressors */
extern char * strstr(const char * s1, const char *s2);

#ifdef CONFIG_KERNEL_GZIP
#include "../../../../lib/decompress_inflate.c"
#endif
Loading