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

Commit cefd3e71 authored by Russell King's avatar Russell King
Browse files

Merge branch 'mach_memory_h' of git://git.linaro.org/people/nico/linux into devel-stable

parents a26bce12 0cdc8b92
Loading
Loading
Loading
Loading
+36 −10
Original line number Diff line number Diff line
@@ -196,7 +196,8 @@ config VECTORS_BASE
	  The base address of exception vectors.

config ARM_PATCH_PHYS_VIRT
	bool "Patch physical to virtual translations at runtime"
	bool "Patch physical to virtual translations at runtime" if EMBEDDED
	default y
	depends on !XIP_KERNEL && MMU
	depends on !ARCH_REALVIEW || !SPARSEMEM
	help
@@ -205,16 +206,25 @@ config ARM_PATCH_PHYS_VIRT
	  kernel in system memory.

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

config ARM_PATCH_PHYS_VIRT_16BIT
	def_bool y
	depends on ARM_PATCH_PHYS_VIRT && ARCH_MSM
	  Only disable this option if you know that you do not require
	  this feature (eg, building a kernel for a single machine) and
	  you need to shrink the kernel to the minimal size.

config NEED_MACH_MEMORY_H
	bool
	help
	  Select this when mach/memory.h is required to provide special
	  definitions for this platform.  The need for mach/memory.h should
	  be avoided when possible.

config PHYS_OFFSET
	hex "Physical address of main memory"
	depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H
	help
	  This option extends the physical to virtual translation patching
	  to allow physical memory down to a theoretical minimum of 64K
	  boundaries.
	  Please provide the physical address corresponding to the
	  location of main memory in your system.

source "init/Kconfig"

@@ -247,6 +257,7 @@ config ARCH_INTEGRATOR
	select GENERIC_CLOCKEVENTS
	select PLAT_VERSATILE
	select PLAT_VERSATILE_FPGA_IRQ
	select NEED_MACH_MEMORY_H
	help
	  Support for ARM's Integrator platform.

@@ -262,6 +273,7 @@ config ARCH_REALVIEW
	select PLAT_VERSATILE_CLCD
	select ARM_TIMER_SP804
	select GPIO_PL061 if GPIOLIB
	select NEED_MACH_MEMORY_H
	help
	  This enables support for ARM Ltd RealView boards.

@@ -302,7 +314,6 @@ config ARCH_AT91
	select ARCH_REQUIRE_GPIOLIB
	select HAVE_CLK
	select CLKDEV_LOOKUP
	select ARM_PATCH_PHYS_VIRT if MMU
	help
	  This enables support for systems based on the Atmel AT91RM9200,
	  AT91SAM9 and AT91CAP9 processors.
@@ -323,6 +334,7 @@ config ARCH_CLPS711X
	bool "Cirrus Logic CLPS711x/EP721x-based"
	select CPU_ARM720T
	select ARCH_USES_GETTIMEOFFSET
	select NEED_MACH_MEMORY_H
	help
	  Support for Cirrus Logic 711x/721x based boards.

@@ -363,6 +375,7 @@ config ARCH_EBSA110
	select ISA
	select NO_IOPORT
	select ARCH_USES_GETTIMEOFFSET
	select NEED_MACH_MEMORY_H
	help
	  This is an evaluation board for the StrongARM processor available
	  from Digital. It has limited hardware on-board, including an
@@ -378,6 +391,7 @@ config ARCH_EP93XX
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_HAS_HOLES_MEMORYMODEL
	select ARCH_USES_GETTIMEOFFSET
	select NEED_MEMORY_H
	help
	  This enables support for the Cirrus EP93xx series of CPUs.

@@ -386,6 +400,7 @@ config ARCH_FOOTBRIDGE
	select CPU_SA110
	select FOOTBRIDGE
	select GENERIC_CLOCKEVENTS
	select NEED_MACH_MEMORY_H
	help
	  Support for systems based on the DC21285 companion chip
	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
@@ -435,6 +450,7 @@ config ARCH_IOP13XX
	select PCI
	select ARCH_SUPPORTS_MSI
	select VMSPLIT_1G
	select NEED_MACH_MEMORY_H
	help
	  Support for Intel's IOP13XX (XScale) family of processors.

@@ -465,6 +481,7 @@ config ARCH_IXP23XX
	select CPU_XSC3
 	select PCI
	select ARCH_USES_GETTIMEOFFSET
	select NEED_MACH_MEMORY_H
	help
	  Support for Intel's IXP23xx (XScale) family of processors.

@@ -474,6 +491,7 @@ config ARCH_IXP2000
	select CPU_XSCALE
	select PCI
	select ARCH_USES_GETTIMEOFFSET
	select NEED_MACH_MEMORY_H
	help
	  Support for Intel's IXP2400/2800 (XScale) family of processors.

@@ -567,6 +585,7 @@ config ARCH_KS8695
	select CPU_ARM922T
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_USES_GETTIMEOFFSET
	select NEED_MACH_MEMORY_H
	help
	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
	  System-on-Chip devices.
@@ -658,6 +677,7 @@ config ARCH_SHMOBILE
	select SPARSE_IRQ
	select MULTI_IRQ_HANDLER
	select PM_GENERIC_DOMAINS if PM
	select NEED_MACH_MEMORY_H
	help
	  Support for Renesas's SH-Mobile and R-Mobile ARM platforms.

