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

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

Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze

* 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze:
  microblaze: Remove unused variable from ptrace
  microblaze: io.h: Add io big-endian function
  microblaze: Enable memory leak detector
  microblaze: Fix futex code
  microblaze: Fix ftrace_update_ftrace_func panic
parents 84db18bb af2b021f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ futex_atomic_op_inuser(int encoded_op, int __user *uaddr)
		__futex_atomic_op("or %1,%0,%4;", ret, oldval, uaddr, oparg);
		break;
	case FUTEX_OP_ANDN:
		__futex_atomic_op("and %1,%0,%4;", ret, oldval, uaddr, oparg);
		__futex_atomic_op("andn %1,%0,%4;", ret, oldval, uaddr, oparg);
		break;
	case FUTEX_OP_XOR:
		__futex_atomic_op("xor %1,%0,%4;", ret, oldval, uaddr, oparg);
+5 −0
Original line number Diff line number Diff line
@@ -108,6 +108,11 @@ static inline void writel(unsigned int v, volatile void __iomem *addr)
#define iowrite16(v, addr)	__raw_writew((u16)(v), (u16 *)(addr))
#define iowrite32(v, addr)	__raw_writel((u32)(v), (u32 *)(addr))

#define ioread16be(addr)	__raw_readw((u16 *)(addr))
#define ioread32be(addr)	__raw_readl((u32 *)(addr))
#define iowrite16be(v, addr)	__raw_writew((u16)(v), (u16 *)(addr))
#define iowrite32be(v, addr)	__raw_writel((u32)(v), (u32 *)(addr))

/* These are the definitions for the x86 IO instructions
 * inb/inw/inl/outb/outw/outl, the "string" versions
 * insb/insw/insl/outsb/outsw/outsl, and the "pausing" versions
+3 −9
Original line number Diff line number Diff line
@@ -151,13 +151,10 @@ int ftrace_make_nop(struct module *mod,
	return ret;
}

static int ret_addr; /* initialized as 0 by default */

/* I believe that first is called ftrace_make_nop before this function */
int ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr)
{
	int ret;
	ret_addr = addr; /* saving where the barrier jump is */
	pr_debug("%s: addr:0x%x, rec->ip: 0x%x, imm:0x%x\n",
		__func__, (unsigned int)addr, (unsigned int)rec->ip, imm);
	ret = ftrace_modify_code(rec->ip, imm);
@@ -194,12 +191,9 @@ int ftrace_update_ftrace_func(ftrace_func_t func)
	ret = ftrace_modify_code(ip, upper);
	ret += ftrace_modify_code(ip + 4, lower);

	/* We just need to remove the rtsd r15, 8 by NOP */
	BUG_ON(!ret_addr);
	if (ret_addr)
		ret += ftrace_modify_code(ret_addr, MICROBLAZE_NOP);
	else
		ret = 1; /* fault */
	/* We just need to replace the rtsd r15, 8 with NOP */
	ret += ftrace_modify_code((unsigned long)&ftrace_caller,
				  MICROBLAZE_NOP);

	/* All changes are done - lets do caches consistent */
	flush_icache();
+0 −1
Original line number Diff line number Diff line
@@ -75,7 +75,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
{
	int rval;
	unsigned long val = 0;
	unsigned long copied;

	switch (request) {
	/* Read/write the word at location ADDR in the registers. */
+1 −1
Original line number Diff line number Diff line
@@ -356,7 +356,7 @@ config SLUB_STATS
config DEBUG_KMEMLEAK
	bool "Kernel memory leak detector"
	depends on DEBUG_KERNEL && EXPERIMENTAL && !MEMORY_HOTPLUG && \
		(X86 || ARM || PPC || S390 || SUPERH)
		(X86 || ARM || PPC || S390 || SUPERH || MICROBLAZE)

	select DEBUG_FS if SYSFS
	select STACKTRACE if STACKTRACE_SUPPORT