15 Oct, 2007

1 commit


13 Oct, 2007

9 commits

  • Fix the problem that kdump on INIT hung up if kdump kernel image is
    not configured.

    The kdump_init_notifier() on monarch CPU stops its operation at
    DIE_INIT_MONARCH_LEAVE time if the kdump kernel image is not
    configured. On the other hand, kdump_init_notifier() on non-monarch
    CPUs get into spin because they don't know the fact the monarch stops
    its operation. This is the cause of this problem. To fix this problem,
    we need to check the kdump kernel image at the top of the
    kdump_init_notifier() function.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Tony Luck

    Kenji Kaneshige
     
  • Fix the problem that kdump on INIT causes a kernel panic if kdump
    kernel image is not configured. The cause of this problem is
    machine_kexec_on_init() is using printk in INIT context. It should
    use ia64_mca_printk() instead.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Tony Luck

    Kenji Kaneshige
     
  • The use of vector in ia64_machine_kexec() seems spurious,
    and removing it simplifies the code slightly.

    As suggested by Alex Williamson

    Cc: Alex Williamson
    Signed-off-by: Simon Horman
    Signed-off-by: Tony Luck

    Simon Horman
     
  • Additional testing uncovered a situation where the MCA recovery code could
    hang due to a race condition.

    According to the SAL spec, SAL sends a rendezvous interrupt to all but the first
    CPU that goes into MCA. This includes other CPUs that go into MCA at the same
    time. Those other CPUs will go into the linux MCA handler (rather than the
    slave loop) with the rendezvous interrupt pending. When all the CPUs have
    completed MCA processing and the last monarch completes, freeing all the CPUs,
    the CPUs with the pended rendezvous interrupt then go into the
    ia64_mca_rendez_int_handler(). In ia64_mca_rendez_int_handler() the CPUs
    get marked as rendezvoused, but then leave the handler (due to no MCA).
    That leaves the CPUs marked as rendezvoused _before_ the next MCA event.

    When the next MCA hits, the monarch will mistakenly believe that all the CPUs
    are rendezvoused when they are not, opening up a window where a CPU can get
    stuck in the slave loop.

    This patch avoids leaving CPUs marked as rendezvoused when they are not.

    Signed-off-by: Russ Anderson
    Signed-off-by: Tony Luck

    Russ Anderson
     
  • While testing the MCA recovery code, noticed that some machines would have a
    five second delay rendezvousing cpus. What was happening is that
    ia64_wait_for_slaves() would check to see if all the slave CPUs had
    rendezvoused. If any had not, it would wait 1 millisecond then check again.
    If any CPUs had still not rendezvoused, it would wait 5 seconds before
    checking again.

    On some configs the rendezvous takes more than 1 millisecond, causing the code
    to wait the full 5 seconds, even though the last CPU rendezvoused after only
    a few milliseconds.

    The fix is to check every 1 millisecond to see if all the cpus have
    rendezvoused. After 5 seconds the code concludes the CPUs will never
    rendezvous (same as before).

    The MCA code is, by definition, not performance critical, but a needless
    delay of 5 seconds is senseless. The 5 seconds also adds up quickly
    when running the error injection code in a loop.

    This patch both simplifies the code and removes the needless delay.

    Signed-off-by: Russ Anderson
    Signed-off-by: Tony Luck

    Russ Anderson
     
  • This driver for HPQ5001 devices installs a global ACPI OpRegion handler.
    AML methods can use this OpRegion to call native firmware entry points.

    ACPI does not define a mechanism for AML methods to call native firmware
    interfaces such as PAL or SAL. This OpRegion handler adds such a mechanism.
    After the handler is installed, an AML method can call native firmware by
    storing the arguments and firmware entry point to specific offsets in the
    OpRegion. When AML reads the "return value" offset from the OpRegion, this
    handler loads up the arguments, makes the firmware call, and returns the
    result.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Len Brown
    Signed-off-by: Tony Luck

    Bjorn Helgaas
     
  • SAL_CALL() always calls through the ia64_sal function pointer. I am adding
    new functionality that needs the same conventions as SAL_CALL (FP regs
    saved/restored, sal_lock acquired, etc), but doesn't use the ia64_sal
    function pointer.

    This patch pulls the body of SAL_CALL out into a new "IA64_FW_CALL" that
    takes care of these calling conventions, but allows the caller to specify
    either ia64_sal or some other firmware entry point.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Len Brown
    Signed-off-by: Tony Luck

    Bjorn Helgaas
     
  • Because it is dead code and not referenced by anybody else (that file cannot
    be built modular).

    Signed-off-by: Satyam Sharma
    Cc: "Luck, Tony"
    Cc: Stephane Eranian
    Signed-off-by: Andrew Morton
    Signed-off-by: Tony Luck

    Satyam Sharma
     
  • * palinfo.c:

    palinfo_cpu_notifier is a CPU hotplug notifier_block, and can be
    marked __cpuinitdata, and the callback function palinfo_cpu_callback()
    itself can be marked __cpuinit. create_palinfo_proc_entries() is only
    called from __cpuinit callback or general __init code, therefore a
    candidate for __cpuinit itself. remove_palinfo_proc_entries() is only
    called from __cpuinit callback or general __exit code, therefore a
    candidate for __cpuexit.

    * salinfo.c:

    The CPU hotplug notifier_block can be __cpuinitdata. The callback
    salinfo_cpu_callback() is incorrectly marked __devinit -- it must
    be __cpuinit instead.

    * topology.c:

    cache_sysfs_init() is only called at device_initcall() time so marking
    it as __cpuinit is wrong and wasteful. It should be unconditionally
    __init. Also cleanup reference to hotplug notifier callback function
    from this function and replace with cache_add_dev(), which could also
    enable us to use other tricks to replace __cpuinit{data} annotations,
    as recently discussed on this list.

    cache_shared_cpu_map_setup() is only ever called from __cpuinit-marked
    functions hence both its definitions (SMP or !SMP) are candidates for
    __cpuinit itself. Also all_cpu_cache_info can be __cpuinitdata because
    only referenced from __cpuinit code.

    Signed-off-by: Satyam Sharma
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Tony Luck

    Satyam Sharma
     

