Merge tag 'microblaze-3.13-rc1' of git://git.monstr.eu/linux-2.6-microblaze
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 12 Nov 2013 05:28:55 +0000 (14:28 +0900)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 12 Nov 2013 05:28:55 +0000 (14:28 +0900)
Pull microblaze updates from Michal Simek:
 - Get rid of NO_MMU Kconfig
 - mmap2 fixups
 - Some minor cleanups

* tag 'microblaze-3.13-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
  microblaze: Remove incorrect file path
  microblaze: Fix bug with mmap2 syscall MB implementation
  microblaze: Use predefined SYSCALL_DEFINE macro
  microblaze: Remove deprecated IRQF_DISABLED
  microblaze: Calculate kernel pad automatically
  microblaze: Remove unused NO_MMU Kconfig parameter

arch/microblaze/Kconfig
arch/microblaze/boot/dts/Makefile
arch/microblaze/kernel/head.S
arch/microblaze/kernel/hw_exception_handler.S
arch/microblaze/kernel/sys_microblaze.c
arch/microblaze/kernel/syscall_table.S
arch/microblaze/kernel/timer.c

index b82f82b..655e1ca 100644 (file)
@@ -82,11 +82,6 @@ config MMU
        bool "MMU support"
        default n
 
-config NO_MMU
-       bool
-       depends on !MMU
-       default y
-
 comment "Boot options"
 
 config CMDLINE_BOOL
@@ -250,10 +245,6 @@ config MICROBLAZE_64K_PAGES
 
 endchoice
 
-config KERNEL_PAD
-       hex "Kernel PAD for unpacking" if ADVANCED_OPTIONS
-       default "0x80000" if MMU
-
 endmenu
 
 source "mm/Kconfig"
index c3b3a5d..c4982d1 100644 (file)
@@ -1,6 +1,4 @@
 #
-# arch/microblaze/boot/Makefile
-#
 
 obj-y += linked_dtb.o
 
index fcc797f..817b7ee 100644 (file)
@@ -176,7 +176,7 @@ _invalidate:
        /* start to do TLB calculation */
        addik   r12, r0, _end
        rsub    r12, r3, r12
-       addik   r12, r12, CONFIG_KERNEL_PAD /* that's the pad */
+       addik   r12, r12, CONFIG_LOWMEM_SIZE >> PTE_SHIFT /* that's the pad */
 
        or r9, r0, r0 /* TLB0 = 0 */
        or r10, r0, r0 /* TLB1 = 0 */
index 61b3a1f..fc6b89f 100644 (file)
  *      -                            W   S   REG   EXC
  *
  *
- * STACK FRAME STRUCTURE (for NO_MMU)
- * ---------------------------------
+ * STACK FRAME STRUCTURE (for CONFIG_MMU=n)
+ * ----------------------------------------
  *
  *      +-------------+         + 0
  *      |     MSR     |
index f905b3a..f1e1f66 100644 (file)
 #include <linux/slab.h>
 #include <asm/syscalls.h>
 
-asmlinkage long sys_mmap(unsigned long addr, unsigned long len,
-                       unsigned long prot, unsigned long flags,
-                       unsigned long fd, off_t pgoff)
+SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
+               unsigned long, prot, unsigned long, flags, unsigned long, fd,
+               off_t, pgoff)
 {
        if (pgoff & ~PAGE_MASK)
                return -EINVAL;
 
        return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff >> PAGE_SHIFT);
 }
+
+SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len,
+               unsigned long, prot, unsigned long, flags, unsigned long, fd,
+               unsigned long, pgoff)
+{
+       if (pgoff & (~PAGE_MASK >> 12))
+               return -EINVAL;
+
+       return sys_mmap_pgoff(addr, len, prot, flags, fd,
+                             pgoff >> (PAGE_SHIFT - 12));
+}
index 4fca56c..b882ad5 100644 (file)
@@ -192,7 +192,7 @@ ENTRY(sys_call_table)
        .long sys_ni_syscall            /* reserved for streams2 */
        .long sys_vfork         /* 190 */
        .long sys_getrlimit
-       .long sys_mmap_pgoff            /* mmap2 */
+       .long sys_mmap2
        .long sys_truncate64
        .long sys_ftruncate64
        .long sys_stat64                /* 195 */
index e4b3f33..d7abb71 100644 (file)
@@ -148,7 +148,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
 
 static struct irqaction timer_irqaction = {
        .handler = timer_interrupt,
-       .flags = IRQF_DISABLED | IRQF_TIMER,
+       .flags = IRQF_TIMER,
        .name = "timer",
        .dev_id = &clockevent_xilinx_timer,
 };