1. 23 2月, 2009 1 次提交
    • 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
  2. 18 2月, 2009 21 次提交
  3. 17 2月, 2009 6 次提交
  4. 16 2月, 2009 9 次提交
  5. 15 2月, 2009 3 次提交
    • Y
      x86: make 32bit to call enable_IO_APIC early like 64bit · 88d0f550
      Yinghai Lu 提交于
      Impact: cleanup
      
      So we remove some #ifdefs.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      88d0f550
    • T
      x86, vm86: fix preemption bug · be716615
      Thomas Gleixner 提交于
      Commit 3d2a71a5 ("x86, traps: converge
      do_debug handlers") changed the preemption disable logic of do_debug()
      so vm86_handle_trap() is called with preemption disabled resulting in:
      
       BUG: sleeping function called from invalid context at include/linux/kernel.h:155
       in_atomic(): 1, irqs_disabled(): 0, pid: 3005, name: dosemu.bin
       Pid: 3005, comm: dosemu.bin Tainted: G        W  2.6.29-rc1 #51
       Call Trace:
        [<c050d669>] copy_to_user+0x33/0x108
        [<c04181f4>] save_v86_state+0x65/0x149
        [<c0418531>] handle_vm86_trap+0x20/0x8f
        [<c064e345>] do_debug+0x15b/0x1a4
        [<c064df1f>] debug_stack_correct+0x27/0x2c
        [<c040365b>] sysenter_do_call+0x12/0x2f
       BUG: scheduling while atomic: dosemu.bin/3005/0x10000001
      
      Restore the original calling convention and reenable preemption before
      calling handle_vm86_trap().
      Reported-by: NMichal Suchanek <hramrach@centrum.cz>
      Cc: stable@kernel.org
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      be716615
    • Y
      x86: fix typo in filter_cpuid_features() · f6db44df
      Yinghai Lu 提交于
      Impact: fix wrong disabling of cpu features
      
      an amd system got this strange output:
      
       CPU: CPU feature monitor disabled due to lack of CPUID level 0x5
      
      but in /proc/cpuinfo I have:
      
       cpuid level	: 5
      
      on intel system:
      
       CPU: CPU feature monitor disabled due to lack of CPUID level 0x5
       CPU: CPU feature dca disabled due to lack of CPUID level 0x9
      
      but in /proc/cpuinfo i have:
      
       cpuid level     : 11
      
      Tt turns out there is a typo, and we should use level member in df.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f6db44df