]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 5 Apr 2009 18:15:54 +0000 (11:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 5 Apr 2009 18:15:54 +0000 (11:15 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits)
  sh: sh7785lcr: Map whole PCI address space.
  sh: Fix up DSP context save/restore.
  sh: Fix up number of on-chip DMA channels on SH7091.
  sh: update defconfigs.
  sh: Kill off broken direct-mapped cache mode.
  sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle.
  sh: Add a command line option for disabling I/O trapping.
  sh: Select ARCH_HIBERNATION_POSSIBLE.
  sh: migor: Fix up CEU use flags.
  input: migor_ts: add wakeup support
  rtc: rtc-sh: use set_irq_wake()
  input: sh_keysc: use enable/disable_irq_wake()
  sh: intc: set_irq_wake() support
  sh: intc: install enable, disable and shutdown callbacks
  clocksource: sh_cmt: use remove_irq() and remove clockevent workaround
  sh: ap325 and Migo-R use new sh_mobile_ceu_info flags
  sh: Fix up -Wformat-security whining.
  sh: ap325rxa: Add ov772x support, again.
  sh: Sanitize asm/mmu.h for assembly use.
  sh: Tidy up sh7786 pinmux table.
  ...

1  2 
Documentation/kernel-parameters.txt
arch/sh/Kconfig
arch/sh/kernel/process_32.c

index 8932c58850bec159f7ef12be63f943b231ec703f,8b2067cceadce28f8b4b319dd50df2b59a956a2e..8e3f6e94386682dbcfa6379ea660d5d0daacc9ad
@@@ -50,7 -50,6 +50,7 @@@ parameter is applicable
        ISAPNP  ISA PnP code is enabled.
        ISDN    Appropriate ISDN support is enabled.
        JOY     Appropriate joystick support is enabled.
 +      KMEMTRACE kmemtrace is enabled.
        LIBATA  Libata driver is enabled
        LP      Printer support is enabled.
        LOOP    Loopback device support is enabled.
@@@ -618,9 -617,6 +618,9 @@@ and is between 256 and 4096 characters
  
        debug_objects   [KNL] Enable object debugging
  
 +      no_debug_objects
 +                      [KNL] Disable object debugging
 +
        debugpat        [X86] Enable PAT debugging
  
        decnet.addr=    [HW,NET]
                        use the HighMem zone if it exists, and the Normal
                        zone if it does not.
  
 +      kmemtrace.enable=       [KNL,KMEMTRACE] Format: { yes | no }
 +                              Controls whether kmemtrace is enabled
 +                              at boot-time.
 +
 +      kmemtrace.subbufs=n     [KNL,KMEMTRACE] Overrides the number of
 +                      subbufs kmemtrace's relay channel has. Set this
 +                      higher than default (KMEMTRACE_N_SUBBUFS in code) if
 +                      you experience buffer overruns.
 +
        movablecore=nn[KMG]     [KNL,X86-32,IA-64,PPC,X86-64] This parameter
                        is similar to kernelcore except it specifies the
                        amount of memory used for migratable allocations.
  
        noclflush       [BUGS=X86] Don't use the CLFLUSH instruction
  
 -      nohlt           [BUGS=ARM,SH]
 +      nohlt           [BUGS=ARM,SH] Tells the kernel that the sleep(SH) or
 +                      wfi(ARM) instruction doesn't work correctly and not to
 +                      use it. This is also useful when using JTAG debugger.
  
        no-hlt          [BUGS=X86-32] Tells the kernel that the hlt
                        instruction doesn't work correctly and not to
                        Valid arguments: on, off
                        Default: on
  
+       noiotrap        [SH] Disables trapped I/O port accesses.
        noirqdebug      [X86-32] Disables the code which attempts to detect and
                        disable unhandled interrupt sources.
  
        nosoftlockup    [KNL] Disable the soft-lockup detector.
  
        noswapaccount   [KNL] Disable accounting of swap in memory resource
 -                      controller. (See Documentation/controllers/memory.txt)
 +                      controller. (See Documentation/cgroups/memory.txt)
  
        nosync          [HW,M68K] Disables sync negotiation for all devices.
  
  
        relax_domain_level=
                        [KNL, SMP] Set scheduler's default relax_domain_level.
 -                      See Documentation/cpusets.txt.
 +                      See Documentation/cgroups/cpusets.txt.
  
        reserve=        [KNL,BUGS] Force the kernel to ignore some iomem area
  
  
        tp720=          [HW,PS2]
  
 +      trace_buf_size=nn[KMG] [ftrace] will set tracing buffer size.
 +
        trix=           [HW,OSS] MediaTrix AudioTrix Pro
                        Format:
                        <io>,<irq>,<dma>,<dma2>,<sb_io>,<sb_irq>,<sb_dma>,<mpu_io>,<mpu_irq>
diff --combined arch/sh/Kconfig
index 2d52b515c2418a7ca4a3993a2f6d58957b7b6755,6a1e79b886c194e66574c2644b06d825830d8382..5e4babecf934067645ff92704a25cb0bb2458a1a
@@@ -28,6 -28,7 +28,7 @@@ config SUPERH3
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_DYNAMIC_FTRACE
        select HAVE_ARCH_KGDB
+       select ARCH_HIBERNATION_POSSIBLE if MMU
  
  config SUPERH64
        def_bool y if CPU_SH5
@@@ -129,6 -130,9 +130,9 @@@ config ARCH_HAS_ILOG2_U6
  config ARCH_NO_VIRT_TO_BUS
        def_bool y
  
+ config ARCH_HAS_DEFAULT_IDLE
+       def_bool y
  config IO_TRAPPED
        bool
  
@@@ -530,7 -534,7 +534,7 @@@ source kernel/Kconfig.h
  
  config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
-       depends on SUPERH32 && EXPERIMENTAL
+       depends on SUPERH32 && EXPERIMENTAL && MMU
        help
          kexec is a system call that implements the ability to shutdown your
          current kernel, and to start another kernel.  It is like a reboot
@@@ -640,10 -644,10 +644,10 @@@ config GUSA_R
        depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
        help
          Enabling this option will allow the kernel to implement some
 -        atomic operations using a software implemention of load-locked/
 +        atomic operations using a software implementation of load-locked/
          store-conditional (LLSC). On machines which do not have hardware
          LLSC, this should be more efficient than the other alternative of
 -        disabling insterrupts around the atomic sequence.
 +        disabling interrupts around the atomic sequence.
  
  endmenu
  
index 694bc15f84fdd9ddbc14839999e7bb6c9f27b9e5,0747fabd73a7d117e8d3bbdd942ec20f2147b910..6d94725d22f24d3344dfa79ad602674e46cab440
@@@ -170,20 -170,32 +170,32 @@@ int dump_fpu(struct pt_regs *regs, elf_
  
  asmlinkage void ret_from_fork(void);
  
 -int copy_thread(int nr, unsigned long clone_flags, unsigned long usp,
 +int copy_thread(unsigned long clone_flags, unsigned long usp,
                unsigned long unused,
                struct task_struct *p, struct pt_regs *regs)
  {
        struct thread_info *ti = task_thread_info(p);
        struct pt_regs *childregs;
- #if defined(CONFIG_SH_FPU)
+ #if defined(CONFIG_SH_FPU) || defined(CONFIG_SH_DSP)
        struct task_struct *tsk = current;
+ #endif
  
+ #if defined(CONFIG_SH_FPU)
        unlazy_fpu(tsk, regs);
        p->thread.fpu = tsk->thread.fpu;
        copy_to_stopped_child_used_math(p);
  #endif
  
+ #if defined(CONFIG_SH_DSP)
+       if (is_dsp_enabled(tsk)) {
+               /* We can use the __save_dsp or just copy the struct:
+                * __save_dsp(p);
+                * p->thread.dsp_status.status |= SR_DSP
+                */
+               p->thread.dsp_status = tsk->thread.dsp_status;
+       }
+ #endif
        childregs = task_pt_regs(p);
        *childregs = *regs;