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

Commit 3a2289a4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
  m68k: use kernel processor defines for conditional optimizations
  m68knommu: create config options for CPU classes
  m68knommu: fix linker script exported name sections
parents ca543201 734c3ce3
Loading
Loading
Loading
Loading
+45 −7
Original line number Diff line number Diff line
@@ -14,6 +14,33 @@ config GENERIC_CLOCKEVENTS
	bool
	default n

config M68000
	bool
	help
	  The Freescale (was Motorola) 68000 CPU is the first generation of
	  the well known M68K family of processors. The CPU core as well as
	  being available as a stand alone CPU was also used in many
	  System-On-Chip devices (eg 68328, 68302, etc). It does not contain
	  a paging MMU.

config MCPU32
	bool
	help
	  The Freescale (was then Motorola) CPU32 is a CPU core that is
	  based on the 68020 processor. For the most part it is used in
	  System-On-Chip parts, and does not contain a paging MMU.

config COLDFIRE
	bool
	select GENERIC_GPIO
	select ARCH_REQUIRE_GPIOLIB
	help
	  The Freescale ColdFire family of processors is a modern derivitive
	  of the 68000 processor family. They are mainly targeted at embedded
	  applications, and are all System-On-Chip (SOC) devices, as opposed
	  to stand alone CPUs. They implement a subset of the original 68000
	  processor instruction set.

config COLDFIRE_SW_A7
	bool
	default n
@@ -36,26 +63,31 @@ choice

config M68328
	bool "MC68328"
	select M68000
	help
	  Motorola 68328 processor support.

config M68EZ328
	bool "MC68EZ328"
	select M68000
	help
	  Motorola 68EX328 processor support.

config M68VZ328
	bool "MC68VZ328"
	select M68000
	help
	  Motorola 68VZ328 processor support.

config M68360
	bool "MC68360"
	select MCPU32
	help
	  Motorola 68360 processor support.

config M5206
	bool "MCF5206"
	select COLDFIRE
	select COLDFIRE_SW_A7
	select HAVE_MBAR
	help
@@ -63,6 +95,7 @@ config M5206

config M5206e
	bool "MCF5206e"
	select COLDFIRE
	select COLDFIRE_SW_A7
	select HAVE_MBAR
	help
@@ -70,6 +103,7 @@ config M5206e

config M520x
	bool "MCF520x"
	select COLDFIRE
	select GENERIC_CLOCKEVENTS
	select HAVE_CACHE_SPLIT
	help
@@ -77,6 +111,7 @@ config M520x

config M523x
	bool "MCF523x"
	select COLDFIRE
	select GENERIC_CLOCKEVENTS
	select HAVE_CACHE_SPLIT
	select HAVE_IPSBAR
@@ -85,6 +120,7 @@ config M523x

config M5249
	bool "MCF5249"
	select COLDFIRE
	select COLDFIRE_SW_A7
	select HAVE_MBAR
	help
@@ -92,6 +128,7 @@ config M5249

config M5271
	bool "MCF5271"
	select COLDFIRE
	select HAVE_CACHE_SPLIT
	select HAVE_IPSBAR
	help
@@ -99,6 +136,7 @@ config M5271

config M5272
	bool "MCF5272"
	select COLDFIRE
	select COLDFIRE_SW_A7
	select HAVE_MBAR
	help
@@ -106,6 +144,7 @@ config M5272

config M5275
	bool "MCF5275"
	select COLDFIRE
	select HAVE_CACHE_SPLIT
	select HAVE_IPSBAR
	help
@@ -113,6 +152,7 @@ config M5275

config M528x
	bool "MCF528x"
	select COLDFIRE
	select GENERIC_CLOCKEVENTS
	select HAVE_CACHE_SPLIT
	select HAVE_IPSBAR
@@ -121,6 +161,7 @@ config M528x

config M5307
	bool "MCF5307"
	select COLDFIRE
	select COLDFIRE_SW_A7
	select HAVE_CACHE_CB
	select HAVE_MBAR
@@ -129,12 +170,14 @@ config M5307

config M532x
	bool "MCF532x"
	select COLDFIRE
	select HAVE_CACHE_CB
	help
	  Freescale (Motorola) ColdFire 532x processor support.

config M5407
	bool "MCF5407"
	select COLDFIRE
	select COLDFIRE_SW_A7
	select HAVE_CACHE_CB
	select HAVE_MBAR
@@ -143,6 +186,7 @@ config M5407

config M547x
	bool "MCF547x"
	select COLDFIRE
	select HAVE_CACHE_CB
	select HAVE_MBAR
	help
@@ -150,6 +194,7 @@ config M547x

config M548x
	bool "MCF548x"
	select COLDFIRE
	select HAVE_CACHE_CB
	select HAVE_MBAR
	help
@@ -168,13 +213,6 @@ config M54xx
	depends on (M548x || M547x)
	default y

config COLDFIRE
	bool
	depends on (M5206 || M5206e || M520x || M523x || M5249 || M527x || M5272 || M528x || M5307 || M532x || M5407 || M54xx)
	select GENERIC_GPIO
	select ARCH_REQUIRE_GPIOLIB
	default y