12 Oct, 2007

30 commits

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

    Al Viro
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [ZLIB]: Fix external builds of zlib_inflate code.
    [TG3]: Fix APE induced regression
    [SKY2]: version 1.19
    [SKY2]: use netdevice stats struct
    [SKY2]: fiber advertise bits initialization (trivial)
    [SKY2]: fix power settings on Yukon XL
    [SKY2]: ethtool register reserved area blackout

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

    Al Viro
     
  • Move zlib_inflate_blob() out into it's own source file,
    infutil.c, so that things like the powerpc zImage builder
    in arch/powerpc/boot/Makefile don't end up trying to
    compile it.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This patch fixes a bug caused by the recent APE support added for 5761
    devices.

    Signed-off-by: Matt Carlson
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • Update version to keep track of new changes.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • Use builtin statistics structure from net device.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • Put initialization in sequential order (same as other constants).

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • Make sure PCI register for PHY power gets set correctly.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • Make sure and not dump reserved areas of device space.
    Touching some of these causes machine check exceptions on boards
    like D-Link DGE-550SX.

    Coding note, used a complex switch statement rather than bitmap
    because it is easier to relate the block values to the documentation
    rather than looking at a encoded bitmask.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (408 commits)
    [POWERPC] Add memchr() to the bootwrapper
    [POWERPC] Implement logging of unhandled signals
    [POWERPC] Add legacy serial support for OPB with flattened device tree
    [POWERPC] Use 1TB segments
    [POWERPC] XilinxFB: Allow fixed framebuffer base address
    [POWERPC] XilinxFB: Add support for custom screen resolution
    [POWERPC] XilinxFB: Use pdata to pass around framebuffer parameters
    [POWERPC] PCI: Add 64-bit physical address support to setup_indirect_pci
    [POWERPC] 4xx: Kilauea defconfig file
    [POWERPC] 4xx: Kilauea DTS
    [POWERPC] 4xx: Add AMCC Kilauea eval board support to platforms/40x
    [POWERPC] 4xx: Add AMCC 405EX support to cputable.c
    [POWERPC] Adjust TASK_SIZE on ppc32 systems to 3GB that are capable
    [POWERPC] Use PAGE_OFFSET to tell if an address is user/kernel in SW TLB handlers
    [POWERPC] 85xx: Enable FP emulation in MPC8560 ADS defconfig
    [POWERPC] 85xx: Killed
    [POWERPC] 85xx: Add cpm nodes for 8541/8555 CDS
    [POWERPC] 85xx: Convert mpc8560ads to the new CPM binding.
    [POWERPC] mpc8272ads: Remove muram from the CPM reg property.
    [POWERPC] Make clockevents work on PPC601 processors
    ...

    Fixed up conflict in Documentation/powerpc/booting-without-of.txt manually.

    Linus Torvalds
     
  • * 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    [libata] sata_mv: more S/G fixes

    Linus Torvalds
     
  • * corruption fix: we only want the lower 16 bits of length (0 == 64kb)

    * ditto: the upper layer sets max-phys-segments to LIBATA_MAX_PRD,
    so we must reset it to own hw-specific length.

    * delete unused mv_fill_sg() return value

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • Signed-off-by: Jeff Garzik
    Signed-off-by: Linus Torvalds

    Jeff Garzik
     
  • This adds a memchr() implementation to the bootwrapper, which will
    be needed when libfdt is merged in.

    Signed-off-by: David Gibson
    Signed-off-by: Paul Mackerras

    David Gibson
     
  • Implement show_unhandled_signals sysctl + support to print when a process
    is killed due to unhandled signals just as i386 and x86_64 does.

    Default to having it off, unlike x86 that defaults on.

    Signed-off-by: Olof Johansson
    Signed-off-by: Paul Mackerras

    Olof Johansson
     
  • Currently find_legacy_serial_ports() can find no serial ports on the
    OPB with flattened device tree. Thus no legacy boot console can be
    initialized. Just the early udbg console works, which is initialized
    with udbg_init_44x_as1 on the UART's physical address specified in
    kernel config. This happens because we look for ns16750 serial
    devices only and expect opb node to have a device type property. This
    patch makes it look for ns16550-compatible devices and use
    of_device_is_compatible() for opb in case device type is not
    specified.

    Signed-off-by: Valentine Barshak
    Signed-off-by: Paul Mackerras

    Valentine Barshak
     
  • This makes the kernel use 1TB segments for all kernel mappings and for
    user addresses of 1TB and above, on machines which support them
    (currently POWER5+, POWER6 and PA6T).

    We detect that the machine supports 1TB segments by looking at the
    ibm,processor-segment-sizes property in the device tree.

    We don't currently use 1TB segments for user addresses < 1T, since
    that would effectively prevent 32-bit processes from using huge pages
    unless we also had a way to revert to using 256MB segments. That
    would be possible but would involve extra complications (such as
    keeping track of which segment size was used when HPTEs were inserted)
    and is not addressed here.

    Parts of this patch were originally written by Ben Herrenschmidt.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • Allow a fixed framebuffer address to be assigned to the framebuffer device
    instead of allocating the framebuffer from the consistent memory pool.

    Signed-off-by: Grant Likely
    Signed-off-by: Paul Mackerras

    Grant Likely
     
  • Some custom implementations of the xilinx fb can use resolutions other
    than 640x480. This patch allows the resolution to be specified in the
    device tree or the xilinx_platform_data structure.

    Signed-off-by: Grant Likely
    Signed-off-by: Paul Mackerras

    Grant Likely
     
  • The call to xilinxfb_assign is getting unwieldy when adding features
    to the Xilinx framebuffer driver. Change xilinxfb_assign() to accept
    a pointer to a xilinxfb_platform_data structure to prepare for adding
    additition configuration options.

    Signed-off-by: Grant Likely
    Signed-off-by: Paul Mackerras

    Grant Likely
     
  • Add 64-bit physical address support to setup_indirect_pci().

    Signed-off-by: Valentine Barshak
    Acked-by: Kumar Gala
    Signed-off-by: Paul Mackerras

    Valentine Barshak
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (87 commits)
    mlx4_core: Fix section mismatches
    IPoIB: Allow setting policy to ignore multicast groups
    IB/mthca: Mark error paths as unlikely() in post_srq_recv functions
    IB/ipath: Minor fix to ordering of freeing and zeroing of tid pages.
    IB/ipath: Remove redundant link state checks
    IB/ipath: Fix IB_EVENT_PORT_ERR event
    IB/ipath: Better handling of unexpected GPIO interrupts
    IB/ipath: Maintain active time on all chips
    IB/ipath: Fix QHT7040 serial number check
    IB/ipath: Indicate a couple of chip bugs to userspace
    IB/ipath: iba6110 rev4 no longer needs recv header overrun workaround
    IB/ipath: Use counters in ipath_poll and cleanup interrupts in ipath_close
    IB/ipath: Remove duplicate copy of LMC
    IB/ipath: Add ability to set the LMC via the sysfs debugging interface
    IB/ipath: Optimize completion queue entry insertion and polling
    IB/ipath: Implement IB_EVENT_QP_LAST_WQE_REACHED
    IB/ipath: Generate flush CQE when QP is in error state
    IB/ipath: Remove redundant code
    IB/ipath: Future proof eeprom checksum code (contents reading)
    IB/ipath: UC RDMA WRITE with IMMEDIATE doesn't send the immediate
    ...

    Linus Torvalds
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (867 commits)
    [SKY2]: status polling loop (post merge)
    [NET]: Fix NAPI completion handling in some drivers.
    [TCP]: Limit processing lost_retrans loop to work-to-do cases
    [TCP]: Fix lost_retrans loop vs fastpath problems
    [TCP]: No need to re-count fackets_out/sacked_out at RTO
    [TCP]: Extract tcp_match_queue_to_sack from sacktag code
    [TCP]: Kill almost unused variable pcount from sacktag
    [TCP]: Fix mark_head_lost to ignore R-bit when trying to mark L
    [TCP]: Add bytes_acked (ABC) clearing to FRTO too
    [IPv6]: Update setsockopt(IPV6_MULTICAST_IF) to support RFC 3493, try2
    [NETFILTER]: x_tables: add missing ip6t_modulename aliases
    [NETFILTER]: nf_conntrack_tcp: fix connection reopening
    [QETH]: fix qeth_main.c
    [NETLINK]: fib_frontend build fixes
    [IPv6]: Export userland ND options through netlink (RDNSS support)
    [9P]: build fix with !CONFIG_SYSCTL
    [NET]: Fix dev_put() and dev_hold() comments
    [NET]: make netlink user -> kernel interface synchronious
    [NET]: unify netlink kernel socket recognition
    [NET]: cleanup 3rd argument in netlink_sendskb
    ...

    Fix up conflicts manually in Documentation/feature-removal-schedule.txt
    and my new least favourite crap, the "mod_devicetable" support in the
    files include/linux/mod_devicetable.h and scripts/mod/file2alias.c.

    (The latter files seem to be explicitly _designed_ to get conflicts when
    different subsystems work with them - that have an absolutely horrid
    lack of subsystem separation!)

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (80 commits)
    [MIPS] tlbex.c: Cleanup __init usage.
    [MIPS] WRPPMC serial support move to platform device
    [MIPS] R1: Fix hazard barriers to make kernels work on R2 also.
    [MIPS] VPE: reimplement ELF loader.
    [MIPS] cleanup WRPPMC include files
    [MIPS] Add BUG_ON assertion for attempt to run kernel on the wrong CPU type.
    [MIPS] SMP: Use ISO C struct initializer for local structs.
    [MIPS] SMP: Kill useless casts.
    [MIPS] Kill num_online_cpus() loops.
    [MIPS] SMP: Implement smp_call_function_mask().
    [MIPS] Make facility to convert CPU types to strings generally available.
    [MIPS] Convert list of CPU types from #define to enum.
    [MIPS] Optimize get_unaligned / put_unaligned implementations.
    [MIPS] checkfiles: Fix "need space after that ','" errors.
    [MIPS] Fix "no space between function name and open parenthesis" warnings.
    [MIPS] Allow hardwiring of the CPU type to a single type for optimization.
    [MIPS] tlbex: Size optimize code by declaring a few functions inline.
    [MIPS] pg-r4k.c: Dump the generated code
    [MIPS] Cobalt: Remove cobalt_machine_power_off()
    [MIPS] Cobalt: Move reset port definition to arch/mips/cobalt/reset.c
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (24 commits)
    ide: use only ->set_pio_mode method for programming PIO modes (take 2)
    sis5513: don't change UDMA settings when programming PIO
    it8213/piix/slc90e66: don't change DMA settings when programming PIO
    alim15x3: PIO mode setup fixes
    siimage: fix ->set_pio_mode method to select PIO data transfer
    cs5520: don't enable VDMA in ->speedproc
    sc1200: remove redundant warning message from sc1200_tune_chipset()
    ide-pmac: PIO mode setup fixes (take 3)
    icside: fix ->speedproc to return on unsupported modes (take 5)
    sgiioc4: use ide_tune_dma()
    amd74xx/via82cxxx: use ide_tune_dma()
    ide: add ide_set{_max}_pio() (take 4)
    ide: Kconfig face-lift
    ide: move ide_rate_filter() calls to the upper layer (take 2)
    sis5513: add ->udma_filter method for chipset_family >= ATA_133
    ide: mode limiting fixes for user requested speed changes
    ide: add missing ide_rate_filter() calls to ->speedproc()-s
    ide: call udma_filter() before resorting to the UltraDMA mask
    ide: make jmicron match vendor and device class
    pdc202xx_new: switch to using pci_get_slot() (take 2)
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds:
    leds: Update Cobalt Qube series front LED support
    leds: Add Cobalt Raq series LEDs support
    leds: Rename leds-cobalt driver

    Linus Torvalds
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
    backlight: Convert corgi backlight driver into a more generic driver
    backlight: Add Samsung LTV350QV LCD driver
    backlight: Fix cr_bllcd allocations and error paths
    backlight/leds: Make two structs static

    Linus Torvalds
     
  • * 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
    drivers/firmware: const-ify DMI API and internals

    Linus Torvalds
     
  • * 'block-2.6.24' of git://git.kernel.dk/data/git/linux-2.6-block: (37 commits)
    [BLOCK] Fix failing compile with BLK_DEV_IO_TRACE=n
    compat_ioctl: move floppy handlers to block/compat_ioctl.c
    compat_ioctl: move cdrom handlers to block/compat_ioctl.c
    compat_ioctl: move BLKPG handling to block/compat_ioctl.c
    compat_ioctl: move hdio calls to block/compat_ioctl.c
    compat_ioctl: handle blk_trace ioctls
    compat_ioctl: add compat_blkdev_driver_ioctl()
    compat_ioctl: move common block ioctls to compat_blkdev_ioctl
    Sysace: Don't enable IRQ until after interrupt handler is registered
    Sysace: sparse fixes
    Sysace: Minor coding convention fixup
    drivers/block/umem: use DRIVER_NAME where appropriate
    drivers/block/umem: trim trailing whitespace
    drivers/block/umem: minor cleanups
    drivers/block/umem: use dev_printk()
    drivers/block/umem: move private include away from include/linux
    Sysace: Labels in C code should not be indented.
    Sysace: Add of_platform_bus binding
    Sysace: Move IRQ handler registration to occur after FSM is initialized
    Sysace: minor rework and cleanup changes
    ...

    Linus Torvalds