1. 31 7月, 2012 1 次提交
  2. 22 7月, 2012 1 次提交
    • G
      m68k/apollo: Rename "timer" to "apollo_timer" · 1525e06e
      Geert Uytterhoeven 提交于
      In file included from include/linux/kgdb.h:17,
                       from include/linux/fb.h:8,
                       from drivers/video/dnfb.c:15:
      include/linux/serial_8250.h:71: error: expected identifier or ‘(’ before numeric constant
      include/linux/serial_8250.h:72: error: expected ‘;’ before ‘struct’
      make[1]: *** [drivers/video/dnfb.o] Error 1
      
      This is caused by
      
          #define timer (IO_BASE + timer_physaddr)
      
      in <asm/apollohw.h>, which conflicts with the new "timer" struct member in
      <linux/serial_8250.h>.
      
      Rename "timer" to "apollo_timer", as it's a way too generic name for a
      global #define.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      --
      http://kisskb.ellerman.id.au/kisskb/buildresult/6739606/
      1525e06e
  3. 17 7月, 2012 4 次提交
  4. 16 7月, 2012 8 次提交
  5. 12 7月, 2012 2 次提交
  6. 27 6月, 2012 4 次提交
  7. 12 6月, 2012 1 次提交
  8. 10 6月, 2012 4 次提交
  9. 06 6月, 2012 1 次提交
  10. 31 5月, 2012 1 次提交
  11. 22 5月, 2012 1 次提交
    • A
      m68k: add TIF_NOTIFY_RESUME and handle it. · a54f1655
      Al Viro 提交于
      TIF_NOTIFY_RESUME added (as bit 5).  That way nommu glue needs no changes at
      all; mmu one needs just to replace jmi do_signal_return to jne do_signal_return
      There we have flags shifted up, until bit 6 (SIGPENDING) is in MSBit; instead
      of checking that MSBit is set (jmi) we check that MSBit or something below it
      is set (jne); bits 0..4 are never set, so that's precisely "bit 6 or bit 5 is
      set".
      
      Usual handling of NOTIFY_RESUME/SIGPENDING is done in do_notify_resume(); glue
      calls it instead of do_signal().
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      a54f1655
  12. 20 5月, 2012 6 次提交
  13. 17 5月, 2012 1 次提交
    • S
      fork: move the real prepare_to_copy() users to arch_dup_task_struct() · 55ccf3fe
      Suresh Siddha 提交于
      Historical prepare_to_copy() is mostly a no-op, duplicated for majority of
      the architectures and the rest following the x86 model of flushing the extended
      register state like fpu there.
      
      Remove it and use the arch_dup_task_struct() instead.
      Suggested-by: NOleg Nesterov <oleg@redhat.com>
      Suggested-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Link: http://lkml.kernel.org/r/1336692811-30576-1-git-send-email-suresh.b.siddha@intel.comAcked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: James E.J. Bottomley <jejb@parisc-linux.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Chen Liqin <liqin.chen@sunplusct.com>
      Cc: Lennox Wu <lennox.wu@gmail.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      55ccf3fe
  14. 23 4月, 2012 5 次提交
    • M
      m68k: Correct the Atari ALLOWINT definition · c6636005
      Mikael Pettersson 提交于
      Booting a 3.2, 3.3, or 3.4-rc4 kernel on an Atari using the
      `nfeth' ethernet device triggers a WARN_ONCE() in generic irq
      handling code on the first irq for that device:
      
      WARNING: at kernel/irq/handle.c:146 handle_irq_event_percpu+0x134/0x142()
      irq 3 handler nfeth_interrupt+0x0/0x194 enabled interrupts
      Modules linked in:
      Call Trace: [<000299b2>] warn_slowpath_common+0x48/0x6a
       [<000299c0>] warn_slowpath_common+0x56/0x6a
       [<00029a4c>] warn_slowpath_fmt+0x2a/0x32
       [<0005b34c>] handle_irq_event_percpu+0x134/0x142
       [<0005b34c>] handle_irq_event_percpu+0x134/0x142
       [<0000a584>] nfeth_interrupt+0x0/0x194
       [<001ba0a8>] schedule_preempt_disabled+0x0/0xc
       [<0005b37a>] handle_irq_event+0x20/0x2c
       [<0005add4>] generic_handle_irq+0x2c/0x3a
       [<00002ab6>] do_IRQ+0x20/0x32
       [<0000289e>] auto_irqhandler_fixup+0x4/0x6
       [<00003144>] cpu_idle+0x22/0x2e
       [<001b8a78>] printk+0x0/0x18
       [<0024d112>] start_kernel+0x37a/0x386
       [<0003021d>] __do_proc_dointvec+0xb1/0x366
       [<0003021d>] __do_proc_dointvec+0xb1/0x366
       [<0024c31e>] _sinittext+0x31e/0x9c0
      
      After invoking the irq's handler the kernel sees !irqs_disabled()
      and concludes that the handler erroneously enabled interrupts.
      
      However, debugging shows that !irqs_disabled() is true even before
      the handler is invoked, which indicates a problem in the platform
      code rather than the specific driver.
      
      The warning does not occur in 3.1 or older kernels.
      
      It turns out that the ALLOWINT definition for Atari is incorrect.
      
      The Atari definition of ALLOWINT is ~0x400, the stated purpose of
      that is to avoid taking HSYNC interrupts.  irqs_disabled() returns
      true if the 3-bit ipl & 4 is non-zero.  The nfeth interrupt runs at
      ipl 3 (it's autovector 3), but 3 & 4 is zero so irqs_disabled() is
      false, and the warning above is generated.
      
      When interrupts are explicitly disabled, ipl is set to 7.  When they
      are enabled, ipl is masked with ALLOWINT.  On Atari this will result
      in ipl = 3, which blocks interrupts at ipl 3 and below.  So how come
      nfeth interrupts at ipl 3 are received at all?  That's because ipl
      is reset to 2 by Atari-specific code in default_idle(), again with
      the stated purpose of blocking HSYNC interrupts.  This discrepancy
      means that ipl 3 can remain blocked for longer than intended.
      
      Both default_idle() and falcon_hblhandler() identify HSYNC with
      ipl 2, and the "Atari ST/.../F030 Hardware Register Listing" agrees,
      but ALLOWINT is defined as if HSYNC was ipl 3.
      
      [As an experiment I modified default_idle() to reset ipl to 3, and
      as expected that resulted in all nfeth interrupts being blocked.]
      
      The fix is simple: define ALLOWINT as ~0x500 instead.  This makes
      arch_local_irq_enable() consistent with default_idle(), and prevents
      the !irqs_disabled() problems for ipl 3 interrupts.
      
      Tested on Atari running in an Aranym VM.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Tested-by: Michael Schmitz <schmitzmic@googlemail.com> (on Falcon/CT60)
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      c6636005
    • G
      m68k/video: Create <asm/vga.h> · 5c3f9687
      Geert Uytterhoeven 提交于
      For now, it just contains the hack for cirrusfb on Amiga, which is moved
      out of <video/vga.h> with some slight modifications (use raw_*() instead of
      z_*(), which are defined on all m68k platforms).
      
      This makes it safe to include <video/vga.h> in all contexts. Before it
      could fail to compile with
      
      include/video/vga.h: In function ‘vga_mm_r’:
      include/video/vga.h:242: error: implicit declaration of function ‘z_readb’
      include/video/vga.h: In function ‘vga_mm_w’:
      include/video/vga.h:247: error: implicit declaration of function ‘z_writeb’
      include/video/vga.h: In function ‘vga_mm_w_fast’:
      include/video/vga.h:253: error: implicit declaration of function ‘z_writew’
      
      or
      
      include/video/vga.h:23:21: error: asm/vga.h: No such file or directory
      
      depending on the value of CONFIG_AMIGA.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: linux-fbdev@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      5c3f9687
    • G
      m68k: Make sure {read,write}s[bwl]() are always defined · f5db9c6a
      Geert Uytterhoeven 提交于
      drivers/usb/musb/musb_io.h provides default implementations for
      {read,write}s[bwl]() on most platforms, some of which will conflict soon
      with platform-specific counterparts on m68k.
      
      To avoid having to add more platform-specific checks to musb_io.h later,
      make sure {read,write}s[bwl]() are always defined on m68k, and disable the
      default implementations in musb_io.h on m68k, like is already done for
      several other architectures.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      f5db9c6a
    • G
      m68k/atari: Change VME irq numbers from unsigned long to unsigned int · 44883eb0
      Geert Uytterhoeven 提交于
      Device interrupts numbers were changed to unsigned int in 1997, the year
      IRQ_MACHSPEC was killed as well.
      
      Also kill a related cast while we're at it.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: netdev@vger.kernel.org
      44883eb0
    • G
      2712a643