aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-07-03 18:17:19 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-07-03 18:17:19 -0400
commit058e88d37f872a9bc9fac7e49fdad43cdc9ba25d (patch)
treefe01b79b24958e38b8b07c91e4745054e4bf7cd8
parent241e5e6f0497769d37240215047b9473ae3ae3f0 (diff)
parent14ef905bb2eecb02f7ce31b8fbedd4a75ddf0f57 (diff)
Merge tag 'microblaze-4.13-rc1' of git://git.monstr.eu/linux-2.6-microblaze
Pull microblaze updates from Michal Simek: - timer fix - use simplified macro in dma.c - wire-up new syscall - remove asp-generic wrappers - fix MMU table handling - defconfig updates - low-level entry.S changes * tag 'microblaze-4.13-rc1' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Fix MSR flags when returning from exception microblaze: Separate GP registers from MSR handling microblaze: Enabling CONFIG_BRIDGE in mmu_defconfig microblaze: Enabling CONFIGS related to MTD microblaze: Update defconfigs microblaze: mm: Flush TLB to ensure correct mapping when higmem ON microblaze: remove asm-generic wrapper headers microblaze: wire up statx syscall microblaze: Set ->min_delta_ticks and ->max_delta_ticks for timer microblaze: use sg_phys()
-rw-r--r--arch/microblaze/configs/mmu_defconfig16
-rw-r--r--arch/microblaze/configs/nommu_defconfig17
-rw-r--r--arch/microblaze/include/asm/Kbuild45
-rw-r--r--arch/microblaze/include/asm/bitops.h1
-rw-r--r--arch/microblaze/include/asm/bug.h1
-rw-r--r--arch/microblaze/include/asm/bugs.h1
-rw-r--r--arch/microblaze/include/asm/div64.h1
-rw-r--r--arch/microblaze/include/asm/emergency-restart.h1
-rw-r--r--arch/microblaze/include/asm/fb.h1
-rw-r--r--arch/microblaze/include/asm/hardirq.h1
-rw-r--r--arch/microblaze/include/asm/irq_regs.h1
-rw-r--r--arch/microblaze/include/asm/kdebug.h1
-rw-r--r--arch/microblaze/include/asm/kmap_types.h6
-rw-r--r--arch/microblaze/include/asm/linkage.h1
-rw-r--r--arch/microblaze/include/asm/local.h1
-rw-r--r--arch/microblaze/include/asm/local64.h1
-rw-r--r--arch/microblaze/include/asm/parport.h1
-rw-r--r--arch/microblaze/include/asm/percpu.h1
-rw-r--r--arch/microblaze/include/asm/serial.h1
-rw-r--r--arch/microblaze/include/asm/shmparam.h1
-rw-r--r--arch/microblaze/include/asm/topology.h1
-rw-r--r--arch/microblaze/include/asm/ucontext.h1
-rw-r--r--arch/microblaze/include/asm/unistd.h2
-rw-r--r--arch/microblaze/include/asm/vga.h1
-rw-r--r--arch/microblaze/include/asm/xor.h1
-rw-r--r--arch/microblaze/include/uapi/asm/bitsperlong.h1
-rw-r--r--arch/microblaze/include/uapi/asm/errno.h1
-rw-r--r--arch/microblaze/include/uapi/asm/fcntl.h1
-rw-r--r--arch/microblaze/include/uapi/asm/ioctl.h1
-rw-r--r--arch/microblaze/include/uapi/asm/ioctls.h1
-rw-r--r--arch/microblaze/include/uapi/asm/ipcbuf.h1
-rw-r--r--arch/microblaze/include/uapi/asm/kvm_para.h1
-rw-r--r--arch/microblaze/include/uapi/asm/mman.h1
-rw-r--r--arch/microblaze/include/uapi/asm/msgbuf.h1
-rw-r--r--arch/microblaze/include/uapi/asm/param.h1
-rw-r--r--arch/microblaze/include/uapi/asm/poll.h1
-rw-r--r--arch/microblaze/include/uapi/asm/resource.h1
-rw-r--r--arch/microblaze/include/uapi/asm/sembuf.h1
-rw-r--r--arch/microblaze/include/uapi/asm/shmbuf.h1
-rw-r--r--arch/microblaze/include/uapi/asm/siginfo.h1
-rw-r--r--arch/microblaze/include/uapi/asm/signal.h1
-rw-r--r--arch/microblaze/include/uapi/asm/socket.h1
-rw-r--r--arch/microblaze/include/uapi/asm/sockios.h1
-rw-r--r--arch/microblaze/include/uapi/asm/stat.h1
-rw-r--r--arch/microblaze/include/uapi/asm/statfs.h1
-rw-r--r--arch/microblaze/include/uapi/asm/swab.h1
-rw-r--r--arch/microblaze/include/uapi/asm/termbits.h1
-rw-r--r--arch/microblaze/include/uapi/asm/termios.h1
-rw-r--r--arch/microblaze/include/uapi/asm/unistd.h1
-rw-r--r--arch/microblaze/kernel/dma.c3
-rw-r--r--arch/microblaze/kernel/entry.S28
-rw-r--r--arch/microblaze/kernel/syscall_table.S1
-rw-r--r--arch/microblaze/kernel/timer.c2
-rw-r--r--arch/microblaze/mm/highmem.c24
54 files changed, 90 insertions, 98 deletions
diff --git a/arch/microblaze/configs/mmu_defconfig b/arch/microblaze/configs/mmu_defconfig
index dc5dd5b69fde..92fd4e95b488 100644
--- a/arch/microblaze/configs/mmu_defconfig
+++ b/arch/microblaze/configs/mmu_defconfig
@@ -1,8 +1,6 @@
1CONFIG_SYSVIPC=y 1CONFIG_SYSVIPC=y
2CONFIG_POSIX_MQUEUE=y 2CONFIG_POSIX_MQUEUE=y
3CONFIG_FHANDLE=y
4CONFIG_AUDIT=y 3CONFIG_AUDIT=y
5CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
6CONFIG_IKCONFIG=y 4CONFIG_IKCONFIG=y
7CONFIG_IKCONFIG_PROC=y 5CONFIG_IKCONFIG_PROC=y
8CONFIG_SYSFS_DEPRECATED=y 6CONFIG_SYSFS_DEPRECATED=y
@@ -33,10 +31,12 @@ CONFIG_NET=y
33CONFIG_PACKET=y 31CONFIG_PACKET=y
34CONFIG_UNIX=y 32CONFIG_UNIX=y
35CONFIG_INET=y 33CONFIG_INET=y
36# CONFIG_INET_LRO is not set
37# CONFIG_IPV6 is not set 34# CONFIG_IPV6 is not set
35CONFIG_BRIDGE=m
38CONFIG_MTD=y 36CONFIG_MTD=y
39CONFIG_PROC_DEVICETREE=y 37CONFIG_MTD_CFI=y
38CONFIG_MTD_CFI_INTELEXT=y
39CONFIG_MTD_CFI_AMDSTD=y
40CONFIG_BLK_DEV_RAM=y 40CONFIG_BLK_DEV_RAM=y
41CONFIG_BLK_DEV_RAM_SIZE=8192 41CONFIG_BLK_DEV_RAM_SIZE=8192
42CONFIG_NETDEVICES=y 42CONFIG_NETDEVICES=y
@@ -47,9 +47,9 @@ CONFIG_XILINX_LL_TEMAC=y
47# CONFIG_VT is not set 47# CONFIG_VT is not set
48CONFIG_SERIAL_8250=y 48CONFIG_SERIAL_8250=y
49CONFIG_SERIAL_8250_CONSOLE=y 49CONFIG_SERIAL_8250_CONSOLE=y
50CONFIG_SERIAL_OF_PLATFORM=y
50CONFIG_SERIAL_UARTLITE=y 51CONFIG_SERIAL_UARTLITE=y
51CONFIG_SERIAL_UARTLITE_CONSOLE=y 52CONFIG_SERIAL_UARTLITE_CONSOLE=y
52CONFIG_SERIAL_OF_PLATFORM=y
53# CONFIG_HW_RANDOM is not set 53# CONFIG_HW_RANDOM is not set
54CONFIG_XILINX_HWICAP=y 54CONFIG_XILINX_HWICAP=y
55CONFIG_I2C=y 55CONFIG_I2C=y
@@ -66,7 +66,6 @@ CONFIG_FB=y
66CONFIG_FB_XILINX=y 66CONFIG_FB_XILINX=y
67# CONFIG_USB_SUPPORT is not set 67# CONFIG_USB_SUPPORT is not set
68CONFIG_UIO=y 68CONFIG_UIO=y
69CONFIG_UIO_PDRV=y
70CONFIG_UIO_PDRV_GENIRQ=y 69CONFIG_UIO_PDRV_GENIRQ=y
71CONFIG_UIO_DMEM_GENIRQ=y 70CONFIG_UIO_DMEM_GENIRQ=y
72CONFIG_EXT2_FS=y 71CONFIG_EXT2_FS=y
@@ -77,14 +76,13 @@ CONFIG_NFS_FS=y
77CONFIG_CIFS=y 76CONFIG_CIFS=y
78CONFIG_CIFS_STATS=y 77CONFIG_CIFS_STATS=y
79CONFIG_CIFS_STATS2=y 78CONFIG_CIFS_STATS2=y
80CONFIG_DETECT_HUNG_TASK=y 79CONFIG_DEBUG_INFO=y
81CONFIG_DEBUG_SLAB=y 80CONFIG_DEBUG_SLAB=y
81CONFIG_DETECT_HUNG_TASK=y
82CONFIG_DEBUG_SPINLOCK=y 82CONFIG_DEBUG_SPINLOCK=y
83CONFIG_DEBUG_INFO=y
84CONFIG_KGDB=y 83CONFIG_KGDB=y
85CONFIG_KGDB_TESTS=y 84CONFIG_KGDB_TESTS=y
86CONFIG_KGDB_KDB=y 85CONFIG_KGDB_KDB=y
87CONFIG_EARLY_PRINTK=y 86CONFIG_EARLY_PRINTK=y
88CONFIG_KEYS=y 87CONFIG_KEYS=y
89CONFIG_ENCRYPTED_KEYS=y 88CONFIG_ENCRYPTED_KEYS=y
90# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/microblaze/configs/nommu_defconfig b/arch/microblaze/configs/nommu_defconfig
index 4cdaf565e638..06d69a6e192d 100644
--- a/arch/microblaze/configs/nommu_defconfig
+++ b/arch/microblaze/configs/nommu_defconfig
@@ -1,9 +1,6 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y 1CONFIG_SYSVIPC=y
3CONFIG_POSIX_MQUEUE=y 2CONFIG_POSIX_MQUEUE=y
4CONFIG_FHANDLE=y
5CONFIG_AUDIT=y 3CONFIG_AUDIT=y
6CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
7CONFIG_BSD_PROCESS_ACCT=y 4CONFIG_BSD_PROCESS_ACCT=y
8CONFIG_BSD_PROCESS_ACCT_V3=y 5CONFIG_BSD_PROCESS_ACCT_V3=y
9CONFIG_IKCONFIG=y 6CONFIG_IKCONFIG=y
@@ -34,18 +31,15 @@ CONFIG_NET=y
34CONFIG_PACKET=y 31CONFIG_PACKET=y
35CONFIG_UNIX=y 32CONFIG_UNIX=y
36CONFIG_INET=y 33CONFIG_INET=y
37# CONFIG_INET_LRO is not set
38# CONFIG_IPV6 is not set 34# CONFIG_IPV6 is not set
39CONFIG_MTD=y 35CONFIG_MTD=y
40CONFIG_MTD_CMDLINE_PARTS=y 36CONFIG_MTD_CMDLINE_PARTS=y
41CONFIG_MTD_CHAR=y
42CONFIG_MTD_BLOCK=y 37CONFIG_MTD_BLOCK=y
43CONFIG_MTD_CFI=y 38CONFIG_MTD_CFI=y
44CONFIG_MTD_CFI_INTELEXT=y 39CONFIG_MTD_CFI_INTELEXT=y
45CONFIG_MTD_CFI_AMDSTD=y 40CONFIG_MTD_CFI_AMDSTD=y
46CONFIG_MTD_RAM=y 41CONFIG_MTD_RAM=y
47CONFIG_MTD_UCLINUX=y 42CONFIG_MTD_UCLINUX=y
48CONFIG_PROC_DEVICETREE=y
49CONFIG_BLK_DEV_RAM=y 43CONFIG_BLK_DEV_RAM=y
50CONFIG_BLK_DEV_RAM_SIZE=8192 44CONFIG_BLK_DEV_RAM_SIZE=8192
51CONFIG_NETDEVICES=y 45CONFIG_NETDEVICES=y
@@ -56,9 +50,9 @@ CONFIG_XILINX_LL_TEMAC=y
56# CONFIG_VT is not set 50# CONFIG_VT is not set
57CONFIG_SERIAL_8250=y 51CONFIG_SERIAL_8250=y
58CONFIG_SERIAL_8250_CONSOLE=y 52CONFIG_SERIAL_8250_CONSOLE=y
53CONFIG_SERIAL_OF_PLATFORM=y
59CONFIG_SERIAL_UARTLITE=y 54CONFIG_SERIAL_UARTLITE=y
60CONFIG_SERIAL_UARTLITE_CONSOLE=y 55CONFIG_SERIAL_UARTLITE_CONSOLE=y
61CONFIG_SERIAL_OF_PLATFORM=y
62# CONFIG_HW_RANDOM is not set 56# CONFIG_HW_RANDOM is not set
63CONFIG_XILINX_HWICAP=y 57CONFIG_XILINX_HWICAP=y
64CONFIG_I2C=y 58CONFIG_I2C=y
@@ -74,10 +68,6 @@ CONFIG_XILINX_WATCHDOG=y
74CONFIG_FB=y 68CONFIG_FB=y
75CONFIG_FB_XILINX=y 69CONFIG_FB_XILINX=y
76# CONFIG_USB_SUPPORT is not set 70# CONFIG_USB_SUPPORT is not set
77CONFIG_UIO=y
78CONFIG_UIO_PDRV=y
79CONFIG_UIO_PDRV_GENIRQ=y
80CONFIG_UIO_DMEM_GENIRQ=y
81CONFIG_EXT2_FS=y 71CONFIG_EXT2_FS=y
82# CONFIG_DNOTIFY is not set 72# CONFIG_DNOTIFY is not set
83CONFIG_CRAMFS=y 73CONFIG_CRAMFS=y
@@ -85,10 +75,10 @@ CONFIG_ROMFS_FS=y
85CONFIG_NFS_FS=y 75CONFIG_NFS_FS=y
86CONFIG_NFS_V3_ACL=y 76CONFIG_NFS_V3_ACL=y
87CONFIG_NLS=y 77CONFIG_NLS=y
88CONFIG_DETECT_HUNG_TASK=y 78CONFIG_DEBUG_INFO=y
89CONFIG_DEBUG_SLAB=y 79CONFIG_DEBUG_SLAB=y
80CONFIG_DETECT_HUNG_TASK=y
90CONFIG_DEBUG_SPINLOCK=y 81CONFIG_DEBUG_SPINLOCK=y
91CONFIG_DEBUG_INFO=y
92CONFIG_EARLY_PRINTK=y 82CONFIG_EARLY_PRINTK=y
93CONFIG_KEYS=y 83CONFIG_KEYS=y
94CONFIG_ENCRYPTED_KEYS=y 84CONFIG_ENCRYPTED_KEYS=y
@@ -97,4 +87,3 @@ CONFIG_CRYPTO_MD4=y
97CONFIG_CRYPTO_MD5=y 87CONFIG_CRYPTO_MD5=y
98CONFIG_CRYPTO_ARC4=y 88CONFIG_CRYPTO_ARC4=y
99CONFIG_CRYPTO_DES=y 89CONFIG_CRYPTO_DES=y
100# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild
index 56830ff65333..83a4ef3a2495 100644
--- a/arch/microblaze/include/asm/Kbuild
+++ b/arch/microblaze/include/asm/Kbuild
@@ -1,14 +1,57 @@
1 1
2generic-y += barrier.h 2generic-y += barrier.h
3generic-y += bitops.h
4generic-y += bitsperlong.h
5generic-y += bug.h
6generic-y += bugs.h
3generic-y += clkdev.h 7generic-y += clkdev.h
4generic-y += device.h 8generic-y += device.h
9generic-y += div64.h
10generic-y += emergency-restart.h
11generic-y += errno.h
5generic-y += exec.h 12generic-y += exec.h
6generic-y += extable.h 13generic-y += extable.h
14generic-y += fb.h
15generic-y += fcntl.h
16generic-y += hardirq.h
17generic-y += ioctl.h
18generic-y += ioctls.h
19generic-y += ipcbuf.h
20generic-y += irq_regs.h
7generic-y += irq_work.h 21generic-y += irq_work.h
22generic-y += kdebug.h
23generic-y += kmap_types.h
24generic-y += kprobes.h
25generic-y += linkage.h
26generic-y += local.h
27generic-y += local64.h
8generic-y += mcs_spinlock.h 28generic-y += mcs_spinlock.h
9generic-y += mm-arch-hooks.h 29generic-y += mm-arch-hooks.h
30generic-y += mman.h
31generic-y += msgbuf.h
32generic-y += param.h
33generic-y += parport.h
34generic-y += percpu.h
35generic-y += poll.h
10generic-y += preempt.h 36generic-y += preempt.h
37generic-y += resource.h
38generic-y += sembuf.h
39generic-y += serial.h
40generic-y += shmbuf.h
41generic-y += shmparam.h
42generic-y += siginfo.h
43generic-y += signal.h
44generic-y += socket.h
45generic-y += sockios.h
46generic-y += stat.h
47generic-y += statfs.h
48generic-y += swab.h
11generic-y += syscalls.h 49generic-y += syscalls.h
50generic-y += termbits.h
51generic-y += termios.h
52generic-y += topology.h
12generic-y += trace_clock.h 53generic-y += trace_clock.h
54generic-y += ucontext.h
55generic-y += vga.h
13generic-y += word-at-a-time.h 56generic-y += word-at-a-time.h
14generic-y += kprobes.h 57generic-y += xor.h
diff --git a/arch/microblaze/include/asm/bitops.h b/arch/microblaze/include/asm/bitops.h
deleted file mode 100644
index a72468f15c8b..000000000000
--- a/arch/microblaze/include/asm/bitops.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/bitops.h>
diff --git a/arch/microblaze/include/asm/bug.h b/arch/microblaze/include/asm/bug.h
deleted file mode 100644
index b12fd89e42e9..000000000000
--- a/arch/microblaze/include/asm/bug.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/bug.h>
diff --git a/arch/microblaze/include/asm/bugs.h b/arch/microblaze/include/asm/bugs.h
deleted file mode 100644
index 61791e1ad9f5..000000000000
--- a/arch/microblaze/include/asm/bugs.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/bugs.h>
diff --git a/arch/microblaze/include/asm/div64.h b/arch/microblaze/include/asm/div64.h
deleted file mode 100644
index 6cd978cefb28..000000000000
--- a/arch/microblaze/include/asm/div64.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/div64.h>
diff --git a/arch/microblaze/include/asm/emergency-restart.h b/arch/microblaze/include/asm/emergency-restart.h
deleted file mode 100644
index 3711bd9d50bd..000000000000
--- a/arch/microblaze/include/asm/emergency-restart.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/emergency-restart.h>
diff --git a/arch/microblaze/include/asm/fb.h b/arch/microblaze/include/asm/fb.h
deleted file mode 100644
index 3a4988e8df45..000000000000
--- a/arch/microblaze/include/asm/fb.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/fb.h>
diff --git a/arch/microblaze/include/asm/hardirq.h b/arch/microblaze/include/asm/hardirq.h
deleted file mode 100644
index fb3c05a0cbbf..000000000000
--- a/arch/microblaze/include/asm/hardirq.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/hardirq.h>
diff --git a/arch/microblaze/include/asm/irq_regs.h b/arch/microblaze/include/asm/irq_regs.h
deleted file mode 100644
index 3dd9c0b70270..000000000000
--- a/arch/microblaze/include/asm/irq_regs.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/irq_regs.h>
diff --git a/arch/microblaze/include/asm/kdebug.h b/arch/microblaze/include/asm/kdebug.h
deleted file mode 100644
index 6ece1b037665..000000000000
--- a/arch/microblaze/include/asm/kdebug.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/kdebug.h>
diff --git a/arch/microblaze/include/asm/kmap_types.h b/arch/microblaze/include/asm/kmap_types.h
deleted file mode 100644
index 25975252d83d..000000000000
--- a/arch/microblaze/include/asm/kmap_types.h
+++ /dev/null
@@ -1,6 +0,0 @@
1#ifndef _ASM_MICROBLAZE_KMAP_TYPES_H
2#define _ASM_MICROBLAZE_KMAP_TYPES_H
3
4#include <asm-generic/kmap_types.h>
5
6#endif /* _ASM_MICROBLAZE_KMAP_TYPES_H */
diff --git a/arch/microblaze/include/asm/linkage.h b/arch/microblaze/include/asm/linkage.h
deleted file mode 100644
index 0540bbaad897..000000000000
--- a/arch/microblaze/include/asm/linkage.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/linkage.h>
diff --git a/arch/microblaze/include/asm/local.h b/arch/microblaze/include/asm/local.h
deleted file mode 100644
index c11c530f74d0..000000000000
--- a/arch/microblaze/include/asm/local.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/local.h>
diff --git a/arch/microblaze/include/asm/local64.h b/arch/microblaze/include/asm/local64.h
deleted file mode 100644
index 36c93b5cc239..000000000000
--- a/arch/microblaze/include/asm/local64.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/local64.h>
diff --git a/arch/microblaze/include/asm/parport.h b/arch/microblaze/include/asm/parport.h
deleted file mode 100644
index cf252af64590..000000000000
--- a/arch/microblaze/include/asm/parport.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/parport.h>
diff --git a/arch/microblaze/include/asm/percpu.h b/arch/microblaze/include/asm/percpu.h
deleted file mode 100644
index 06a959d67234..000000000000
--- a/arch/microblaze/include/asm/percpu.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/percpu.h>
diff --git a/arch/microblaze/include/asm/serial.h b/arch/microblaze/include/asm/serial.h
deleted file mode 100644
index a0cb0caff152..000000000000
--- a/arch/microblaze/include/asm/serial.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/serial.h>
diff --git a/arch/microblaze/include/asm/shmparam.h b/arch/microblaze/include/asm/shmparam.h
deleted file mode 100644
index 93f30deb95d0..000000000000
--- a/arch/microblaze/include/asm/shmparam.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/shmparam.h>
diff --git a/arch/microblaze/include/asm/topology.h b/arch/microblaze/include/asm/topology.h
deleted file mode 100644
index 5428f333a02c..000000000000
--- a/arch/microblaze/include/asm/topology.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/topology.h>
diff --git a/arch/microblaze/include/asm/ucontext.h b/arch/microblaze/include/asm/ucontext.h
deleted file mode 100644
index 9bc07b9f30fb..000000000000
--- a/arch/microblaze/include/asm/ucontext.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/ucontext.h>
diff --git a/arch/microblaze/include/asm/unistd.h b/arch/microblaze/include/asm/unistd.h
index 032fed71223f..9774e1d9507b 100644
--- a/arch/microblaze/include/asm/unistd.h
+++ b/arch/microblaze/include/asm/unistd.h
@@ -38,6 +38,6 @@
38 38
39#endif /* __ASSEMBLY__ */ 39#endif /* __ASSEMBLY__ */
40 40
41#define __NR_syscalls 398 41#define __NR_syscalls 399
42 42
43#endif /* _ASM_MICROBLAZE_UNISTD_H */ 43#endif /* _ASM_MICROBLAZE_UNISTD_H */
diff --git a/arch/microblaze/include/asm/vga.h b/arch/microblaze/include/asm/vga.h
deleted file mode 100644
index 89d82fd8fcf1..000000000000
--- a/arch/microblaze/include/asm/vga.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/vga.h>
diff --git a/arch/microblaze/include/asm/xor.h b/arch/microblaze/include/asm/xor.h
deleted file mode 100644
index c82eb12a5b18..000000000000
--- a/arch/microblaze/include/asm/xor.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/xor.h>
diff --git a/arch/microblaze/include/uapi/asm/bitsperlong.h b/arch/microblaze/include/uapi/asm/bitsperlong.h
deleted file mode 100644
index 6dc0bb0c13b2..000000000000
--- a/arch/microblaze/include/uapi/asm/bitsperlong.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/bitsperlong.h>
diff --git a/arch/microblaze/include/uapi/asm/errno.h b/arch/microblaze/include/uapi/asm/errno.h
deleted file mode 100644
index 4c82b503d92f..000000000000
--- a/arch/microblaze/include/uapi/asm/errno.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/errno.h>
diff --git a/arch/microblaze/include/uapi/asm/fcntl.h b/arch/microblaze/include/uapi/asm/fcntl.h
deleted file mode 100644
index 46ab12db5739..000000000000
--- a/arch/microblaze/include/uapi/asm/fcntl.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/fcntl.h>
diff --git a/arch/microblaze/include/uapi/asm/ioctl.h b/arch/microblaze/include/uapi/asm/ioctl.h
deleted file mode 100644
index b279fe06dfe5..000000000000
--- a/arch/microblaze/include/uapi/asm/ioctl.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/ioctl.h>
diff --git a/arch/microblaze/include/uapi/asm/ioctls.h b/arch/microblaze/include/uapi/asm/ioctls.h
deleted file mode 100644
index ec34c760665e..000000000000
--- a/arch/microblaze/include/uapi/asm/ioctls.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/ioctls.h>
diff --git a/arch/microblaze/include/uapi/asm/ipcbuf.h b/arch/microblaze/include/uapi/asm/ipcbuf.h
deleted file mode 100644
index 84c7e51cb6d0..000000000000
--- a/arch/microblaze/include/uapi/asm/ipcbuf.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/ipcbuf.h>
diff --git a/arch/microblaze/include/uapi/asm/kvm_para.h b/arch/microblaze/include/uapi/asm/kvm_para.h
deleted file mode 100644
index 14fab8f0b957..000000000000
--- a/arch/microblaze/include/uapi/asm/kvm_para.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/kvm_para.h>
diff --git a/arch/microblaze/include/uapi/asm/mman.h b/arch/microblaze/include/uapi/asm/mman.h
deleted file mode 100644
index 8eebf89f5ab1..000000000000
--- a/arch/microblaze/include/uapi/asm/mman.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/mman.h>
diff --git a/arch/microblaze/include/uapi/asm/msgbuf.h b/arch/microblaze/include/uapi/asm/msgbuf.h
deleted file mode 100644
index 809134c644a6..000000000000
--- a/arch/microblaze/include/uapi/asm/msgbuf.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/msgbuf.h>
diff --git a/arch/microblaze/include/uapi/asm/param.h b/arch/microblaze/include/uapi/asm/param.h
deleted file mode 100644
index 965d45427975..000000000000
--- a/arch/microblaze/include/uapi/asm/param.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/param.h>
diff --git a/arch/microblaze/include/uapi/asm/poll.h b/arch/microblaze/include/uapi/asm/poll.h
deleted file mode 100644
index c98509d3149e..000000000000
--- a/arch/microblaze/include/uapi/asm/poll.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/poll.h>
diff --git a/arch/microblaze/include/uapi/asm/resource.h b/arch/microblaze/include/uapi/asm/resource.h
deleted file mode 100644
index 04bc4db8921b..000000000000
--- a/arch/microblaze/include/uapi/asm/resource.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/resource.h>
diff --git a/arch/microblaze/include/uapi/asm/sembuf.h b/arch/microblaze/include/uapi/asm/sembuf.h
deleted file mode 100644
index 7673b83cfef7..000000000000
--- a/arch/microblaze/include/uapi/asm/sembuf.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/sembuf.h>
diff --git a/arch/microblaze/include/uapi/asm/shmbuf.h b/arch/microblaze/include/uapi/asm/shmbuf.h
deleted file mode 100644
index 83c05fc2de38..000000000000
--- a/arch/microblaze/include/uapi/asm/shmbuf.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/shmbuf.h>
diff --git a/arch/microblaze/include/uapi/asm/siginfo.h b/arch/microblaze/include/uapi/asm/siginfo.h
deleted file mode 100644
index 0815d29d82e5..000000000000
--- a/arch/microblaze/include/uapi/asm/siginfo.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/siginfo.h>
diff --git a/arch/microblaze/include/uapi/asm/signal.h b/arch/microblaze/include/uapi/asm/signal.h
deleted file mode 100644
index 7b1573ce19de..000000000000
--- a/arch/microblaze/include/uapi/asm/signal.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/signal.h>
diff --git a/arch/microblaze/include/uapi/asm/socket.h b/arch/microblaze/include/uapi/asm/socket.h
deleted file mode 100644
index 6b71384b9d8b..000000000000
--- a/arch/microblaze/include/uapi/asm/socket.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/socket.h>
diff --git a/arch/microblaze/include/uapi/asm/sockios.h b/arch/microblaze/include/uapi/asm/sockios.h
deleted file mode 100644
index def6d4746ee7..000000000000
--- a/arch/microblaze/include/uapi/asm/sockios.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/sockios.h>
diff --git a/arch/microblaze/include/uapi/asm/stat.h b/arch/microblaze/include/uapi/asm/stat.h
deleted file mode 100644
index 3dc90fa92c70..000000000000
--- a/arch/microblaze/include/uapi/asm/stat.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/stat.h>
diff --git a/arch/microblaze/include/uapi/asm/statfs.h b/arch/microblaze/include/uapi/asm/statfs.h
deleted file mode 100644
index 0b91fe198c20..000000000000
--- a/arch/microblaze/include/uapi/asm/statfs.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/statfs.h>
diff --git a/arch/microblaze/include/uapi/asm/swab.h b/arch/microblaze/include/uapi/asm/swab.h
deleted file mode 100644
index 7847e563ab66..000000000000
--- a/arch/microblaze/include/uapi/asm/swab.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/swab.h>
diff --git a/arch/microblaze/include/uapi/asm/termbits.h b/arch/microblaze/include/uapi/asm/termbits.h
deleted file mode 100644
index 3935b106de79..000000000000
--- a/arch/microblaze/include/uapi/asm/termbits.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/termbits.h>
diff --git a/arch/microblaze/include/uapi/asm/termios.h b/arch/microblaze/include/uapi/asm/termios.h
deleted file mode 100644
index 280d78a9d966..000000000000
--- a/arch/microblaze/include/uapi/asm/termios.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <asm-generic/termios.h>
diff --git a/arch/microblaze/include/uapi/asm/unistd.h b/arch/microblaze/include/uapi/asm/unistd.h
index d8086159d996..a88b3c11cc20 100644
--- a/arch/microblaze/include/uapi/asm/unistd.h
+++ b/arch/microblaze/include/uapi/asm/unistd.h
@@ -413,5 +413,6 @@
413#define __NR_pkey_mprotect 395 413#define __NR_pkey_mprotect 395
414#define __NR_pkey_alloc 396 414#define __NR_pkey_alloc 396
415#define __NR_pkey_free 397 415#define __NR_pkey_free 397
416#define __NR_statx 398
416 417
417#endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */ 418#endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */
diff --git a/arch/microblaze/kernel/dma.c b/arch/microblaze/kernel/dma.c
index 12e093a03e60..e45ada8fb006 100644
--- a/arch/microblaze/kernel/dma.c
+++ b/arch/microblaze/kernel/dma.c
@@ -65,8 +65,7 @@ static int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl,
65 if (attrs & DMA_ATTR_SKIP_CPU_SYNC) 65 if (attrs & DMA_ATTR_SKIP_CPU_SYNC)
66 continue; 66 continue;
67 67
68 __dma_sync(page_to_phys(sg_page(sg)) + sg->offset, 68 __dma_sync(sg_phys(sg), sg->length, direction);
69 sg->length, direction);
70 } 69 }
71 70
72 return nents; 71 return nents;
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S
index ef548510b951..4e1b567becd6 100644
--- a/arch/microblaze/kernel/entry.S
+++ b/arch/microblaze/kernel/entry.S
@@ -208,9 +208,7 @@ syscall_debug_table:
208 mfs r11, rmsr; /* save MSR */ \ 208 mfs r11, rmsr; /* save MSR */ \
209 swi r11, r1, PT_MSR; 209 swi r11, r1, PT_MSR;
210 210
211#define RESTORE_REGS \ 211#define RESTORE_REGS_GP \
212 lwi r11, r1, PT_MSR; \
213 mts rmsr , r11; \
214 lwi r2, r1, PT_R2; /* restore SDA */ \ 212 lwi r2, r1, PT_R2; /* restore SDA */ \
215 lwi r3, r1, PT_R3; \ 213 lwi r3, r1, PT_R3; \
216 lwi r4, r1, PT_R4; \ 214 lwi r4, r1, PT_R4; \
@@ -242,6 +240,18 @@ syscall_debug_table:
242 lwi r30, r1, PT_R30; \ 240 lwi r30, r1, PT_R30; \
243 lwi r31, r1, PT_R31; /* Restore cur task reg */ 241 lwi r31, r1, PT_R31; /* Restore cur task reg */
244 242
243#define RESTORE_REGS \
244 lwi r11, r1, PT_MSR; \
245 mts rmsr , r11; \
246 RESTORE_REGS_GP
247
248#define RESTORE_REGS_RTBD \
249 lwi r11, r1, PT_MSR; \
250 andni r11, r11, MSR_EIP; /* clear EIP */ \
251 ori r11, r11, MSR_EE | MSR_BIP; /* set EE and BIP */ \
252 mts rmsr , r11; \
253 RESTORE_REGS_GP
254
245#define SAVE_STATE \ 255#define SAVE_STATE \
246 swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)); /* save stack */ \ 256 swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)); /* save stack */ \
247 /* See if already in kernel mode.*/ \ 257 /* See if already in kernel mode.*/ \
@@ -427,7 +437,7 @@ C_ENTRY(ret_from_trap):
427 swi CURRENT_TASK, r0, PER_CPU(CURRENT_SAVE); /* save current */ 437 swi CURRENT_TASK, r0, PER_CPU(CURRENT_SAVE); /* save current */
428 VM_OFF; 438 VM_OFF;
429 tophys(r1,r1); 439 tophys(r1,r1);
430 RESTORE_REGS; 440 RESTORE_REGS_RTBD;
431 addik r1, r1, PT_SIZE /* Clean up stack space. */ 441 addik r1, r1, PT_SIZE /* Clean up stack space. */
432 lwi r1, r1, PT_R1 - PT_SIZE;/* Restore user stack pointer. */ 442 lwi r1, r1, PT_R1 - PT_SIZE;/* Restore user stack pointer. */
433 bri 6f; 443 bri 6f;
@@ -436,7 +446,7 @@ C_ENTRY(ret_from_trap):
4362: set_bip; /* Ints masked for state restore */ 4462: set_bip; /* Ints masked for state restore */
437 VM_OFF; 447 VM_OFF;
438 tophys(r1,r1); 448 tophys(r1,r1);
439 RESTORE_REGS; 449 RESTORE_REGS_RTBD;
440 addik r1, r1, PT_SIZE /* Clean up stack space. */ 450 addik r1, r1, PT_SIZE /* Clean up stack space. */
441 tovirt(r1,r1); 451 tovirt(r1,r1);
4426: 4526:
@@ -612,7 +622,7 @@ C_ENTRY(ret_from_exc):
612 VM_OFF; 622 VM_OFF;
613 tophys(r1,r1); 623 tophys(r1,r1);
614 624
615 RESTORE_REGS; 625 RESTORE_REGS_RTBD;
616 addik r1, r1, PT_SIZE /* Clean up stack space. */ 626 addik r1, r1, PT_SIZE /* Clean up stack space. */
617 627
618 lwi r1, r1, PT_R1 - PT_SIZE; /* Restore user stack pointer. */ 628 lwi r1, r1, PT_R1 - PT_SIZE; /* Restore user stack pointer. */
@@ -621,7 +631,7 @@ C_ENTRY(ret_from_exc):
6212: set_bip; /* Ints masked for state restore */ 6312: set_bip; /* Ints masked for state restore */
622 VM_OFF; 632 VM_OFF;
623 tophys(r1,r1); 633 tophys(r1,r1);
624 RESTORE_REGS; 634 RESTORE_REGS_RTBD;
625 addik r1, r1, PT_SIZE /* Clean up stack space. */ 635 addik r1, r1, PT_SIZE /* Clean up stack space. */
626 636
627 tovirt(r1,r1); 637 tovirt(r1,r1);
@@ -847,7 +857,7 @@ dbtrap_call: /* Return point for kernel/user entry + 8 because of rtsd r15, 8 */
847 VM_OFF; 857 VM_OFF;
848 tophys(r1,r1); 858 tophys(r1,r1);
849 /* MS: Restore all regs */ 859 /* MS: Restore all regs */
850 RESTORE_REGS 860 RESTORE_REGS_RTBD
851 addik r1, r1, PT_SIZE /* Clean up stack space */ 861 addik r1, r1, PT_SIZE /* Clean up stack space */
852 lwi r1, r1, PT_R1 - PT_SIZE; /* Restore user stack pointer */ 862 lwi r1, r1, PT_R1 - PT_SIZE; /* Restore user stack pointer */
853DBTRAP_return_user: /* MS: Make global symbol for debugging */ 863DBTRAP_return_user: /* MS: Make global symbol for debugging */
@@ -858,7 +868,7 @@ DBTRAP_return_user: /* MS: Make global symbol for debugging */
8582: VM_OFF; 8682: VM_OFF;
859 tophys(r1,r1); 869 tophys(r1,r1);
860 /* MS: Restore all regs */ 870 /* MS: Restore all regs */
861 RESTORE_REGS 871 RESTORE_REGS_RTBD
862 lwi r14, r1, PT_R14; 872 lwi r14, r1, PT_R14;
863 lwi r16, r1, PT_PC; 873 lwi r16, r1, PT_PC;
864 addik r1, r1, PT_SIZE; /* MS: Clean up stack space */ 874 addik r1, r1, PT_SIZE; /* MS: Clean up stack space */
diff --git a/arch/microblaze/kernel/syscall_table.S b/arch/microblaze/kernel/syscall_table.S
index 6841c2df14d9..c48ff4ad2070 100644
--- a/arch/microblaze/kernel/syscall_table.S
+++ b/arch/microblaze/kernel/syscall_table.S
@@ -398,3 +398,4 @@ ENTRY(sys_call_table)
398 .long sys_pkey_mprotect /* 395 */ 398 .long sys_pkey_mprotect /* 395 */
399 .long sys_pkey_alloc 399 .long sys_pkey_alloc
400 .long sys_pkey_free 400 .long sys_pkey_free
401 .long sys_statx
diff --git a/arch/microblaze/kernel/timer.c b/arch/microblaze/kernel/timer.c
index 999066192715..545ccd46edb3 100644
--- a/arch/microblaze/kernel/timer.c
+++ b/arch/microblaze/kernel/timer.c
@@ -178,8 +178,10 @@ static __init int xilinx_clockevent_init(void)
178 clockevent_xilinx_timer.shift); 178 clockevent_xilinx_timer.shift);
179 clockevent_xilinx_timer.max_delta_ns = 179 clockevent_xilinx_timer.max_delta_ns =
180 clockevent_delta2ns((u32)~0, &clockevent_xilinx_timer); 180 clockevent_delta2ns((u32)~0, &clockevent_xilinx_timer);
181 clockevent_xilinx_timer.max_delta_ticks = (u32)~0;
181 clockevent_xilinx_timer.min_delta_ns = 182 clockevent_xilinx_timer.min_delta_ns =
182 clockevent_delta2ns(1, &clockevent_xilinx_timer); 183 clockevent_delta2ns(1, &clockevent_xilinx_timer);
184 clockevent_xilinx_timer.min_delta_ticks = 1;
183 clockevent_xilinx_timer.cpumask = cpumask_of(0); 185 clockevent_xilinx_timer.cpumask = cpumask_of(0);
184 clockevents_register_device(&clockevent_xilinx_timer); 186 clockevents_register_device(&clockevent_xilinx_timer);
185 187
diff --git a/arch/microblaze/mm/highmem.c b/arch/microblaze/mm/highmem.c
index 2fcc5a52d84d..ed4454c5ce35 100644
--- a/arch/microblaze/mm/highmem.c
+++ b/arch/microblaze/mm/highmem.c
@@ -60,6 +60,7 @@ void __kunmap_atomic(void *kvaddr)
60{ 60{
61 unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK; 61 unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK;
62 int type; 62 int type;
63 unsigned int idx;
63 64
64 if (vaddr < __fix_to_virt(FIX_KMAP_END)) { 65 if (vaddr < __fix_to_virt(FIX_KMAP_END)) {
65 pagefault_enable(); 66 pagefault_enable();
@@ -68,21 +69,18 @@ void __kunmap_atomic(void *kvaddr)
68 } 69 }
69 70
70 type = kmap_atomic_idx(); 71 type = kmap_atomic_idx();
71#ifdef CONFIG_DEBUG_HIGHMEM
72 {
73 unsigned int idx;
74
75 idx = type + KM_TYPE_NR * smp_processor_id();
76 BUG_ON(vaddr != __fix_to_virt(FIX_KMAP_BEGIN + idx));
77 72
78 /* 73 idx = type + KM_TYPE_NR * smp_processor_id();
79 * force other mappings to Oops if they'll try to access 74#ifdef CONFIG_DEBUG_HIGHMEM
80 * this pte without first remap it 75 BUG_ON(vaddr != __fix_to_virt(FIX_KMAP_BEGIN + idx));
81 */
82 pte_clear(&init_mm, vaddr, kmap_pte-idx);
83 local_flush_tlb_page(NULL, vaddr);
84 }
85#endif 76#endif
77 /*
78 * force other mappings to Oops if they'll try to access
79 * this pte without first remap it
80 */
81 pte_clear(&init_mm, vaddr, kmap_pte-idx);
82 local_flush_tlb_page(NULL, vaddr);
83
86 kmap_atomic_idx_pop(); 84 kmap_atomic_idx_pop();
87 pagefault_enable(); 85 pagefault_enable();
88 preempt_enable(); 86 preempt_enable();