Xtensa fixes for 4.11-rc6
- make __pa work with uncached KSEG addresses, it fixes DMA memory mmapping and DMA debug; - fix torn stack dump output; - wire up statx syscall. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJY4tpmAAoJEFH5zJH4P6BECVsP/0VW0w0rwPS22zy0hRHQP3BQ QEUDK7H9X1e8DWV4rEC47mSg4IYAJD8CTGsbsMHrBLm7krgbj4WZnkcuAuW+keH9 pjgY2jhn0a84MHIk/ubtya/L0HfjmDfEm41VAWg0uqVg+NspENxgdGJSq88eCEU7 up3KiM2/pBrgNiCejo6Nm8+Ct/fNMY0sgPAd83SoPdlMZY22K97NqBobdkoF43kR KH7BqAncSIBjUnYEtxlLjqs83GVnAwDBffVObL8JEHrodV6Mmbuut3rS4buCr2xW MZUfyWYQOuPRWLGhPZ49tFFfHakkfoOg3jLteU7FyOvX/tIPGh9jLA86ZIm7Eu+H RuAdhr6gTvQfuHx+XSguANKaRG67mkPICNusGUd5/prdIU65StQYzxh+lzkCP4SE UDlzbwLz9/9wiC/m6k+8outytcv89WqUtWq4l3sTc0X6SUIiMna2EDYLwV9aGELQ Gj/3AGMSAdUsJksUBFmLJ+eT4o7ujzsonZO0aMh3IpnhnnlCbV3x/4QlVLlAyjRJ Dp7v+++/iMkeczqtMka8ijfuOxjS0T55e4XyTfaHODYv2ai76G0K7wfu6TTwQDf6 4BKBxxg/SKYkOwbBAcCvQzhX7AJ18hkZaXioDuRT+7uK+ljyUMfFvF8e44yL0RVl AeVWbXAXBwpw6PZOEnRo =lq7n -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
08e4e0d045
|
@ -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) \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue