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

Commit 27d68a36 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

* 'nommu' of master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] nommu: backtrace code must not reference a discarded section
  [ARM] nommu: Initial uCLinux support for MMU-based CPUs
  [ARM] nommu: prevent Xscale-based machines being selected
  [ARM] nommu: export flush_dcache_page()
  [ARM] nommu: remove fault-armv, mmap and mm-armv files from nommu build
  [ARM] Remove TABLE_SIZE, and several unused function prototypes
  [ARM] nommu: Provide a simple flush_dcache_page implementation
  [ARM] nommu: add arch/arm/Kconfig-nommu to Kconfig files
  [ARM] nommu: add stubs for ioremap and friends
  [ARM] nommu: avoid selecting TLB and CPU specific copy code
  [ARM] nommu: uaccess tweaks
  [ARM] nommu: adjust headers for !MMU ARM systems
  [ARM] nommu: we need the TLS register emulation for nommu mode
parents 76a22271 583e7f5d
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -188,23 +188,27 @@ config ARCH_IMX

config ARCH_IOP3XX
	bool "IOP3xx-based"
	depends on MMU
	select PCI
	help
	  Support for Intel's IOP3XX (XScale) family of processors.

config ARCH_IXP4XX
	bool "IXP4xx-based"
	depends on MMU
	help
	  Support for Intel's IXP4XX (XScale) family of processors.

config ARCH_IXP2000
	bool "IXP2400/2800-based"
	depends on MMU
	select PCI
	help
	  Support for Intel's IXP2400/2800 (XScale) family of processors.

config ARCH_IXP23XX
 	bool "IXP23XX-based"
	depends on MMU
 	select PCI
	help
	  Support for Intel's IXP23xx (XScale) family of processors.
@@ -229,6 +233,7 @@ config ARCH_PNX4008

config ARCH_PXA
	bool "PXA2xx-based"
	depends on MMU
	select ARCH_MTD_XIP
	help
	  Support for Intel's PXA2XX processor line.
@@ -339,6 +344,10 @@ config XSCALE_PMU
	depends on CPU_XSCALE && !XSCALE_PMU_TIMER
	default y

if !MMU
source "arch/arm/Kconfig-nommu"
endif

endmenu

source "arch/arm/common/Kconfig"
+5 −2
Original line number Diff line number Diff line
@@ -109,11 +109,13 @@ EXPORT_SYMBOL(memchr);
EXPORT_SYMBOL(__memzero);

	/* user mem (segment) */
EXPORT_SYMBOL(__strnlen_user);
EXPORT_SYMBOL(__strncpy_from_user);

#ifdef CONFIG_MMU
EXPORT_SYMBOL(__copy_from_user);
EXPORT_SYMBOL(__copy_to_user);
EXPORT_SYMBOL(__clear_user);
EXPORT_SYMBOL(__strnlen_user);
EXPORT_SYMBOL(__strncpy_from_user);

EXPORT_SYMBOL(__get_user_1);
EXPORT_SYMBOL(__get_user_2);
@@ -123,6 +125,7 @@ EXPORT_SYMBOL(__put_user_1);
EXPORT_SYMBOL(__put_user_2);
EXPORT_SYMBOL(__put_user_4);
EXPORT_SYMBOL(__put_user_8);
#endif

	/* crypto hash */
EXPORT_SYMBOL(sha_transform);
+8 −0
Original line number Diff line number Diff line
@@ -80,6 +80,10 @@ SECTIONS
		*(.exit.text)
		*(.exit.data)
		*(.exitcall.exit)
#ifndef CONFIG_MMU
		*(.fixup)
		*(__ex_table)
#endif
	}

	.text : {			/* Real text segment		*/
@@ -87,7 +91,9 @@ SECTIONS
			*(.text)
			SCHED_TEXT
			LOCK_TEXT
#ifdef CONFIG_MMU
			*(.fixup)
#endif
			*(.gnu.warning)
			*(.rodata)
			*(.rodata.*)
@@ -142,7 +148,9 @@ SECTIONS
		 */
		. = ALIGN(32);
		__start___ex_table = .;
#ifdef CONFIG_MMU
		*(__ex_table)
#endif
		__stop___ex_table = .;

		/*
+8 −5
Original line number Diff line number Diff line
@@ -6,28 +6,31 @@

lib-y		:= backtrace.o changebit.o csumipv6.o csumpartial.o   \
		   csumpartialcopy.o csumpartialcopyuser.o clearbit.o \
		   copy_page.o delay.o findbit.o memchr.o memcpy.o    \
		   delay.o findbit.o memchr.o memcpy.o		      \
		   memmove.o memset.o memzero.o setbit.o              \
		   strncpy_from_user.o strnlen_user.o                 \
		   strchr.o strrchr.o                                 \
		   testchangebit.o testclearbit.o testsetbit.o        \
		   getuser.o putuser.o clear_user.o                   \
		   ashldi3.o ashrdi3.o lshrdi3.o muldi3.o             \
		   ucmpdi2.o lib1funcs.o div64.o sha1.o               \
		   io-readsb.o io-writesb.o io-readsl.o io-writesl.o

mmu-y	:= clear_user.o copy_page.o getuser.o putuser.o

# the code in uaccess.S is not preemption safe and
# probably faster on ARMv3 only
ifeq ($(CONFIG_PREEMPT),y)
  lib-y	+= copy_from_user.o copy_to_user.o
  mmu-y	+= copy_from_user.o copy_to_user.o
else
ifneq ($(CONFIG_CPU_32v3),y)
  lib-y	+= copy_from_user.o copy_to_user.o
  mmu-y	+= copy_from_user.o copy_to_user.o
else
  lib-y	+= uaccess.o
  mmu-y	+= uaccess.o
endif
endif

lib-$(CONFIG_MMU) += $(mmu-y)

ifeq ($(CONFIG_CPU_32v3),y)
  lib-y	+= io-readsw-armv3.o io-writesw-armv3.o
else
+1 −4
Original line number Diff line number Diff line
@@ -97,16 +97,13 @@ ENTRY(c_backtrace)
		b	1007f

/*
 * Fixup for LDMDB
 * Fixup for LDMDB.  Note that this must not be in the fixup section.
 */
		.section .fixup,"ax"
		.align	0
1007:		ldr	r0, =.Lbad
		mov	r1, frame
		bl	printk
		ldmfd	sp!, {r4 - r8, pc}
		.ltorg
		.previous
		
		.section __ex_table,"a"
		.align	3
Loading