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

Commit 08e4e0d0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'xtensa-20170403' of git://github.com/jcmvbkbc/linux-xtensa

Pull Xtensa fixes from Max Filippov:

 - make __pa work with uncached KSEG addresses, it fixes DMA memory
   mmapping and DMA debug

 - fix torn stack dump output

 - wire up statx syscall

* tag 'xtensa-20170403' of git://github.com/jcmvbkbc/linux-xtensa:
  xtensa: wire up statx system call
  xtensa: fix stack dump output
  xtensa: make __pa work with uncached KSEG addresses
parents 4ad72555 1493aa65
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -164,8 +164,21 @@ void copy_user_highpage(struct page *to, struct page *from,

#define ARCH_PFN_OFFSET		(PHYS_OFFSET >> PAGE_SHIFT)

#ifdef CONFIG_MMU
static inline unsigned long ___pa(unsigned long va)
{
	unsigned long off = va - PAGE_OFFSET;

	if (off >= XCHAL_KSEG_SIZE)
		off -= XCHAL_KSEG_SIZE;

	return off + PHYS_OFFSET;
}
#define __pa(x)	___pa((unsigned long)(x))
#else
#define __pa(x)	\
	((unsigned long) (x) - PAGE_OFFSET + PHYS_OFFSET)
#endif
#define __va(x)	\
	((void *)((unsigned long) (x) - PHYS_OFFSET + PAGE_OFFSET))
#define pfn_valid(pfn) \
+4 −1
Original line number Diff line number Diff line
@@ -774,7 +774,10 @@ __SYSCALL(349, sys_pkey_alloc, 2)
#define __NR_pkey_free				350
__SYSCALL(350, sys_pkey_free, 1)

#define __NR_syscall_count			351
#define __NR_statx				351
__SYSCALL(351, sys_statx, 5)

#define __NR_syscall_count			352

/*
 * sysxtensa syscall handler
+2 −4
Original line number Diff line number Diff line
@@ -483,10 +483,8 @@ void show_regs(struct pt_regs * regs)

static int show_trace_cb(struct stackframe *frame, void *data)
{
	if (kernel_text_address(frame->pc)) {
		pr_cont(" [<%08lx>]", frame->pc);
		print_symbol(" %s\n", frame->pc);
	}
	if (kernel_text_address(frame->pc))
		pr_cont(" [<%08lx>] %pB\n", frame->pc, (void *)frame->pc);
	return 0;
}