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

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

Merge tag 'xtensa-next-20141215' of git://github.com/czankel/xtensa-linux

Pull Xtensa fixes from Chris Zankel:
 - fix nommu support
 - remove s6000 variant and s6105 platform
 - fix permissions for kmapped pages so that copy_to_user_page works with them
 - add power management menu to Kconfig to allow use of runtime PM
 - disable linker optimizations because of a linker bug
 - fix sparse error

* tag 'xtensa-next-20141215' of git://github.com/czankel/xtensa-linux:
  xtensa: disable link optimization
  xtensa/uaccess: fix sparse errors
  xtensa: fix kmap_prot definition
  xtensa: add power management menu to Kconfig
  xtensa: remove s6000 variant and s6105 platform
  xtensa: make PLATFORM_DEFAULT_MEM parameters configurable
  xtensa: nommu: clean up memory map dump
  xtensa: nommu: reserve memory below PLATFORM_DEFAULT_MEM_START
  xtensa: nommu: set up cache and atomctl in initialize_mmu
  xtensa: move vecbase SR initialization to _startup
  xtensa: nommu: fix uImage load address
  xtensa: nommu: fix load address definitions
  xtensa: nommu: fix Image.elf reset code and ld script
  xtensa: nommu: add MMU dependency to DEBUG_TLB_SANITY
  xtensa: nommu: don't build most of the cache flushing code
  xtensa: nommu: don't provide arch_get_unmapped_area
  xtensa: nommu: provide MAP_UNINITIALIZED definition
  xtensa: nommu: provide _PAGE_CHG_MASK definition
  xtensa: nommu: provide __invalidate_dcache_page_alias stub
  xtensa: nommu: move init_mmu stub to nommu_context.h
parents 0db2812a 1f2fdbd0
Loading
Loading
Loading
Loading
+42 −14
Original line number Diff line number Diff line
@@ -98,12 +98,6 @@ config XTENSA_VARIANT_DC233C
	help
	  This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE).

config XTENSA_VARIANT_S6000
	bool "s6000 - Stretch software configurable processor"
	select VARIANT_IRQ_SWITCH
	select ARCH_REQUIRE_GPIOLIB
	select XTENSA_CALIBRATE_CCOUNT

config XTENSA_VARIANT_CUSTOM
	bool "Custom Xtensa processor configuration"
	select MAY_HAVE_SMP
@@ -126,7 +120,6 @@ config XTENSA_VARIANT_NAME
	default "dc232b"			if XTENSA_VARIANT_DC232B
	default "dc233c"			if XTENSA_VARIANT_DC233C
	default "fsf"				if XTENSA_VARIANT_FSF
	default "s6000"				if XTENSA_VARIANT_S6000
	default XTENSA_VARIANT_CUSTOM_NAME	if XTENSA_VARIANT_CUSTOM

config XTENSA_VARIANT_MMU
@@ -191,7 +184,6 @@ config HOTPLUG_CPU

config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
	bool "Initialize Xtensa MMU inside the Linux kernel code"
	depends on MMU
	default y
	help
	  Earlier version initialized the MMU in the exception vector
@@ -311,15 +303,10 @@ config XTENSA_PLATFORM_XT2000
	  XT2000 is the name of Tensilica's feature-rich emulation platform.
	  This hardware is capable of running a full Linux distribution.

config XTENSA_PLATFORM_S6105
	bool "S6105"
	select HAVE_IDE
	select SERIAL_CONSOLE
	select NO_IOPORT_MAP

config XTENSA_PLATFORM_XTFPGA
	bool "XTFPGA"
	select ETHOC if ETHERNET
	select PLATFORM_WANT_DEFAULT_MEM
	select SERIAL_CONSOLE
	select XTENSA_CALIBRATE_CCOUNT
	help
@@ -406,6 +393,41 @@ source "drivers/pcmcia/Kconfig"

source "drivers/pci/hotplug/Kconfig"

config PLATFORM_WANT_DEFAULT_MEM
	def_bool n

config DEFAULT_MEM_START
	hex "Physical address of the default memory area start"
	depends on PLATFORM_WANT_DEFAULT_MEM
	default 0x00000000 if MMU
	default 0x40000000 if !MMU
	help
	  This is a fallback start address of the default memory area, it is
	  used when no physical memory size is passed through DTB or through
	  boot parameter from bootloader.

	  In noMMU configuration the following parameters are derived from it:
	  - kernel load address;
	  - kernel entry point address;
	  - relocatable vectors base address;
	  - uBoot load address;
	  - TASK_SIZE.

	  If unsure, leave the default value here.

config DEFAULT_MEM_SIZE
	hex "Maximal size of the default memory area"
	depends on PLATFORM_WANT_DEFAULT_MEM
	default 0x04000000
	help
	  This is a fallback size of the default memory area, it is used when
	  no physical memory size is passed through DTB or through boot
	  parameter from bootloader.

	  It's also used for TASK_SIZE calculation in noMMU configuration.

	  If unsure, leave the default value here.

endmenu

menu "Executable file formats"
@@ -414,6 +436,12 @@ source "fs/Kconfig.binfmt"

endmenu

menu "Power management options"

source "kernel/power/Kconfig"

endmenu

source "net/Kconfig"

source "drivers/Kconfig"
+2 −2
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ source "lib/Kconfig.debug"

config DEBUG_TLB_SANITY
	bool "Debug TLB sanity"
	depends on DEBUG_KERNEL
	depends on DEBUG_KERNEL && MMU
	help
	  Enable this to turn on TLB sanity check on each entry to userspace.
	  This check can spot missing TLB invalidation/wrong PTE permissions/
@@ -14,7 +14,7 @@ config DEBUG_TLB_SANITY

config LD_NO_RELAX
	bool "Disable linker relaxation"
	default n
	default y
	help
	  Enable this function to disable link-time optimizations.
	  The default linker behavior is to combine identical literal
+0 −1
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ endif

platform-$(CONFIG_XTENSA_PLATFORM_XT2000)	:= xt2000
platform-$(CONFIG_XTENSA_PLATFORM_ISS)		:= iss
platform-$(CONFIG_XTENSA_PLATFORM_S6105)	:= s6105
platform-$(CONFIG_XTENSA_PLATFORM_XTFPGA)	:= xtfpga

PLATFORM = $(platform-y)
+2 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ SECTIONS
		__bss_end = .;
	}

#ifdef CONFIG_MMU
	/*
	 * This is a remapped copy of the Reset Vector Code.
	 * It keeps gdb in sync with the PC after switching
@@ -51,4 +52,5 @@ SECTIONS
	{
		*(.ResetVector.remapped_text)
	}
#endif
}
+4 −6
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <asm/page.h>
#include <asm/cacheasm.h>
#include <asm/initialize_mmu.h>
#include <asm/vectors.h>
#include <linux/linkage.h>

	.section	.ResetVector.text, "ax"
@@ -34,12 +35,7 @@ _ResetVector:

	.align 4
RomInitAddr:
#if defined(CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX) && \
	XCHAL_HAVE_PTP_MMU && XCHAL_HAVE_SPANNING_WAY
	.word 0x00003000
#else
	.word 0xd0003000
#endif
	.word	LOAD_MEMORY_ADDRESS
RomBootParam:
	.word _bootparam
_bootparam:
@@ -79,6 +75,7 @@ reset:
	movi	a4, 0
	jx      a0

#ifdef CONFIG_MMU
	.align 4

	.section	.ResetVector.remapped_text, "x"
@@ -102,3 +99,4 @@ _RemappedSetupMMU:
#endif

	.end    no-absolute-literals
#endif
Loading