20 Jul, 2007

1 commit

  • This patch completes Linus's wish that the fault return codes be made into
    bit flags, which I agree makes everything nicer. This requires requires
    all handle_mm_fault callers to be modified (possibly the modifications
    should go further and do things like fault accounting in handle_mm_fault --
    however that would be for another patch).

    [akpm@linux-foundation.org: fix alpha build]
    [akpm@linux-foundation.org: fix s390 build]
    [akpm@linux-foundation.org: fix sparc build]
    [akpm@linux-foundation.org: fix sparc64 build]
    [akpm@linux-foundation.org: fix ia64 build]
    Signed-off-by: Nick Piggin
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Russell King
    Cc: Ian Molton
    Cc: Bryan Wu
    Cc: Mikael Starvik
    Cc: David Howells
    Cc: Yoshinori Sato
    Cc: "Luck, Tony"
    Cc: Hirokazu Takata
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc: Greg Ungerer
    Cc: Matthew Wilcox
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: Kazumoto Kojima
    Cc: Richard Curnow
    Cc: William Lee Irwin III
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Cc: Miles Bader
    Cc: Chris Zankel
    Acked-by: Kyle McMartin
    Acked-by: Haavard Skinnemoen
    Acked-by: Ralf Baechle
    Acked-by: Andi Kleen
    Signed-off-by: Andrew Morton
    [ Still apparently needs some ARM and PPC loving - Linus ]
    Signed-off-by: Linus Torvalds

    Nick Piggin
     

18 Jul, 2007

4 commits

  • Signed-off-by: Al Viro
    Acked-by: David S. Miller
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Identical implementations of PTRACE_POKEDATA go into generic_ptrace_pokedata()
    function.

    AFAICS, fix bug on xtensa where successful PTRACE_POKEDATA will nevertheless
    return EPERM.

    Signed-off-by: Alexey Dobriyan
    Cc: Christoph Hellwig
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Identical implementations of PTRACE_PEEKDATA go into generic_ptrace_peekdata()
    function.

    Signed-off-by: Alexey Dobriyan
    Cc: Christoph Hellwig
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • If the kernel OOPSed or BUGed then it probably should be considered as
    tainted. Thus, all subsequent OOPSes and SysRq dumps will report the
    tainted kernel. This saves a lot of time explaining oddities in the
    calltraces.

    Signed-off-by: Pavel Emelianov
    Acked-by: Randy Dunlap
    Cc:
    Signed-off-by: Andrew Morton
    [ Added parisc patch from Matthew Wilson -Linus ]
    Signed-off-by: Linus Torvalds

    Pavel Emelianov
     

21 Jun, 2007

1 commit

  • Not directly related to x86, but I got tired of seeing these warnings on every
    kconfig update when building on a non m68k box:

    drivers/input/keyboard/Kconfig:170:warning: 'select' used by config symbol 'KEYBOARD_ATARI' refers to undefined symbol 'ATARI_KBD_CORE'
    drivers/input/mouse/Kconfig:182:warning: 'select' used by config symbol 'MOUSE_ATARI' refers to undefined symbol 'ATARI_KBD_CORE'

    I moved the definition of ATARI_KBD_CORE into drivers/input/keyboard/Kconfig
    so it's always seen by Kconfig.

    Cc: Geert Uytterhoeven
    Acked-by: Roman Zippel
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     

01 Jun, 2007

1 commit


31 May, 2007

2 commits

  • Fix support for discontinuous memory

    Signed-off-by: Roman Zippel
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Add the basic infrastructure to allow runtime patching of kernel and modules
    to optimize a few functions with parameters, which are only calculated once
    during bootup and are otherwise constant. Use this for the conversion between
    virtual and physical addresses.

    Signed-off-by: Roman Zippel
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     

19 May, 2007

2 commits


15 May, 2007

1 commit

  • m68k: implement __clear_user(), which is needed by fs/signalfd.c

    Since we always let the MMU do all checking, clear_user() and __clear_user()
    are identical. The old clear_user() is renamed to __clear_user() for
    consistency.

    Signed-off-by: Geert Uytterhoeven
    Cc: Davide Libenzi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     

09 May, 2007

1 commit


08 May, 2007

2 commits


05 May, 2007

