Commit def20529 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  ARM: 5888/1: arm: Update comments in cacheflush.h and remove unnecessary V6 and V7 comments
  ARM: 5886/1: arm: Fix cpu_proc_fin() for proc-v7.S and make kexec work
  ARM: 5885/1: arm: Flush TLB entries in setup_mm_for_reboot()
  ARM: 5884/1: arm: Fix DCC console for v7
  ARM: 5883/1: Revert "disable NX support for OABI-supporting kernels"
  ARM: 5882/1: ARM: Fix uncompress code compile for different defines of flush(void)
  ARM: fix badly placed mach/plat entries in Kconfig & Makefile
parents 24bc7347 2045124f
Loading
Loading
Loading
Loading
+35 −35
Original line number Diff line number Diff line
@@ -729,14 +729,26 @@ config ARCH_U8500

endchoice

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

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

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

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

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

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

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

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

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

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

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

source "arch/arm/mach-iop32x/Kconfig"
@@ -751,16 +763,26 @@ source "arch/arm/mach-ixp2000/Kconfig"

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

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

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

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

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

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

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

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

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

source "arch/arm/mach-sa1100/Kconfig"
source "arch/arm/mach-nomadik/Kconfig"
source "arch/arm/plat-nomadik/Kconfig"

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

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

@@ -770,9 +792,14 @@ source "arch/arm/mach-omap2/Kconfig"

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

source "arch/arm/mach-kirkwood/Kconfig"
source "arch/arm/mach-pxa/Kconfig"
source "arch/arm/plat-pxa/Kconfig"

source "arch/arm/mach-dove/Kconfig"
source "arch/arm/mach-mmp/Kconfig"

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

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

source "arch/arm/plat-samsung/Kconfig"
source "arch/arm/plat-s3c24xx/Kconfig"
@@ -800,41 +827,14 @@ if ARCH_S5PC1XX
source "arch/arm/mach-s5pc100/Kconfig"
endif

source "arch/arm/mach-lh7a40x/Kconfig"
source "arch/arm/mach-u300/Kconfig"

source "arch/arm/mach-h720x/Kconfig"
source "arch/arm/mach-ux500/Kconfig"

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

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

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

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

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

source "arch/arm/mach-nomadik/Kconfig"
source "arch/arm/plat-nomadik/Kconfig"

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

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

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

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

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

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

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

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

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

# Definitions to make life easier
config ARCH_ACORN
	bool
+2 −2
Original line number Diff line number Diff line
@@ -146,6 +146,7 @@ machine-$(CONFIG_ARCH_MX1) := mx1
machine-$(CONFIG_ARCH_MX2)		:= mx2
machine-$(CONFIG_ARCH_MX25)		:= mx25
machine-$(CONFIG_ARCH_MX3)		:= mx3
machine-$(CONFIG_ARCH_MXC91231)		:= mxc91231
machine-$(CONFIG_ARCH_NETX)		:= netx
machine-$(CONFIG_ARCH_NOMADIK)		:= nomadik
machine-$(CONFIG_ARCH_NS9XXX)		:= ns9xxx
@@ -171,12 +172,12 @@ machine-$(CONFIG_ARCH_U8500) := ux500
machine-$(CONFIG_ARCH_VERSATILE)	:= versatile
machine-$(CONFIG_ARCH_W90X900)		:= w90x900
machine-$(CONFIG_FOOTBRIDGE)		:= footbridge
machine-$(CONFIG_ARCH_MXC91231)		:= mxc91231

# Platform directory name.  This list is sorted alphanumerically
# by CONFIG_* macro name.
plat-$(CONFIG_ARCH_MXC)		:= mxc
plat-$(CONFIG_ARCH_OMAP)	:= omap
plat-$(CONFIG_ARCH_STMP3XXX)	:= stmp3xxx
plat-$(CONFIG_PLAT_IOP)		:= iop
plat-$(CONFIG_PLAT_NOMADIK)	:= nomadik
plat-$(CONFIG_PLAT_ORION)	:= orion
@@ -184,7 +185,6 @@ plat-$(CONFIG_PLAT_PXA) := pxa
plat-$(CONFIG_PLAT_S3C24XX)	:= s3c24xx s3c samsung
plat-$(CONFIG_PLAT_S3C64XX)	:= s3c64xx s3c samsung
plat-$(CONFIG_PLAT_S5PC1XX)	:= s5pc1xx s3c samsung
plat-$(CONFIG_ARCH_STMP3XXX)	:= stmp3xxx

ifeq ($(CONFIG_ARCH_EBSA110),y)
# This is what happens if you forget the IOCS16 line.
+8 −0
Original line number Diff line number Diff line
@@ -27,6 +27,14 @@
		.macro	writeb, ch, rb
		mcr	p14, 0, \ch, c0, c5, 0
		.endm
#elif defined(CONFIG_CPU_V7)
		.macro	loadsp, rb
		.endm
		.macro	writeb, ch, rb
wait:		mrc	p14, 0, pc, c0, c1, 0
		bcs	wait
		mcr	p14, 0, \ch, c0, c5, 0
		.endm
#elif defined(CONFIG_CPU_XSCALE)
		.macro	loadsp, rb
		.endm
+12 −1
Original line number Diff line number Diff line
@@ -53,6 +53,18 @@ static void icedcc_putc(int ch)

	asm("mcr p14, 0, %0, c0, c5, 0" : : "r" (ch));
}

#elif defined(CONFIG_CPU_V7)

static void icedcc_putc(int ch)
{
	asm(
	"wait:	mrc	p14, 0, pc, c0, c1, 0			\n\
		bcs	wait					\n\
		mcr     p14, 0, %0, c0, c5, 0			"
	: : "r" (ch));
}

#elif defined(CONFIG_CPU_XSCALE)

static void icedcc_putc(int ch)
@@ -88,7 +100,6 @@ static void icedcc_putc(int ch)
#endif

#define putc(ch)	icedcc_putc(ch)
#define flush()	do { } while (0)
#endif

static void putstr(const char *ptr)
+17 −3
Original line number Diff line number Diff line
@@ -154,16 +154,16 @@
 *	Please note that the implementation of these, and the required
 *	effects are cache-type (VIVT/VIPT/PIPT) specific.
 *
 *	flush_cache_kern_all()
 *	flush_kern_all()
 *
 *		Unconditionally clean and invalidate the entire cache.
 *
 *	flush_cache_user_mm(mm)
 *	flush_user_all()
 *
 *		Clean and invalidate all user space cache entries
 *		before a change of page tables.
 *
 *	flush_cache_user_range(start, end, flags)
 *	flush_user_range(start, end, flags)
 *
 *		Clean and invalidate a range of cache entries in the
 *		specified address space before a change of page tables.
@@ -179,6 +179,20 @@
 *		- start  - virtual start address
 *		- end    - virtual end address
 *
 *	coherent_user_range(start, end)
 *
 *		Ensure coherency between the Icache and the Dcache in the
 *		region described by start, end.  If you have non-snooping
 *		Harvard caches, you need to implement this function.
 *		- start  - virtual start address
 *		- end    - virtual end address
 *
 *	flush_kern_dcache_area(kaddr, size)
 *
 *		Ensure that the data held in page is written back.
 *		- kaddr  - page address
 *		- size   - region size
 *
 *	DMA Cache Coherency
 *	===================
 *
Loading