config CLOCK_SET
	bool "Enable setting the CPU clock frequency"
	default n
+1 −2
Original line number Diff line number Diff line
@@ -14,8 +14,7 @@ EXPORT_SYMBOL(__ashrdi3);
EXPORT_SYMBOL(__lshrdi3);
EXPORT_SYMBOL(__muldi3);

#if !defined(__mc68020__) && !defined(__mc68030__) && \
    !defined(__mc68040__) && !defined(__mc68060__) && !defined(__mcpu32__)
#if defined(CONFIG_M68000) || defined(CONFIG_COLDFIRE)
/*
 * Simpler 68k and ColdFire parts also need a few other gcc functions.
 */
+10 −10
Original line number Diff line number Diff line
@@ -84,52 +84,52 @@ SECTIONS {
		/* Kernel symbol table: Normal symbols */
		. = ALIGN(4);
		__start___ksymtab = .;
		*(__ksymtab)
		*(SORT(___ksymtab+*))
		__stop___ksymtab = .;

		/* Kernel symbol table: GPL-only symbols */
		__start___ksymtab_gpl = .;
		*(__ksymtab_gpl)
		*(SORT(___ksymtab_gpl+*))
		__stop___ksymtab_gpl = .;

		/* Kernel symbol table: Normal unused symbols */
		__start___ksymtab_unused = .;
		*(__ksymtab_unused)
		*(SORT(___ksymtab_unused+*))
		__stop___ksymtab_unused = .;

		/* Kernel symbol table: GPL-only unused symbols */
		__start___ksymtab_unused_gpl = .;
		*(__ksymtab_unused_gpl)
		*(SORT(___ksymtab_unused_gpl+*))
		__stop___ksymtab_unused_gpl = .;

		/* Kernel symbol table: GPL-future symbols */
		__start___ksymtab_gpl_future = .;
		*(__ksymtab_gpl_future)
		*(SORT(___ksymtab_gpl_future+*))
		__stop___ksymtab_gpl_future = .;

		/* Kernel symbol table: Normal symbols */
		__start___kcrctab = .;
		*(__kcrctab)
		*(SORT(___kcrctab+*))
		__stop___kcrctab = .;

		/* Kernel symbol table: GPL-only symbols */
		__start___kcrctab_gpl = .;
		*(__kcrctab_gpl)
		*(SORT(___kcrctab_gpl+*))
		__stop___kcrctab_gpl = .;

		/* Kernel symbol table: Normal unused symbols */
		__start___kcrctab_unused = .;
		*(__kcrctab_unused)
		*(SORT(___kcrctab_unused+*))
		__stop___kcrctab_unused = .;

		/* Kernel symbol table: GPL-only unused symbols */
		__start___kcrctab_unused_gpl = .;
		*(__kcrctab_unused_gpl)
		*(SORT(___kcrctab_unused_gpl+*))
		__stop___kcrctab_unused_gpl = .;

		/* Kernel symbol table: GPL-future symbols */
		__start___kcrctab_gpl_future = .;
		*(__kcrctab_gpl_future)
		*(SORT(___kcrctab_gpl_future+*))
		__stop___kcrctab_gpl_future = .;

		/* Kernel symbol table: strings */
+4 −5
Original line number Diff line number Diff line
@@ -34,8 +34,10 @@ void *memcpy(void *to, const void *from, size_t n)
	if (temp) {
		long *lto = to;
		const long *lfrom = from;
#if defined(__mc68020__) || defined(__mc68030__) || \
    defined(__mc68040__) || defined(__mc68060__) || defined(__mcpu32__)
#if defined(CONFIG_M68000) || defined(CONFIG_COLDFIRE)
		for (; temp; temp--)
			*lto++ = *lfrom++;
#else
		asm volatile (
			"	movel %2,%3\n"
			"	andw  #7,%3\n"
@@ -56,9 +58,6 @@ void *memcpy(void *to, const void *from, size_t n)
			"	jpl   4b"
			: "=a" (lfrom), "=a" (lto), "=d" (temp), "=&d" (temp1)
			: "0" (lfrom), "1" (lto), "2" (temp));
#else
		for (; temp; temp--)
			*lto++ = *lfrom++;
#endif
		to = lto;
		from = lfrom;
+4 −5
Original line number Diff line number Diff line
@@ -32,8 +32,10 @@ void *memset(void *s, int c, size_t count)
	temp = count >> 2;
	if (temp) {
		long *ls = s;
#if defined(__mc68020__) || defined(__mc68030__) || \
    defined(__mc68040__) || defined(__mc68060__) || defined(__mcpu32__)
#if defined(CONFIG_M68000) || defined(CONFIG_COLDFIRE)
		for (; temp; temp--)
			*ls++ = c;
#else
		size_t temp1;
		asm volatile (
			"	movel %1,%2\n"
@@ -55,9 +57,6 @@ void *memset(void *s, int c, size_t count)
			"	jpl   1b"
			: "=a" (ls), "=d" (temp), "=&d" (temp1)
			: "d" (c), "0" (ls), "1" (temp));
#else
		for (; temp; temp--)
			*ls++ = c;
#endif
		s = ls;
	}
Loading