1. 08 Aug, 2009 1 commit
    • Yinghai Lu's avatar
      x86: Fix MSI-X initialization by using online_mask for x2apic target_cpus · 087d7e56
      Yinghai Lu authored
      found a system where x2apic reports an MSI-X irq initialization
      failure:
      
      [  302.859446] igbvf 0000:81:10.4: enabling device (0000 -> 0002)
      [  302.874369] igbvf 0000:81:10.4: using 64bit DMA mask
      [  302.879023] igbvf 0000:81:10.4: using 64bit consistent DMA mask
      [  302.894386] igbvf 0000:81:10.4: enabling bus mastering
      [  302.898171] igbvf 0000:81:10.4: setting latency timer to 64
      [  302.914050] reserve_memtype added 0xefb08000-0xefb0c000, track uncached-minus, req uncached-minus, ret uncached-minus
      [  302.933839] reserve_memtype added 0xefb28000-0xefb29000, track uncached-minus, req uncached-minus, ret uncached-minus
      [  302.940367]   alloc irq_desc for 265 on node 4
      [  302.956874]   alloc kstat_irqs on node 4
      [  302.959452] alloc irq_2_iommu on node 0
      [  302.974328] igbvf 0000:81:10.4: irq 265 for MSI/MSI-X
      [  302.977778]   alloc irq_desc for 266 on node 4
      [  302.980347]   alloc kstat_irqs on node 4
      [  302.995312] free_memtype request 0xefb28000-0xefb29000
      [  302.998816] igbvf 0000:81:10.4: Failed to initialize MSI-X interrupts.
      
      ... it turns out that when trying to enable MSI-X,
      __assign_irq_vector(new, cfg_new, apic->target_cpus()) can not
      get vector because for x2apic target-cpus returns cpumask_of(0)
      
      Update that to online_mask like xapic.
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Acked-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <4A785AFF.3050902@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      087d7e56
  2. 05 Aug, 2009 1 commit
    • Alok Kataria's avatar
      x86: Fix VMI && stack protector · 7d5b0056
      Alok Kataria authored
      With CONFIG_STACK_PROTECTOR turned on, VMI doesn't boot with
      more than one processor. The problem is with the gs value not
      being initialized correctly when registering the secondary
      processor for VMI's case.
      
      The patch below initializes the gs value for the AP to
      __KERNEL_STACK_CANARY. Without this the secondary processor
      keeps on taking a GP on every gs access.
      Signed-off-by: default avatarAlok N Kataria <akataria@vmware.com>
      Cc: <stable@kernel.org> # for v2.6.30.x
      LKML-Reference: <1249425262.18955.40.camel@ank32.eng.vmware.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      7d5b0056
  3. 04 Aug, 2009 38 commits