Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 22 Feb 2015 03:41:38 +0000 (19:41 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 22 Feb 2015 03:41:38 +0000 (19:41 -0800)
Pull MIPS updates from Ralf Baechle:
 "This is the main pull request for MIPS:

   - a number of fixes that didn't make the 3.19 release.

   - a number of cleanups.

   - preliminary support for Cavium's Octeon 3 SOCs which feature up to
     48 MIPS64 R3 cores with FPU and hardware virtualization.

   - support for MIPS R6 processors.

     Revision 6 of the MIPS architecture is a major revision of the MIPS
     architecture which does away with many of original sins of the
     architecture such as branch delay slots.  This and other changes in
     R6 require major changes throughout the entire MIPS core
     architecture code and make up for the lion share of this pull
     request.

   - finally some preparatory work for eXtendend Physical Address
     support, which allows support of up to 40 bit of physical address
     space on 32 bit processors"

     [ Ahh, MIPS can't leave the PAE brain damage alone.  It's like
       every CPU architect has to make that mistake, but pee in the snow
       by changing the TLA.  But whether it's called PAE, LPAE or XPA,
       it's horrid crud   - Linus ]

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (114 commits)
  MIPS: sead3: Corrected get_c0_perfcount_int
  MIPS: mm: Remove dead macro definitions
  MIPS: OCTEON: irq: add CIB and other fixes
  MIPS: OCTEON: Don't do acknowledge operations for level triggered irqs.
  MIPS: OCTEON: More OCTEONIII support
  MIPS: OCTEON: Remove setting of processor specific CVMCTL icache bits.
  MIPS: OCTEON: Core-15169 Workaround and general CVMSEG cleanup.
  MIPS: OCTEON: Update octeon-model.h code for new SoCs.
  MIPS: OCTEON: Implement DCache errata workaround for all CN6XXX
  MIPS: OCTEON: Add little-endian support to asm/octeon/octeon.h
  MIPS: OCTEON: Implement the core-16057 workaround
  MIPS: OCTEON: Delete unused COP2 saving code
  MIPS: OCTEON: Use correct instruction to read 64-bit COP0 register
  MIPS: OCTEON: Save and restore CP2 SHA3 state
  MIPS: OCTEON: Fix FP context save.
  MIPS: OCTEON: Save/Restore wider multiply registers in OCTEON III CPUs
  MIPS: boot: Provide more uImage options
  MIPS: Remove unneeded #ifdef __KERNEL__ from asm/processor.h
  MIPS: ip22-gio: Remove legacy suspend/resume support
  mips: pci: Add ifdef around pci_proc_domain
  ...

15 files changed:
1  2 
arch/mips/Kconfig
arch/mips/alchemy/common/clock.c
arch/mips/boot/elf2ecoff.c
arch/mips/include/asm/fpu.h
arch/mips/include/asm/mipsregs.h
arch/mips/include/asm/octeon/octeon.h
arch/mips/include/asm/pgtable-bits.h
arch/mips/include/asm/pgtable.h
arch/mips/include/asm/thread_info.h
arch/mips/kernel/asm-offsets.c
arch/mips/kernel/process.c
arch/mips/kernel/traps.c
arch/mips/mm/fault.c
drivers/irqchip/irq-mips-gic.c
kernel/sys.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index fc807aa5ec8d7593ef8bda4c13e184ae31d79a70,156fd6eb1e037d64782ccb9ab04bffaa1e0c27d2..91747c282bb3fb3f1f6560cb5a722089aac9741e
  
  #endif /* defined(CONFIG_PHYS_ADDR_T_64BIT && defined(CONFIG_CPU_MIPS32) */
  
- #ifndef _PFN_SHIFT
- #define _PFN_SHIFT                PAGE_SHIFT
- #endif
 -/*
 - * _PAGE_FILE semantics: set:pagecache unset:swap
 - */
 -#define _PAGE_FILE            _PAGE_MODIFIED
+ #define _PAGE_SILENT_READ     _PAGE_VALID
+ #define _PAGE_SILENT_WRITE    _PAGE_DIRTY
  #define _PFN_MASK             (~((1 << (_PFN_SHIFT)) - 1))
  
  #ifndef _PAGE_NO_READ
Simple merge
Simple merge
index 3b2dfdb4865fd9cbe208e41ca38e709db952c0e1,dad6ce602a7c3694d420360e20d7bd2401e9f6df..750d67ac41e9b19affe066d5be8d1f56f7363041
@@@ -97,7 -97,9 +97,8 @@@ void output_thread_info_defines(void
        OFFSET(TI_TP_VALUE, thread_info, tp_value);
        OFFSET(TI_CPU, thread_info, cpu);
        OFFSET(TI_PRE_COUNT, thread_info, preempt_count);
+       OFFSET(TI_R2_EMUL_RET, thread_info, r2_emul_return);
        OFFSET(TI_ADDR_LIMIT, thread_info, addr_limit);
 -      OFFSET(TI_RESTART_BLOCK, thread_info, restart_block);
        OFFSET(TI_REGS, thread_info, regs);
        DEFINE(_THREAD_SIZE, THREAD_SIZE);
        DEFINE(_THREAD_MASK, THREAD_MASK);
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc kernel/sys.c
index ea9c881098941ecd9bbb42fa69a3ddb958d2ec41,08b16bbdcdf0af8617766a30342962d17b674226..667b2e62fad25bffd03109b4468fd3cbd4af00bf
@@@ -2215,10 -2219,14 +2221,16 @@@ SYSCALL_DEFINE5(prctl, int, option, uns
                error = MPX_ENABLE_MANAGEMENT(me);
                break;
        case PR_MPX_DISABLE_MANAGEMENT:
 +              if (arg2 || arg3 || arg4 || arg5)
 +                      return -EINVAL;
                error = MPX_DISABLE_MANAGEMENT(me);
                break;
+       case PR_SET_FP_MODE:
+               error = SET_FP_MODE(me, arg2);
+               break;
+       case PR_GET_FP_MODE:
+               error = GET_FP_MODE(me);
+               break;
        default:
                error = -EINVAL;
                break;