1. 28 2月, 2009 2 次提交
  2. 26 2月, 2009 4 次提交
  3. 25 2月, 2009 26 次提交
  4. 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
  5. 23 2月, 2009 7 次提交
    • P
      perfcounters/powerpc: Make exclude_kernel bit work on Apple G5 processors · d095cd46
      Paul Mackerras 提交于
      Currently, setting hw_event.exclude_kernel does nothing on the PPC970
      variants used in Apple G5 machines, because they have the HV (hypervisor)
      bit in the MSR forced to 1, so as far as the PMU is concerned, the
      kernel runs in hypervisor mode.  Thus we have to use the MMCR0_FCHV
      (freeze counters in hypervisor mode) bit rather than the MMCR0_FCS
      (freeze counters in supervisor mode) bit.
      
      This checks the MSR.HV bit at startup, and if it is set, we set the
      freeze_counters_kernel variable to MMCR0_FCHV (it was initialized to
      MMCR0_FCS).  We then use that whenever we need to exclude kernel events.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d095cd46
    • 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