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

Commit 45d44740 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6:
  xtensa: Fix linker script to include .literal sections
  xtensa: update s6105_defconfig for ccount calibration
  xtensa: implement ccount calibration for s6000
  xtensa: fix wrong extern declaration renamed in code using it
  xtensa: register gpio chip before use
  xtensa: always use correct stack pointer for stack traces
  xtensa: Fix checksum header file
  xtensa: Fix architecture specific Kconfig
parents 210af919 78f3cdfa
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ config XTENSA_VARIANT_S6000
	bool "s6000 - Stretch software configurable processor"
	select VARIANT_IRQ_SWITCH
	select ARCH_REQUIRE_GPIOLIB
	select XTENSA_CALIBRATE_CCOUNT
endchoice

config XTENSA_UNALIGNED_USER
@@ -137,6 +138,8 @@ config PCI

source "drivers/pci/Kconfig"

endmenu

menu "Platform options"

choice
@@ -153,8 +156,6 @@ config XTENSA_PLATFORM_ISS

config XTENSA_PLATFORM_XT2000
	bool "XT2000"
	select XTENSA_CALIBRATE_CCOUNT
	select PCI
	help
	  XT2000 is the name of Tensilica's feature-rich emulation platform.
	  This hardware is capable of running a full Linux distribution.
@@ -192,8 +193,6 @@ config CMDLINE

source "mm/Kconfig"

endmenu

config HOTPLUG
	bool "Support for hot-pluggable devices"
	help
+1 −2
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ CONFIG_XTENSA_VARIANT_S6000=y
CONFIG_PREEMPT=y
# CONFIG_MATH_EMULATION is not set
# CONFIG_HIGHMEM is not set
# CONFIG_XTENSA_CALIBRATE_CCOUNT is not set
CONFIG_XTENSA_CALIBRATE_CCOUNT=y
CONFIG_SERIAL_CONSOLE=y
# CONFIG_XTENSA_ISS_NETWORK is not set

@@ -131,7 +131,6 @@ CONFIG_SERIAL_CONSOLE=y
# CONFIG_XTENSA_PLATFORM_ISS is not set
# CONFIG_XTENSA_PLATFORM_XT2000 is not set
CONFIG_XTENSA_PLATFORM_S6105=y
CONFIG_XTENSA_CPU_CLOCK=300
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="console=ttyS1,38400 debug bootmem_debug loglevel=7"
+4 −2
Original line number Diff line number Diff line
@@ -113,7 +113,8 @@ static __inline__ __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
	   are modified, we must also specify them as outputs, or gcc
	   will assume they contain their original values. */
		: "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (tmp), "=&r" (endaddr)
		: "1" (iph), "2" (ihl));
		: "1" (iph), "2" (ihl)
		: "memory");

	return	csum_fold(sum);
}
@@ -227,7 +228,8 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
		"1:\t"
		: "=r" (sum), "=&r" (__dummy)
		: "r" (saddr), "r" (daddr),
		  "r" (htonl(len)), "r" (htonl(proto)), "0" (sum));
		  "r" (htonl(len)), "r" (htonl(proto)), "0" (sum)
		: "memory");

	return csum_fold(sum);
}
+2 −2
Original line number Diff line number Diff line
@@ -39,9 +39,9 @@

#ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT
extern unsigned long ccount_per_jiffy;
extern unsigned long ccount_nsec;
extern unsigned long nsec_per_ccount;
#define CCOUNT_PER_JIFFY ccount_per_jiffy
#define NSEC_PER_CCOUNT  ccount_nsec
#define NSEC_PER_CCOUNT  nsec_per_ccount
#else
#define CCOUNT_PER_JIFFY (CONFIG_XTENSA_CPU_CLOCK*(1000000UL/HZ))
#define NSEC_PER_CCOUNT (1000UL / CONFIG_XTENSA_CPU_CLOCK)
+18 −3
Original line number Diff line number Diff line
@@ -4,15 +4,30 @@

extra-y := head.o vmlinux.lds


obj-y := align.o entry.o irq.o coprocessor.o process.o ptrace.o \
	 setup.o signal.o syscall.o time.o traps.o vectors.o platform.o  \
	 pci-dma.o init_task.o io.o

## windowspill.o

obj-$(CONFIG_KGDB) += xtensa-stub.o
obj-$(CONFIG_PCI) += pci.o
obj-$(CONFIG_MODULES) += xtensa_ksyms.o module.o

# In the Xtensa architecture, assembly generates literals which must always
# precede the L32R instruction with a relative offset less than 256 kB.
# Therefore, the .text and .literal section must be combined in parenthesis
# in the linker script, such as: *(.literal .text).
#
# We need to post-process the generated vmlinux.lds scripts to convert
# *(xxx.text) to  *(xxx.literal xxx.text) for the following text sections:
#   .text .ref.text .*init.text .*exit.text .text.*
#
# Replicate rules in scripts/Makefile.build

sed-y = -e 's/(\(\.[a-z]*it\|\.ref\|\)\.text)/(\1.literal \1.text)/g'	\
	-e 's/(\(\.text\.[a-z]*\))/(\1.literal \1)/g'

quiet_cmd__cpp_lds_S = LDS     $@
      cmd__cpp_lds_S = $(CPP) $(cpp_flags) -D__ASSEMBLY__ $< | sed $(sed-y) >$@

$(obj)/vmlinux.lds: $(src)/vmlinux.lds.S FORCE
	$(call if_changed_dep,_cpp_lds_S)
Loading