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

Commit 8a72f382 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull tile arch changes from Chris Metcalf:
 "These are some minor new feature work and other changes that didn't
  merit getting pushed up after the 3.9 merge window closed.

  There should be a lot more activity in the 3.11 merge window"

* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
  arch/tile: Fix syscall return value passed to tracepoint
  tile: comment assumption about __insn_mtspr for <asm/irqflags.h>
  tile: ns2cycles should use __raw_get_cpu_var
  arch: remove KCORE_ELF again [tile]
  tile: remove two outdated Kconfig entries
  tile: support atomic64_dec_if_positive()
  tile: support TIF_SYSCALL_TRACEPOINT; select HAVE_SYSCALL_TRACEPOINTS
  tile: Add definition of NR_syscalls
  tile: move declaration of sys_call_table to <asm/syscall.h>
  arch/tile: Enable HAVE_ARCH_TRACEHOOK
  arch/tile: Call tracehook_report_syscall_{entry,exit} in syscall trace
parents bf5d770b 9fc1894c
Loading
Loading
Loading
Loading
+3 −14
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@ config TILE
	select ARCH_HAVE_NMI_SAFE_CMPXCHG
	select GENERIC_CLOCKEVENTS
	select MODULES_USE_ELF_RELA
	select HAVE_ARCH_TRACEHOOK
	select HAVE_SYSCALL_TRACEPOINTS
	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE

# FIXME: investigate whether we need/want these options.
#	select HAVE_IOREMAP_PROT
@@ -40,9 +43,6 @@ config MMU
config GENERIC_CSUM
	def_bool y

config SEMAPHORE_SLEEPERS
	def_bool y

config HAVE_ARCH_ALLOC_REMAP
	def_bool y

@@ -67,12 +67,6 @@ config HUGETLB_SUPER_PAGES
config RWSEM_GENERIC_SPINLOCK
	def_bool y

# We have a very flat architecture from a migration point of view,
# so save boot time by presetting this (particularly useful on tile-sim).
config DEFAULT_MIGRATION_COST
	int
	default "10000000"

# We only support gcc 4.4 and above, so this should work.
config ARCH_SUPPORTS_OPTIMIZED_INLINING
	def_bool y
@@ -413,11 +407,6 @@ endmenu

menu "Executable file formats"

# only elf supported
config KCORE_ELF
	def_bool y
	depends on PROC_FS

source "fs/Kconfig.binfmt"

endmenu
+21 −0
Original line number Diff line number Diff line
@@ -131,4 +131,25 @@ static inline int atomic_read(const atomic_t *v)
#include <asm/atomic_64.h>
#endif

#ifndef __ASSEMBLY__

static inline long long atomic64_dec_if_positive(atomic64_t *v)
{
	long long c, old, dec;

	c = atomic64_read(v);
	for (;;) {
		dec = c - 1;
		if (unlikely(dec < 0))
			break;
		old = atomic64_cmpxchg((v), c, dec);
		if (likely(old == c))
			break;
		c = old;
	}
	return dec;
}

#endif /* __ASSEMBLY__ */

#endif /* _ASM_TILE_ATOMIC_H */
+2 −1
Original line number Diff line number Diff line
@@ -44,7 +44,8 @@ typedef unsigned long pt_reg_t;
struct pt_regs *get_pt_regs(struct pt_regs *);

/* Trace the current syscall. */
extern void do_syscall_trace(void);
extern int do_syscall_trace_enter(struct pt_regs *regs);
extern void do_syscall_trace_exit(struct pt_regs *regs);

#define arch_has_single_step()	(1)

+6 −0
Original line number Diff line number Diff line
@@ -22,6 +22,12 @@
#include <linux/err.h>
#include <arch/abi.h>

/* The array of function pointers for syscalls. */
extern void *sys_call_table[];
#ifdef CONFIG_COMPAT
extern void *compat_sys_call_table[];
#endif

/*
 * Only the low 32 bits of orig_r0 are meaningful, so we return int.
 * This importantly ignores the high bits on 64-bit, so comparisons
+0 −6
Original line number Diff line number Diff line
@@ -24,12 +24,6 @@
#include <linux/types.h>
#include <linux/compat.h>

/* The array of function pointers for syscalls. */
extern void *sys_call_table[];
#ifdef CONFIG_COMPAT
extern void *compat_sys_call_table[];
#endif

/*
 * Note that by convention, any syscall which requires the current
 * register set takes an additional "struct pt_regs *" pointer; a
Loading