@@ -672,6 +692,7 @@ config ARCH_RPC
	select NO_IOPORT
	select ARCH_SPARSEMEM_ENABLE
	select ARCH_USES_GETTIMEOFFSET
	select NEED_MACH_MEMORY_H
	help
	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
	  CD-ROM interface, serial and parallel port, and the floppy drive.
@@ -690,6 +711,7 @@ config ARCH_SA1100
	select HAVE_SCHED_CLOCK
	select TICK_ONESHOT
	select ARCH_REQUIRE_GPIOLIB
	select NEED_MACH_MEMORY_H
	help
	  Support for StrongARM 11x0 based boards.

@@ -782,6 +804,7 @@ config ARCH_S5PV210
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select NEED_MACH_MEMORY_H
	help
	  Samsung S5PV210/S5PC110 series based systems

@@ -798,6 +821,7 @@ config ARCH_EXYNOS4
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select NEED_MACH_MEMORY_H
	help
	  Samsung EXYNOS4 series based systems

@@ -809,6 +833,7 @@ config ARCH_SHARK
	select ZONE_DMA
	select PCI
	select ARCH_USES_GETTIMEOFFSET
	select NEED_MACH_MEMORY_H
	help
	  Support for the StrongARM based Digital DNARD machine, also known
	  as "Shark" (<http://www.shark-linux.de/shark.html>).
@@ -836,6 +861,7 @@ config ARCH_U300
	select CLKDEV_LOOKUP
	select HAVE_MACH_CLKDEV
	select GENERIC_GPIO
	select NEED_MACH_MEMORY_H
	help
	  Support for ST-Ericsson U300 series mobile platforms.

+3 −0
Original line number Diff line number Diff line
@@ -128,6 +128,9 @@ textofs-$(CONFIG_PM_H1940) := 0x00108000
ifeq ($(CONFIG_ARCH_SA1100),y)
textofs-$(CONFIG_SA1111) := 0x00208000
endif
textofs-$(CONFIG_ARCH_MSM7X30) := 0x00208000
textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000

# Machine directory name.  This list is sorted alphanumerically
# by CONFIG_* macro name.
+8 −8
Original line number Diff line number Diff line
@@ -16,9 +16,12 @@
#include <linux/compiler.h>
#include <linux/const.h>
#include <linux/types.h>
#include <mach/memory.h>
#include <asm/sizes.h>

#ifdef CONFIG_NEED_MACH_MEMORY_H
#include <mach/memory.h>
#endif

/*
 * Allow for constants defined here to be used from assembly code
 * by prepending the UL suffix only with actual C code compilation.
@@ -151,7 +154,6 @@
 * so that all we need to do is modify the 8-bit constant field.
 */
#define __PV_BITS_31_24	0x81000000
#define __PV_BITS_23_16	0x00810000

extern unsigned long __pv_phys_offset;
#define PHYS_OFFSET __pv_phys_offset
@@ -169,9 +171,6 @@ static inline unsigned long __virt_to_phys(unsigned long x)
{
	unsigned long t;
	__pv_stub(x, t, "add", __PV_BITS_31_24);
#ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
	__pv_stub(t, t, "add", __PV_BITS_23_16);
#endif
	return t;
}

@@ -179,9 +178,6 @@ static inline unsigned long __phys_to_virt(unsigned long x)
{
	unsigned long t;
	__pv_stub(x, t, "sub", __PV_BITS_31_24);
#ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
	__pv_stub(t, t, "sub", __PV_BITS_23_16);
#endif
	return t;
}
#else
@@ -191,7 +187,11 @@ static inline unsigned long __phys_to_virt(unsigned long x)
#endif

#ifndef PHYS_OFFSET
#ifdef PLAT_PHYS_OFFSET
#define PHYS_OFFSET	PLAT_PHYS_OFFSET
#else
#define PHYS_OFFSET	UL(CONFIG_PHYS_OFFSET)
#endif
#endif

/*
+0 −4
Original line number Diff line number Diff line
@@ -31,11 +31,7 @@ struct mod_arch_specific {

/* Add __virt_to_phys patching state as well */
#ifdef CONFIG_ARM_PATCH_PHYS_VIRT
#ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT
#define MODULE_ARCH_VERMAGIC_P2V "p2v16 "
#else
#define MODULE_ARCH_VERMAGIC_P2V "p2v8 "
#endif
#else
#define MODULE_ARCH_VERMAGIC_P2V ""
#endif
+2 −2
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@
#if defined(CONFIG_DEBUG_ICEDCC)
		@@ debug using ARM EmbeddedICE DCC channel

		.macro	addruart, rp, rv
		.macro	addruart, rp, rv, tmp
		.endm

#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
@@ -106,7 +106,7 @@

#ifdef CONFIG_MMU
		.macro	addruart_current, rx, tmp1, tmp2
		addruart	\tmp1, \tmp2
		addruart	\tmp1, \tmp2, \rx
		mrc		p15, 0, \rx, c1, c0
		tst		\rx, #1
		moveq		\rx, \tmp1
Loading