25 Feb, 2009

8 commits


24 Feb, 2009

2 commits

  • Impact: Documentation fix

    The amazing dancing boot.txt file has jumped places again. It should
    never have been in Documentation/x86/i386, since it never was
    32-bit-specific, but it unfortunately ended up there for a while.

    Signed-off-by: Kyle McMartin
    Signed-off-by: H. Peter Anvin

    Kyle McMartin
     
  • Impact: Cleanup

    Checkin be44d2aabce2d62f72d5751d1871b6212bf7a1c7 eliminates the use of
    a 16-bit stack for espfix. However, at least one instruction remained
    that only operated on the low 16 bits of %esp.

    This is not a bug per se because the kernel stack is always an aligned
    4K or 8K block. Therefore it cannot cross 64K boundaries; this code,
    in fact, relies strictly on that fact.

    However, it's a lot cleaner (and, for that matter, smaller) to operate
    on the entire 32-bit register.

    Signed-off-by: Stas Sergeev
    CC: Zachary Amsden
    CC: Chuck Ebbert
    Signed-off-by: H. Peter Anvin

    Stas Sergeev
     

23 Feb, 2009

30 commits

  • Impact: fix early crash on LinuxBIOS systems

    Kevin O'Connor reported that Coreboot aka LinuxBIOS tries to put
    mptable somewhere very high, well above max_low_pfn (below which
    BIOSes generally put the mptable), causing a panic.

    The BIOS will probably be changed to be compatible with older
    Linus versions, but nevertheless the MP-spec does not forbid
    an MP-table in arbitrary system RAM, so make sure it all
    works even if the table is in an unexpected place.

    Check physptr with max_low_pfn * PAGE_SIZE.

    Reported-by: Kevin O'Connor
    Signed-off-by: Yinghai Lu
    Cc: Stefan Reinauer
    Cc: coreboot@coreboot.org
    Signed-off-by: Ingo Molnar

    Yinghai Lu
     
  • Linus Torvalds
     
  • Add missing parameter value to list of available values
    for acpi=.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/i915: Add missing mutex_lock(&dev->struct_mutex)
    drm/i915: fix WC mapping in non-GEM i915 code.
    drm/i915: Fix regression in 95ca9d
    drm/i915: Retire requests from i915_gem_busy_ioctl.
    drm/i915: suspend/resume GEM when KMS is active
    drm/i915: Don't let a device flush to prepare buffers clear new write_domains.
    drm/i915: Cut two args to set_to_gpu_domain that confused this tricky path.

    Linus Torvalds
     
  • there might be a nicer way to fix this but this is the simplest for now.

    Signed-off-by: Pierre Willenbrock
    Signed-off-by: Dave Airlie

    Pierre Willenbrock
     
  • [airlied - taken from mailing list posting]

    Signed-off-by: Dave Airlie

    Jesse Barnes
     
  • The object is dereferenced before the NULL check. Oops.

    Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20235

    Signed-off-by: Chris Wilson
    Signed-off-by: Eric Anholt
    Signed-off-by: Dave Airlie

    Chris Wilson
     
  • This ensures that the user gets the latest information from the hardware
    on whether the buffer is busy, potentially reducing the working set of objects
    that the user chooses.

    Signed-off-by: Eric Anholt
    Signed-off-by: Dave Airlie

    Eric Anholt
     
  • In the KMS case, we need to suspend/resume GEM as well. So on suspend, make
    sure we idle GEM and stop any new rendering from coming in, and on resume,
    re-init the framebuffer and clear the suspended flag.

    Signed-off-by: Jesse Barnes
    Signed-off-by: Eric Anholt
    Signed-off-by: Dave Airlie

    Jesse Barnes
     
  • The problem was that object_set_to_gpu_domain would set the new write_domains
    that are getting set by this batchbuffer, then the accumulated flushes required
    for all the objects in preparation for this batchbuffer were posted, and the
    brand new write domain would get cleared by the flush being posted. Instead,
    hang on to the new (or old if we're not changing it) value and set it after
    the flush is queued.

    Results from this noticably included conformance test failures from reads
    shortly after writes (where the new write domain had been lost and thus not
    flushed and waited on), but is a suspected cause of hangs in some apps when
    a write domain is lost on a buffer that gets reused for instruction or
    commmand state.

    Signed-off-by: Eric Anholt
    Signed-off-by: Dave Airlie

    Eric Anholt
     
  • While not strictly required, it helped while thinking about the following
    change. This change should be invariant.

    Signed-off-by: Eric Anholt
    Signed-off-by: Dave Airlie

    Eric Anholt
     
  • early_acpi_os_unmap_memory() is an __init function, and
    acpi_os_unmap_memory() is allowed to access an __init function
    until acpi_gbl_permanent_mmap is set up.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: Len Brown
    Signed-off-by: Ingo Molnar

    Jeremy Fitzhardinge
     
  • Impact: cleanup

    Make x86_quirks support more transparent. The highlevel
    methods are now named:

    extern void x86_quirk_pre_intr_init(void);
    extern void x86_quirk_intr_init(void);

    extern void x86_quirk_trap_init(void);

    extern void x86_quirk_pre_time_init(void);
    extern void x86_quirk_time_init(void);

    This makes it clear that if some platform extension has to
    do something here that it is considered ... weird, and is
    discouraged.

    Also remove arch_hooks.h and move it into setup.h (and other
    header files where appropriate).

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Impact: remove dead code

    Remove:

    - pre_setup_arch_hook()
    - mca_nmi_hook()

    If needed they can be added back via an x86_quirk handler.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Impact: remove unused/broken code

    The Voyager subarch last built successfully on the v2.6.26 kernel
    and has been stale since then and does not build on the v2.6.27,
    v2.6.28 and v2.6.29-rc5 kernels.

    No actual users beyond the maintainer reported this breakage.
    Patches were sent and most of the fixes were accepted but the
    discussion around how to do a few remaining issues cleanly
    fizzled out with no resolution and the code remained broken.

    In the v2.6.30 x86 tree development cycle 32-bit subarch support
    has been reworked and removed - and the Voyager code, beyond the
    build problems already known, needs serious and significant
    changes and probably a rewrite to support it.

    CONFIG_X86_VOYAGER has been marked BROKEN then. The maintainer has
    been notified but no patches have been sent so far to fix it.

    While all other subarchs have been converted to the new scheme,
    voyager is still broken. We'd prefer to receive patches which
    clean up the current situation in a constructive way, but even in
    case of removal there is no obstacle to add that support back
    after the issues have been sorted out in a mutually acceptable
    fashion.

    So remove this inactive code for now.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • At some point we (okay, I) managed to break the ability for users to use the
    setsockopt() syscall to set IPv4 options when NetLabel was not active on the
    socket in question. The problem was noticed by someone trying to use the
    "-R" (record route) option of ping:

    # ping -R 10.0.0.1
    ping: record route: No message of desired type

    The solution is relatively simple, we catch the unlabeled socket case and
    clear the error code, allowing the operation to succeed. Please note that we
    still deny users the ability to override IPv4 options on socket's which have
    NetLabel labeling active; this is done to ensure the labeling remains intact.

    Signed-off-by: Paul Moore
    Signed-off-by: James Morris

    Paul Moore
     
  • The CIPSO protocol engine incorrectly stated that the FIPS-188 specification
    could be found in the kernel's Documentation directory. This patch corrects
    that by removing the comment and directing users to the FIPS-188 documented
    hosted online. For the sake of completeness I've also included a link to the
    CIPSO draft specification on the NetLabel website.

    Thanks to Randy Dunlap for spotting the error and letting me know.

    Signed-off-by: Paul Moore
    Signed-off-by: James Morris

    Paul Moore
     
  • * 'core/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    PM: Split up sysdev_[suspend|resume] from device_power_[down|up], fix

    Linus Torvalds
     
  • Impact: module build fix

    Fix:

    ERROR: "sysdev_resume" [arch/x86/kernel/apm.ko] undefined!
    ERROR: "sysdev_suspend" [arch/x86/kernel/apm.ko] undefined!

    As these APIs are now used by the APM driver, which can be built
    as a module.

    Also fix a few extra (and inconsistent) newlines in comment blocks
    preceding these functions.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • The kernel-api docbook was much larger than any of the others,
    so processing it took longer and needed some docbook extras in
    some cases, so split it into kernel-api (infrastructure etc.)
    and device drivers/device subsystems. This allows these docbooks
    to be generated in parallel. (This reduced the docbook processing
    time on my 4-proc system with make -j4 from about 5min:16sec to
    about 2min:01sec.)

    The chapters that were moved from kernel-api to device-drivers are:

    Driver Basics
    Device drivers infrastructure
    Parallel Port Devices
    Message-based devices
    Sound Devices
    16x50 UART Driver
    Frame Buffer Library
    Input Subsystem
    Serial Peripheral Interface (SPI)
    I2C and SMBus Subsystem

    Signed-off-by: Randy Dunlap
    Acked-by: Sam Ravnborg
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Change the CONFIG_X86_EXTENDED_PLATFORM help text to display the
    32bit/64bit extended platform list. This is as suggested by Ingo.

    Signed-off-by: Ravikiran Thirumalai
    Cc: shai@scalex86.org
    Cc: "Benzi Galili (Benzi@ScaleMP.com)"
    Signed-off-by: Ingo Molnar

    Ravikiran G Thirumalai
     
  • Conflicts:
    arch/x86/mach-default/setup.c

    Semantic conflict resolution:
    arch/x86/kernel/setup.c

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Move the sysdev_suspend/resume from the callee to the callers, with
    no real change in semantics, so that we can rework the disabling of
    interrupts during suspend/hibernation.

    This is based on an earlier patch from Linus.

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

    Rafael J. Wysocki
     
  • Right now nobody cares, but the suspend/resume code will eventually want
    to suspend device interrupts without suspending the timer, and will
    depend on this flag to know.

    The modern x86 timer infrastructure uses the local APIC timers and never
    shows up as a device interrupt at all, so it isn't affected and doesn't
    need any of this.

    Cc: Rafael J. Wysocki
    Cc: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    ACPI: remove CONFIG_ACPI_SYSTEM
    fujitsu-laptop: Use RFKILL support bitmask from firmware
    x86_64: Fix S3 fail path
    x86_64: acpi/wakeup_64 cleanup
    battery: don't assume we are fully charged when not charging or discharging
    ACPI: EC: Add delay for slow MSI controller

    Linus Torvalds
     
  • Fix descriptions of device attributes to be consistent with the actual
    implementations in include/linux/device.h

    Signed-off-by: Mike Murphy
    Signed-off-by: Linus Torvalds

    Mike Murphy
     
  • Fix the presented definition of struct device_attribute to match the
    actual definition in include/linux/device.h

    Signed-off-by: Mike Murphy
    Signed-off-by: Linus Torvalds

    Mike Murphy
     
  • http://kisskb.ellerman.id.au/kisskb/buildresult/72115/:
    | net/mac80211/ieee80211_i.h:327: error: syntax error before 'volatile'
    | net/mac80211/ieee80211_i.h:350: error: syntax error before '}' token
    | net/mac80211/ieee80211_i.h:455: error: field 'sta' has incomplete type
    | distcc[19430] ERROR: compile net/mac80211/main.c on sprygo/32 failed

    This is caused by

    | # define mfp ((*(volatile struct MFP*)MFP_BAS))

    in arch/m68k/include/asm/atarihw.h, which conflicts with the new "mfp" enum in
    net/mac80211/ieee80211_i.h.

    Rename "mfp" to "st_mfp", as it's a way too generic name for a global #define.

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

    Geert Uytterhoeven
     
  • If BIOS hands over the control to OS in legacy xapic mode, select
    legacy xapic related ops in the early apic probe and shift to x2apic
    ops later in the boot sequence, only after enabling x2apic mode.

    If BIOS hands over the control in x2apic mode, select x2apic related
    ops in the early apic probe.

    This fixes the early boot panic, where we were selecting x2apic ops,
    while the cpu is still in legacy xapic mode.

    Signed-off-by: Suresh Siddha
    Cc: Yinghai Lu
    Cc: Andrew Morton
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • Impact: cleanup

    Introduce {get|set}_user_seg() and loadsegment_xx() macros to make code clean.

    Signed-off-by: Hiroshi Shimamoto
    Signed-off-by: Ingo Molnar

    Hiroshi Shimamoto