12 commits

  • net/rxrpc/af-rxrpc.ko needs csum_partial_copy_from_user

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Fix a crash caused by requests placed in the queue with the completed flag
    already set. This lead to some ADB_SYNC requests returning early and their
    request structs being popped off the stack while still queued. Stack corruption
    ensued or an invalid request callback pointer was invoked or both. Eliminate
    macii_retransmit() and its buggy implementation of macii_write(). Have
    macii_queue_poll() fully initialise the request queues.

    Fix a bug in macii_queue_poll() where the last_req pointer was not being set.
    This caused some requests to leave the queue before being completed (and would
    also corrupt the stack under certain conditions).

    Fix a race in macii_start that could set the state machine to "reading" while
    current_req was null.

    No longer send poll commands with the ADBREQ_REPLY flag -- doing that caused
    the replies to be stored in the request buffer where they were forgotten
    about.

    Don't autopoll by continuously sending new Talk commands. Get the controller to
    do that for us. This reduces the ADB interrupt rate on an idle bus to about 5
    per second. Only autopoll the devices that were probed.

    Explicitly clear the interrupt flag when polling.

    Use disable_irq rather than local_irq_save when polling.

    Remove excess local_irq_save/restore pairs.

    Improve bus timeout and service request detection.

    Remove unused code (last_reply, adb_dir etc) and unneeded code (prefix_len,
    first_byte etc).

    Change TIP and TACK to their correct names on this ADB controller (ST_EVEN and
    ST_ODD).

    Add some commentry.

    Add a generous quantity of sanity checks (BUG_ONs).

    Let m68k macs use the adb_sync boot param too.

    Tested on Mac II, Mac IIci, Quadra 650, Quadra 700 etc.

    Signed-off-by: Finn Thain
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • There are no slow IRQs on Macs since Roman Zippel's IRQ reorganisation that
    went into 2.6.16 and removed mac_irq_list[] and the do_mac_irq_list()
    dispatcher. (They were implemented in do_mac_irq_list() by lowering the IPL.)
    Hence there's no more use for mutual exclusion in the Mac interrupt
    dispatchers. Remove it.

    Signed-off-by: Finn Thain
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • Some Macs lack a slot interrupt enable register. So the existing code makes
    disabled and unregistered slot IRQ lines outputs set high. This seems to work
    on quadras, but does not work on genuine VIAs (perhaps the card still succeeds
    in pulling the line low, or perhaps because this increases the settle time on
    the port A input, meaning that the CA1 IRQ could fire before the slot line
    reads active).

    Because of this, the nubus_active flags were used to mask IRQs, which is
    actually worse than the problem it tries to solve. Any interrupt masked by
    nubus_active will remain asserted and prevent further transitions on CA1. And
    so the nubus gets wedged regardless of hardware (emulated VIA ASIC, real VIA
    chip or RBV).

    The best solution to this hardware limitation of genuine VIAs is to disable the
    umbrella SLOTS IRQ when disabling a slot on those machines. Unfortunately, this
    means all slot IRQs get disabled when any slot IRQ is disabled. But it is only
    a problem when there's more than 1 device using nubus interrupts.

    Another potential problem for genuine VIAs is an unregistered nubus IRQ.
    Eventually it will be possible to enable the CA1 interrupt by installing its
    handler only _after_ all nubus drivers have loaded but _before_ the kernel
    needs them, at which time this last problem can be fixed. For now it can be
    worked around:

    - disable MacOS extensions
    - don't boot MacOS (use the Emile bootloader instead)
    - get the bootloaders to disable ROM drivers (Penguin does this for video
    cards already, don't know about Emile)
    - physically remove unsupported cards

    Signed-off-by: Finn Thain
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • Make sure that there are no slot IRQs asserted before leaving the nubus
    handler. If there are and we don't then the nubus gets wedged because this
    prevents a CA1 transition, which means no more nubus IRQs.

    Make the interrupt dispatch loops terminate sooner.

    Explicitly initialise the VIA latches to make the code more easily understood.

    Also some cleanups.

    Signed-off-by: Finn Thain
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • Reverse the last of a monumental brown-paper-bag commit that went into the 2.3
    kernel.

    Signed-off-by: Finn Thain
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • Add some more machines that support A/UX interrupt priorities. There are
    probably others as well, but I've only tested these ones so far.

    Signed-off-by: Finn Thain
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • Only attempt to initialize the amount of interrupts a sun3 actually has...

    Signed-off-by: Sam Creasey
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Sam Creasey
     
  • Add early parameter support and convert current users to it.

    Signed-off-by: Roman Zippel
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Reformat various m68k files, so they actually look like Linux sources.

    Signed-off-by: Roman Zippel
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Recent cross-compilers are called m68k-linux-gnu-gcc instead of m68k-linux-gcc

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Atari keyboard and mouse support.
    (reformating and Kconfig fixes by Roman Zippel)

    Signed-off-by: Michael Schmitz
    Signed-off-by: Roman Zippel
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Michael Schmitz
     

20 Feb, 2007

1 commit

  • powerpc gets:

    init/main.c: In function `do_basic_setup':
    init/main.c:714: warning: implicit declaration of function `init_irq_proc'

    but we cannot include linux/irq.h in generic code.

    Fix it by moving the declaration into linux/interrupt.h instead.

    And make sure all code that defines init_irq_proc() is including
    linux/interrupt.h.

    And nuke an ifdef-in-C

    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

15 Feb, 2007

1 commit

  • The obsolete SA_xxx interrupt flags have been used despite the scheduled
    removal. Fixup the remaining users.

    Signed-off-by: Thomas Gleixner
    Acked-by: Ingo Molnar
    Cc: "Luck, Tony"
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Cc: Jeff Garzik
    Cc: Wim Van Sebroeck
    Cc: Roland Dreier
    Cc: Alessandro Zummo
    Cc: James Bottomley
    Cc: Greg KH
    Cc: Dave Airlie
    Cc: James Simmons
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

13 Feb, 2007

2 commits

  • Many struct file_operations in the kernel can be "const". Marking them const
    moves these to the .rodata section, which avoids false sharing with potential
    dirty data. In addition it'll catch accidental writes at compile time to
    these shared resources.

    [akpm@osdl.org: sparc64 fix]
    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • Rename saved_command_line into boot_command_line.

    Signed-off-by: Alon Bar-Lev
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alon Bar-Lev
     

12 Feb, 2007

5 commits

  • * Split the implementation-agnostic stuff in separate files.
    * Make sure that targets using non-default request_irq() pull
    kernel/irq/devres.o
    * Introduce new symbols (HAS_IOPORT and HAS_IOMEM) defaulting to positive;
    allow architectures to turn them off (we needed these symbols anyway for
    dependencies of quite a few drivers).
    * protect the ioport-related parts of lib/devres.o with CONFIG_HAS_IOPORT.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Use attribute(weak).

    Signed-off-by: Alexey Dobriyan
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Update all arch/*/kernel/vmlinux.lds.S to not include space for initramfs
    when CONFIG_BLK_DEV_INITRAMFS is not selected. This saves another 4 kbytes
    on most platfoms (some reserve PAGE_SIZE for initramfs).

    Signed-off-by: Jean-Paul Saman
    Cc: Al Viro
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean-Paul Saman
     
  • Use ARRAY_SIZE macro already defined in linux/kernel.h

    Signed-off-by: Ahmed S. Darwish
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ahmed S. Darwish
     
  • As Andi pointed out: CONFIG_GENERIC_ISA_DMA only disables the ISA DMA
    channel management. Other functionality may still expect GFP_DMA to
    provide memory below 16M. So we need to make sure that CONFIG_ZONE_DMA is
    set independent of CONFIG_GENERIC_ISA_DMA. Undo the modifications to
    mm/Kconfig where we made ZONE_DMA dependent on GENERIC_ISA_DMA and set
    theses explicitly in each arches Kconfig.

    Reviews must occur for each arch in order to determine if ZONE_DMA can be
    switched off. It can only be switched off if we know that all devices
    supported by a platform are capable of performing DMA transfers to all of
    memory (Some arches already support this: uml, avr32, sh sh64, parisc and
    IA64/Altix).

    In order to switch ZONE_DMA off conditionally, one would have to establish
    a scheme by which one can assure that no drivers are enabled that are only
    capable of doing I/O to a part of memory, or one needs to provide an
    alternate means of performing an allocation from a specific range of memory
    (like provided by alloc_pages_range()) and insure that all drivers use that
    call. In that case the arches alloc_dma_coherent() may need to be modified
    to call alloc_pages_range() instead of relying on GFP_DMA.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     

14 Dec, 2006

1 commit

  • Run this:

    #!/bin/sh
    for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do
    echo "De-casting $f..."
    perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f
    done

    And then go through and reinstate those cases where code is casting pointers
    to non-pointers.

    And then drop a few hunks which conflicted with outstanding work.

    Cc: Russell King , Ian Molton
    Cc: Mikael Starvik
    Cc: Yoshinori Sato
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Cc: Ralf Baechle
    Cc: Paul Mackerras
    Cc: Kyle McMartin
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Greg KH
    Cc: Jens Axboe
    Cc: Paul Fulghum
    Cc: Alan Cox
    Cc: Karsten Keil
    Cc: Mauro Carvalho Chehab
    Cc: Jeff Garzik
    Cc: James Bottomley
    Cc: Ian Kent
    Cc: Steven French
    Cc: David Woodhouse
    Cc: Neil Brown
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     

10 Dec, 2006

3 commits