20 Jul, 2007

4 commits

  • unregister_chrdev() always returns 0. There is no need to check the return
    value.

    Signed-off-by: Akinobu Mita
    Cc: "David S. Miller"
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • Move "debug during resume from s2ram" into the variable we already use
    for real-mode flags to simplify code. It also closes nasty trap for
    the user in acpi_sleep_setup; order of parameters actually mattered there,
    acpi_sleep=s3_bios,s3_mode doing something different from
    acpi_sleep=s3_mode,s3_bios.

    Signed-off-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • Add a feature allowing the user to make the system beep during a resume from
    suspend to RAM, on x86_64 and i386.

    This is useful for the users with broken resume from RAM, so that they can
    verify if the control reaches the kernel after a wake-up event.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nigel Cunningham
     
  • 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
     

19 Jul, 2007

25 commits

  • The TSEC/eTSEC can detect the interface to the PHY automatically,
    but it isn't able to detect whether the RGMII connection needs internal
    delay. So we need to detect that change in the device tree, propagate
    it to the platform data, and then check it if we're in RGMII. This fixes
    a bug on the 8641D HPCN board where the Vitesse PHY doesn't use the delay
    for RGMII.

    Signed-off-by: Andy Fleming

    Andy Fleming
     
  • The TSEC/eTSEC automatically detect their PHY interface type, unless
    the type is RGMII-ID (RGMII with internal delay). In that situation,
    it just detects RGMII. In order to fix this, we need to pass in rgmii-id
    if that is the connection type.

    Signed-off-by: Andy Fleming

    Andy Fleming
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
    [AVR32] Initialize phy_mask for both macb devices
    [AVR32] Fix atomic_add_unless() and atomic_sub_unless()
    [AVR32] Correct misspelled CONFIG_BLK_DEV_INITRD variable.
    [AVR32] Fix build error in parse_tag_rdimg()
    [AVR32] Don't wire up macb0 unless SW6 is in default position
    [AVR32] Wire up SSC platform device 0 as TX on ATSTK1000 board
    [AVR32] Add Atmel SSC driver platform device to AT32AP architecture
    [AVR32] Remove optimization of unaligned word loads
    [AVR32] Make STK1000 mux settings configurable
    [AVR32] CPU frequency scaling for AT32AP
    [AVR32] Split SM device into PM, RTC, WDT and EIC
    [AVR32] faster avr32 unaligned access

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup:
    [PATCH] x86: do not recompile boot for each build
    [x86 setup] Save/restore DS around invocations of INT 10h
    [x86 setup] VGA: Clear the Protect bit before setting the vertical height
    [x86 setup] Fix assembly constraints
    [x86 setup] build/tools.c: fix comment
    [x86 setup] MAINTAINERS: document x86 setup code git tree

    Linus Torvalds
     
  • The TRACE_IRQS_ON function in iret_exc: calls a C function without
    ensuring that the segments are set properly. Move the trace function and
    the enabling of interrupt into the C stub.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • The code for LDT segment selectors was not robust in the face of a bogus
    selector set in %cs via ptrace before the single-step was done.

    Signed-off-by: Roland McGrath
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • The STK1000 uses pullups on the MDIO lines to the PHY, but they are
    too weak. This causes the PHY layer to detect PHYs on all possible MII
    addresses. Mask out all but the correct address to prevent this from
    happening.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Signed-off-by: Robert P. J. Day
    Signed-off-by: Haavard Skinnemoen

    Robert P. J. Day
     
  • This code is inside an #ifdef with a misspelled config symbol, so it
    hasn't been used for a long time. Fix it before fixing the config
    symbol to keep bisection working.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • If the user wants to sacrifice macb0 for more GPIOs, let him.

    Signed-off-by: Haavard Skinnemoen

    Kristoffer Nyborg Gregertsen
     
  • Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • This patch adds register definitions, clocks and IRQs to the platform devices.

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • This adds some STK1002-specific config options covering the jumper settings,
    so the kernel can automatically be configured to include the relevant devices.

    One of them replaces the previous internal SW2_DEFAULT setting; SPI config
    is affected by two of the jumpers; and a fourth one switches between LCD and
    the second Ethernet connector. (There's more that to be done.)

    Signed-off-by: David Brownell
    Signed-off-by: Haavard Skinnemoen

    David Brownell
     
  • This patch enables CPU frequency scaling for AT32AP devices. This will
    enable the CPU to scale between the speed of the high speed bus and
    the master clock and thus save some power.

    The patch also adds a parent to cpu_clk and a cpu_clk_set_rate to
    enable changing the CPU clock divider in a sane way.

    The driver does not check if the given rate is 0, thus resulting in a
    div by 0. I think this check should be go into the clk_set_rate
    framework, and not here.

    Tested on AT32AP7000/ATSTK1000.

    Hardware documentation can be found in the AT32AP7000 datasheet.

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • Split the SM platform device into separate platform devices for PM,
    RTC, WDT and EIC. This is more correct according to the documentation
    and allows us to simplify the code a little.

    Also turn the EIC driver into a real platform driver.

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Hans-Christian Egtvedt

    Haavard Skinnemoen
     
  • Keep the arch/i386/boot directory from being rebuilt every time.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: H. Peter Anvin

    Sam Ravnborg
     
  • There exists at least one card, Trident TVGA8900CL (BIOS dated 1992/9/8)
    which clobbers DS when "scrolling in an SVGA text mode of more than
    800x600 pixels." Although we are extremely unlikely to run into that
    situation, it is cheap insurance to save and restore DS, and it only adds
    a grand total of 50 bytes to the total output.

    Pointed out by Etienne Lorrain.

    Cc: Etienne Lorrain
    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • If the user has asked for the vertical height registers to be recomputed
    by setting bit 15 in the video mode number, we do so without clearing the
    Protect bit in the Vertical Retrace Register before setting the Overflow
    register. As a result, if the VGA BIOS had set the Protect bit, the
    write to the Overflow register will be dropped, and bits [9:8] of the
    vertical height will be left unchanged.

    This is a bug imported from the assembly version of this code. It was
    pointed out by Etienne Lorrain.

    Cc: Etienne Lorrain
    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • Fix incorrect assembly constraints. In particular, fix memory
    constraints used inside push..pop, which can cause invalid operation
    since gcc may generate %esp-relative references.

    Additionally:

    outl() should have "dN" not "dn".

    query_mca() shouldn't listen 16/32-bit registers in an 8-bit only
    context.

    has_eflag(): the "mask" is only used well after both the stack pointer
    and the output registers have been touched; this requires the output
    registers to be earlyclobbers (=&) and the input to exclude memory (so
    "ri", not "g").

    Thanks to Etienne Lorrain and Chuck Ebbert for prompting this review.

    Cc: Etienne Lorrain
    Cc: Chuck Ebbert
    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • Correct a comment in arch/i386/boot/build/tools.c; we now build the
    kernel from only two components instead of three, since the boot
    sector has been integrated in the setup code.

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: extent macros cleanup
    Fix compilation with EXT_DEBUG, also fix leXX_to_cpu conversions.
    ext4: remove extra IS_RDONLY() check
    ext4: Use is_power_of_2()
    Use zero_user_page() in ext4 where possible
    ext4: Remove 65000 subdirectory limit
    ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields
    ext4: Add nanosecond timestamps
    jbd2: Move jbd2-debug file to debugfs
    jbd2: Fix CONFIG_JBD_DEBUG ifdef to be CONFIG_JBD2_DEBUG
    ext4: Set the journal JBD2_FEATURE_INCOMPAT_64BIT on large devices
    ext4: Make extents code sanely handle on-disk corruption
    ext4: copy i_flags to inode flags on write
    ext4: Enable extents by default
    Change on-disk format to support 2^15 uninitialized extents
    write support for preallocated blocks
    fallocate support in ext4
    sys_fallocate() implementation on i386, x86_64 and powerpc

    Linus Torvalds
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: Set vio->desc_buf to NULL after freeing.
    [SPARC]: Mark sparc and sparc64 as not having virt_to_bus
    [SPARC64]: Fix reset handling in VNET driver.
    [SPARC64]: Handle reset events in vio_link_state_change().
    [SPARC64]: Handle LDC resets properly in domain-services driver.
    [SPARC64]: Massively simplify VIO device layer and support hot add/remove.
    [SPARC64]: Simplify VNET probing.
    [SPARC64]: Simplify VDC device probing.
    [SPARC64]: Add basic infrastructure for MD add/remove notification.

    Linus Torvalds
     
  • * 'xen-upstream' of ssh://master.kernel.org/pub/scm/linux/kernel/git/jeremy/xen: (44 commits)
    xen: disable all non-virtual drivers
    xen: use iret directly when possible
    xen: suppress abs symbol warnings for unused reloc pointers
    xen: Attempt to patch inline versions of common operations
    xen: Place vcpu_info structure into per-cpu memory
    xen: handle external requests for shutdown, reboot and sysrq
    xen: machine operations
    xen: add virtual network device driver
    xen: add virtual block device driver.
    xen: add the Xenbus sysfs and virtual device hotplug driver
    xen: Add grant table support
    xen: use the hvc console infrastructure for Xen console
    xen: hack to prevent bad segment register reload
    xen: lazy-mmu operations
    xen: Add support for preemption
    xen: SMP guest support
    xen: Implement sched_clock
    xen: Account for stolen time
    xen: ignore RW mapping of RO pages in pagetable_init
    xen: Complete pagetable pinning
    ...

    Linus Torvalds
     
  • This reverts commit 5a26f6bbb767d7ad23311a1e81cfdd2bebefb855.

    The original patch causes boot failures when built with ppc64_defconfig. The
    quickest fix is to revert it while alterates are investigated.

    Signed-off-by: Tony Breeds
    Signed-off-by: Linus Torvalds

    Tony Breeds
     
  • This fixes the fallout from the recent powerpc merge (commit
    489de30259e667d7bc47da9da44a0270b050cd97):

    CC arch/powerpc/kernel/pci-common.o
    arch/powerpc/kernel/pci-common.c:160: error: conflicting types for 'pcibios_add_platform_entries'
    include/linux/pci.h:889: error: previous declaration of 'pcibios_add_platform_entries' was here

    Signed-off-by: Tony Breeds
    Tested-by: Bret Towe
    Signed-off-by: Linus Torvalds

    Tony Breeds
     

18 Jul, 2007

11 commits

  • A domU Xen environment has no non-virtual drivers, so make sure
    they're all disabled at once.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: Rusty Russell

    Jeremy Fitzhardinge
     
  • Most of the time we can simply use the iret instruction to exit the
    kernel, rather than having to use the iret hypercall - the only
    exception is if we're returning into vm86 mode, or from delivering an
    NMI (which we don't support yet).

    When running native, iret has the behaviour of testing for a pending
    interrupt atomically with re-enabling interrupts. Unfortunately
    there's no way to do this with Xen, so there's a window in which we
    could get a recursive exception after enabling events but before
    actually returning to userspace.

    This causes a problem: if the nested interrupt causes one of the
    task's TIF_WORK_MASK flags to be set, they will not be checked again
    before returning to userspace. This means that pending work may be
    left pending indefinitely, until the process enters and leaves the
    kernel again. The net effect is that a pending signal or reschedule
    event could be delayed for an unbounded amount of time.

    To deal with this, the xen event upcall handler checks to see if the
    EIP is within the critical section of the iret code, after events
    are (potentially) enabled up to the iret itself. If its within this
    range, it calls the iret critical section fixup, which adjusts the
    stack to deal with any unrestored registers, and then shifts the
    stack frame up to replace the previous invocation.

    Signed-off-by: Jeremy Fitzhardinge

    Jeremy Fitzhardinge
     
  • arch/i386/xen/xen-asm.S defines some small pieces of code which are
    used to implement a few paravirt_ops. They're designed so they can be
    used either in-place, or be inline patched into their callsites if
    there's enough space.

    Some of those operations need to make calls out (specifically, if you
    re-enable events [interrupts], and there's a pending event at that
    time). These calls need the call instruction to be relocated if the
    code is patched inline. In this case xen_foo_reloc is a
    section-relative symbol which points to xen_foo's required relocation.

    Other operations have no need of a relocation, and so their
    corresponding xen_bar_reloc is absolute 0. These are the cases which
    are triggering the warning.

    This patch adds those symbols to the list of safe abs symbols.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: Adrian Bunk

    Jeremy Fitzhardinge
     
  • This patchs adds the mechanism to allow us to patch inline versions of
    common operations.

    The implementations of the direct-access versions save_fl, restore_fl,
    irq_enable and irq_disable are now in assembler, and the same code is
    used for both out of line and inline uses.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: Chris Wright
    Cc: Keir Fraser

    Jeremy Fitzhardinge
     
  • An experimental patch for Xen allows guests to place their vcpu_info
    structs anywhere. We try to use this to place the vcpu_info into the
    PDA, which allows direct access.

    If this works, then switch to using direct access operations for
    irq_enable, disable, save_fl and restore_fl.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: Chris Wright
    Cc: Keir Fraser

    Jeremy Fitzhardinge
     
  • The guest domain can be asked to shutdown or reboot itself, or have a
    sysrq key injected, via xenbus. This patch adds a watcher for those
    events, and does the appropriate action.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: Chris Wright

    Jeremy Fitzhardinge
     
  • Make the appropriate hypercalls to halt and reboot the virtual machine.

    Signed-off-by: Jeremy Fitzhardinge
    Acked-by: Chris Wright

    Jeremy Fitzhardinge
     
  • Implement a Xen back-end for hvc console.

    * * *
    Add early printk support via hvc console, enable using
    "earlyprintk=xen" on the kernel command line.

    From: Gerd Hoffmann
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Chris Wright
    Acked-by: Ingo Molnar
    Acked-by: Olof Johansson

    Jeremy Fitzhardinge
     
  • The hypervisor saves and restores the segment registers as part of the
    state is saves while context switching. If, during a context switch,
    the next process doesn't use the TLS segments, it invalidates the GDT
    entry, causing the segment register reload to fault. This fault
    effectively doubles the cost of a context switch.

    This patch is a band-aid workaround which clears the usermode %gs
    after it has been saved for the previous process, but before it gets
    reloaded for the next, and it avoids having the hypervisor attempt to
    erroneously reload it.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Chris Wright

    Jeremy Fitzhardinge
     
  • This patch uses the lazy-mmu hooks to batch mmu operations where
    possible. This is primarily useful for batching operations applied to
    active pagetables, which happens during mprotect, munmap, mremap and
    the like (mmap does not do bulk pagetable operations, so it isn't
    helped).

    Signed-off-by: Jeremy Fitzhardinge
    Acked-by: Chris Wright

    Jeremy Fitzhardinge
     
  • Add Xen support for preemption. This is mostly a cleanup of existing
    preempt_enable/disable calls, or just comments to explain the current
    usage.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Chris Wright

    Jeremy Fitzhardinge