1. 26 2月, 2009 4 次提交
  2. 25 2月, 2009 26 次提交
  3. 24 2月, 2009 1 次提交
    • S
      x86: minor cleanup in the espfix code · bda3a897
      Stas Sergeev 提交于
      Impact: Cleanup
      
      Checkin be44d2aa 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: NStas Sergeev <stsp@aknet.ru>
      CC: Zachary Amsden <zach@vmware.com>
      CC: Chuck Ebbert <cebbert@redhat.com>
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      bda3a897
  4. 23 2月, 2009 9 次提交
    • Y
      x86: check mptable physptr with max_low_pfn on 32bit · ecda0628
      Yinghai Lu 提交于
      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: NKevin O'Connor <kevin@koconnor.net>
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Stefan Reinauer <stepan@coresystems.de>
      Cc: coreboot@coreboot.org
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ecda0628
    • I
      x86: refactor x86_quirks support · 8e6dafd6
      Ingo Molnar 提交于
      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: NIngo Molnar <mingo@elte.hu>
      8e6dafd6
    • I
      x86: remove various unused subarch hooks · d85a881d
      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: NIngo Molnar <mingo@elte.hu>
      d85a881d
    • I
      x86: remove the Voyager 32-bit subarch · 965c7eca
      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: NIngo Molnar <mingo@elte.hu>
      965c7eca
    • R
      x86: improve the help text of X86_EXTENDED_PLATFORM · 8425091f
      Ravikiran G Thirumalai 提交于
      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: NRavikiran Thirumalai <kiran@scalex86.org>
      Cc: shai@scalex86.org
      Cc: "Benzi Galili (Benzi@ScaleMP.com)" <benzi@scalemp.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      8425091f
    • R
      PM: Split up sysdev_[suspend|resume] from device_power_[down|up] · 770824bd
      Rafael J. Wysocki 提交于
      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: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      770824bd
    • L
      x86: Add IRQF_TIMER to legacy x86 timer interrupt descriptors · 936577c6
      Linus Torvalds 提交于
      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 <rjw@sisk.pl>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      936577c6
    • G
      m68k: atari - Rename "mfp" to "st_mfp" · 3d92e8f3
      Geert Uytterhoeven 提交于
      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: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3d92e8f3
    • S
      x86: select x2apic ops in early apic probe only if x2apic mode is enabled · ef1f87aa
      Suresh Siddha 提交于
      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: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ef1f87aa