16 Sep, 2020

1 commit


21 May, 2019

1 commit

  • Add SPDX license identifiers to all files which:

    - Have no license information of any form

    - Have EXPORT_.*_SYMBOL_GPL inside which was used in the
    initial scan/conversion to ignore the file

    These files fall under the project license, GPL v2 only. The resulting SPDX
    license identifier is:

    GPL-2.0-only

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

28 Feb, 2019

1 commit

  • On the bare metal, enabling X2APIC mode requires interrupt remapping
    function which helps to deliver irq to cpu with 32-bit APIC ID.
    Hyper-V doesn't provide interrupt remapping function so far and Hyper-V
    MSI protocol already supports to deliver interrupt to the CPU whose
    virtual processor index is more than 255. IO-APIC interrupt still has
    8-bit APIC ID limitation.

    This patch is to add Hyper-V stub IOMMU driver in order to enable
    X2APIC mode successfully in Hyper-V Linux guest. The driver returns X2APIC
    interrupt remapping capability when X2APIC mode is available. Otherwise,
    it creates a Hyper-V irq domain to limit IO-APIC interrupts' affinity
    and make sure cpus assigned with IO-APIC interrupt have 8-bit APIC ID.

    Define 24 IO-APIC remapping entries because Hyper-V only expose one
    single IO-APIC and one IO-APIC has 24 pins according IO-APIC spec(
    https://pdos.csail.mit.edu/6.828/2016/readings/ia32/ioapic.pdf).

    Reviewed-by: Michael Kelley
    Signed-off-by: Lan Tianyu
    Signed-off-by: Joerg Roedel

    Lan Tianyu
     

03 Dec, 2018

1 commit


06 Jun, 2018

1 commit

  • To address the EBUSY fail of interrupt affinity settings in case that the
    previous setting has not been cleaned up yet, use the new apic_ack_irq()
    function instead of the special ir_ack_apic_edge() implementation which is
    merily a wrapper around ack_APIC_irq().

    Preparatory change for the real fix

    Fixes: dccfe3147b42 ("x86/vector: Simplify vector move cleanup")
    Signed-off-by: Thomas Gleixner
    Tested-by: Song Liu
    Cc: Joerg Roedel
    Cc: Peter Zijlstra
    Cc: Song Liu
    Cc: Dmitry Safonov
    Cc: stable@vger.kernel.org
    Cc: Mike Travis
    Cc: Borislav Petkov
    Cc: Tariq Toukan
    Link: https://lkml.kernel.org/r/20180604162224.555716895@linutronix.de

    Thomas Gleixner
     

17 Feb, 2018

1 commit

  • The names of x86_io_apic_ops and its two member variables are
    misleading:

    The ->read() member is to read IO_APIC reg, while ->disable()
    which is called by native_disable_io_apic()/irq_remapping_disable_io_apic()
    is actually used to restore boot IRQ mode, not to disable the IO-APIC.

    So rename x86_io_apic_ops to 'x86_apic_ops' since it doesn't only
    handle the IO-APIC, but also the local APIC.

    Also rename its member variables and the related callbacks.

    Signed-off-by: Baoquan He
    Reviewed-by: Eric W. Biederman
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: douly.fnst@cn.fujitsu.com
    Cc: joro@8bytes.org
    Cc: prarit@redhat.com
    Cc: uobergfe@redhat.com
    Link: http://lkml.kernel.org/r/20180214054656.3780-6-bhe@redhat.com
    [ Rewrote the changelog. ]
    Signed-off-by: Ingo Molnar

    Baoquan He
     

13 Apr, 2016

1 commit

  • Signed-off-by: Borislav Petkov
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: iommu@lists.linux-foundation.org
    Cc: linux-pm@vger.kernel.org
    Cc: oprofile-list@lists.sf.net
    Link: http://lkml.kernel.org/r/1459801503-15600-8-git-send-email-bp@alien8.de
    Signed-off-by: Ingo Molnar

    Borislav Petkov
     

01 Oct, 2015

1 commit


14 Aug, 2015

1 commit


12 Jun, 2015

2 commits

  • Add a new interface irq_remapping_cap() to detect whether irq
    remapping supports new features, such as VT-d Posted-Interrupts.

    Export the function, so that KVM code can check this and use this
    mechanism properly.

    Signed-off-by: Feng Wu
    Reviewed-by: Jiang Liu
    Reviewed-by: Thomas Gleixner
    Acked-by: Joerg Roedel
    Cc: iommu@lists.linux-foundation.org
    Cc: dwmw2@infradead.org
    Link: http://lkml.kernel.org/r/1433827237-3382-10-git-send-email-feng.wu@intel.com
    Signed-off-by: Thomas Gleixner

    Feng Wu
     
  • Set Posted-Interrupts capability for Intel iommu when Interrupt
    Remapping is enabled, clear it when disabled.

    Signed-off-by: Feng Wu
    Reviewed-by: Thomas Gleixner
    Acked-by: Joerg Roedel
    Cc: jiang.liu@linux.intel.com
    Cc: iommu@lists.linux-foundation.org
    Cc: dwmw2@infradead.org
    Link: http://lkml.kernel.org/r/1433827237-3382-9-git-send-email-feng.wu@intel.com
    Signed-off-by: Thomas Gleixner

    Feng Wu
     

24 Apr, 2015

9 commits

  • Now we have converted to hierarchical irqdomains, so clean up unused code.

    Signed-off-by: Jiang Liu
    Tested-by: Joerg Roedel
    Cc: Konrad Rzeszutek Wilk
    Cc: David Cohen
    Cc: Sander Eikelenboom
    Cc: David Vrabel
    Cc: Tony Luck
    Cc: Greg Kroah-Hartman
    Cc: iommu@lists.linux-foundation.org
    Cc: Bjorn Helgaas
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Dimitri Sivanich
    Cc: Joerg Roedel
    Link: http://lkml.kernel.org/r/1428978610-28986-10-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • Now there is no user of x86_io_apic_ops.eoi_ioapic_pin anymore, so remove
    it.

    Signed-off-by: Jiang Liu
    Tested-by: Joerg Roedel
    Cc: Konrad Rzeszutek Wilk
    Cc: David Cohen
    Cc: Sander Eikelenboom
    Cc: David Vrabel
    Cc: Tony Luck
    Cc: Greg Kroah-Hartman
    Cc: iommu@lists.linux-foundation.org
    Cc: Bjorn Helgaas
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Dimitri Sivanich
    Cc: Joerg Roedel
    Cc: Yijing Wang
    Cc: Grant Likely
    Link: http://lkml.kernel.org/r/1428978610-28986-7-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • Now there is no user of x86_io_apic_ops.set_affinity anymore, so remove
    it.

    Signed-off-by: Jiang Liu
    Tested-by: Joerg Roedel
    Cc: Konrad Rzeszutek Wilk
    Cc: David Cohen
    Cc: Sander Eikelenboom
    Cc: David Vrabel
    Cc: Tony Luck
    Cc: Greg Kroah-Hartman
    Cc: iommu@lists.linux-foundation.org
    Cc: Bjorn Helgaas
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Dimitri Sivanich
    Cc: Joerg Roedel
    Cc: Yijing Wang
    Cc: Grant Likely
    Link: http://lkml.kernel.org/r/1428978610-28986-6-git-send-email-jiang.liu@linux.intel.com

    Jiang Liu
     
  • Now there is no user of x86_io_apic_ops.setup_entry anymore, so remove it.

    Signed-off-by: Jiang Liu
    Tested-by: Joerg Roedel
    Cc: Konrad Rzeszutek Wilk
    Cc: David Cohen
    Cc: Sander Eikelenboom
    Cc: David Vrabel
    Cc: Tony Luck
    Cc: Greg Kroah-Hartman
    Cc: iommu@lists.linux-foundation.org
    Cc: Bjorn Helgaas
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Dimitri Sivanich
    Cc: Joerg Roedel
    Cc: Yijing Wang
    Cc: Grant Likely
    Link: http://lkml.kernel.org/r/1428978610-28986-5-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • Now there's no user of irq_remapping_print_chip() anymore, so remove it.

    Signed-off-by: Jiang Liu
    Cc: Konrad Rzeszutek Wilk
    Cc: David Cohen
    Cc: Sander Eikelenboom
    Cc: David Vrabel
    Cc: Tony Luck
    Cc: Greg Kroah-Hartman
    Cc: Joerg Roedel
    Cc: iommu@lists.linux-foundation.org
    Cc: Bjorn Helgaas
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Dimitri Sivanich
    Cc: Joerg Roedel
    Link: http://lkml.kernel.org/r/1428905519-23704-29-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • Now MSI interrupt has been converted to new hierarchical irqdomain
    interfaces, so remove legacy MSI related code and interfaces.

    Signed-off-by: Jiang Liu
    Cc: Konrad Rzeszutek Wilk
    Cc: David Cohen
    Cc: Sander Eikelenboom
    Cc: David Vrabel
    Cc: Tony Luck
    Cc: Greg Kroah-Hartman
    Cc: iommu@lists.linux-foundation.org
    Cc: Rafael J. Wysocki
    Cc: Joerg Roedel
    Cc: Bjorn Helgaas
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Dimitri Sivanich
    Cc: Joerg Roedel
    Cc: Yijing Wang
    Link: http://lkml.kernel.org/r/1428905519-23704-18-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • Enhance MSI code to support hierarchical irqdomains, it helps to make
    the architecture more clear.

    Signed-off-by: Jiang Liu
    Cc: Konrad Rzeszutek Wilk
    Cc: David Cohen
    Cc: Sander Eikelenboom
    Cc: David Vrabel
    Cc: Tony Luck
    Cc: Greg Kroah-Hartman
    Cc: iommu@lists.linux-foundation.org
    Cc: Joerg Roedel
    Cc: Bjorn Helgaas
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Dimitri Sivanich
    Cc: Joerg Roedel
    Link: http://lkml.kernel.org/r/1428905519-23704-14-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • Introduce new interfaces for interrupt remapping drivers to support
    hierarchical irqdomains:

    1) irq_remapping_get_ir_irq_domain(): get irqdomain associated with an
    interrupt remapping unit. IOAPIC/HPET drivers use this interface to
    get parent interrupt remapping irqdomain.

    2) irq_remapping_get_irq_domain(): get irqdomain for an IRQ allocation.
    This is mainly used to support MSI irqdomain. We must build one MSI
    irqdomain for each interrupt remapping unit. MSI driver calls this
    interface to get MSI irqdomain associated with an IR irqdomain which
    manages the PCI devices. In a further step we will store the irqdomain
    pointer in the device struct to avoid this call in the irq allocation
    path.

    Architecture specific hooks:
    1) arch_get_ir_parent_domain(): get parent irqdomain for IR irqdomain,
    which is x86_vector_domain on x86 platforms.
    2) arch_create_msi_irq_domain(): create an MSI irqdomain associated with
    the interrupt remapping unit.

    We also add following callbacks into struct irq_remap_ops:
    struct irq_domain *(*get_ir_irq_domain)(struct irq_alloc_info *);
    struct irq_domain *(*get_irq_domain)(struct irq_alloc_info *);

    Once all clients of IR have been converted to the new hierarchical irqdomain
    interfaces, we will:
    1) Remove set_ioapic_entry, set_affinity, free_irq, compose_msi_msg,
    msi_alloc_irq, msi_setup_irq, setup_hpet_msi from struct remap_osp
    2) Remove setup_ioapic_remapped_entry, free_remapped_irq,
    compose_remapped_msi_msg, setup_hpet_msi_remapped, setup_remapped_irq.
    3) Simplify x86_io_apic_ops and x86_msi.

    We can achieve a way clearer architecture with all these changes
    applied.

    Signed-off-by: Jiang Liu
    Acked-by: Joerg Roedel
    Cc: Konrad Rzeszutek Wilk
    Cc: David Cohen
    Cc: Sander Eikelenboom
    Cc: David Vrabel
    Cc: Tony Luck
    Cc: Greg Kroah-Hartman
    Cc: iommu@lists.linux-foundation.org
    Cc: Bjorn Helgaas
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Dimitri Sivanich
    Cc: Joerg Roedel
    Link: http://lkml.kernel.org/r/1428905519-23704-9-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • Use new irqdomain interfaces to allocate/free IRQ for DMAR and interrupt
    remapping, so we can remove GENERIC_IRQ_LEGACY_ALLOC_HWIRQ later.

    The private definitions of irq_alloc_hwirqs()/irq_free_hwirqs() are a
    temporary solution, they will be removed once we have converted the
    interrupt remapping driver to use irqdomain framework.

    Signed-off-by: Jiang Liu
    Cc: Konrad Rzeszutek Wilk
    Cc: David Cohen
    Cc: Sander Eikelenboom
    Cc: David Vrabel
    Cc: Tony Luck
    Cc: Greg Kroah-Hartman
    Cc: iommu@lists.linux-foundation.org
    Cc: Joerg Roedel
    Cc: Bjorn Helgaas
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Dimitri Sivanich
    Cc: Joerg Roedel
    Link: http://lkml.kernel.org/r/1428905519-23704-8-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     

15 Jan, 2015

5 commits

  • Refine code by normailizing the way to detect whether IR is enabled.

    Signed-off-by: Jiang Liu
    Tested-by: Joerg Roedel
    Cc: Tony Luck
    Cc: iommu@lists.linux-foundation.org
    Cc: Benjamin Herrenschmidt
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Link: http://lkml.kernel.org/r/1420615903-28253-17-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • Change variable disable_irq_remap to be static and simplify the code.

    Signed-off-by: Jiang Liu
    Tested-by: Joerg Roedel
    Cc: Tony Luck
    Cc: iommu@lists.linux-foundation.org
    Cc: Benjamin Herrenschmidt
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Link: http://lkml.kernel.org/r/1420615903-28253-16-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • Assign intel_irq_remap_ops to remap_ops only if
    intel_irq_remap_ops.prepare() succeeds.

    Signed-off-by: Jiang Liu
    Tested-by: Joerg Roedel
    Cc: Tony Luck
    Cc: iommu@lists.linux-foundation.org
    Cc: Benjamin Herrenschmidt
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Link: http://lkml.kernel.org/r/1420615903-28253-15-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • Simplify irq_remapping code by killing irq_remapping_supported() and
    related interfaces.

    Joerg posted a similar patch at https://lkml.org/lkml/2014/12/15/490,
    so assume an signed-off from Joerg.

    Signed-off-by: Jiang Liu
    Signed-off-by: Joerg Roedel
    Tested-by: Joerg Roedel
    Cc: Tony Luck
    Cc: iommu@lists.linux-foundation.org
    Cc: H. Peter Anvin
    Cc: Benjamin Herrenschmidt
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: David Rientjes
    Cc: HATAYAMA Daisuke
    Cc: Jan Beulich
    Cc: Richard Weinberger
    Cc: Oren Twaig
    Link: http://lkml.kernel.org/r/1420615903-28253-14-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     
  • enable_IR_x2apic() calls setup_irq_remapping_ops() which by default
    installs the intel dmar remapping ops and then calls the amd iommu irq
    remapping prepare callback to figure out whether we are running on an
    AMD machine with irq remapping hardware.

    Right after that it calls irq_remapping_prepare() which pointlessly
    checks:
    if (!remap_ops || !remap_ops->prepare)
    return -ENODEV;
    and then calls

    remap_ops->prepare()

    which is silly in the AMD case as it got called from
    setup_irq_remapping_ops() already a few microseconds ago.

    Simplify this and just collapse everything into
    irq_remapping_prepare().

    The irq_remapping_prepare() remains still silly as it assigns blindly
    the intel ops, but that's not scope of this patch.

    The scope here is to move the preperatory work, i.e. memory
    allocations out of the atomic section which is required to enable irq
    remapping.

    Signed-off-by: Thomas Gleixner
    Tested-by: Borislav Petkov
    Acked-and-tested-by: Joerg Roedel
    Cc: Tony Luck
    Cc: iommu@lists.linux-foundation.org
    Cc: Joerg Roedel
    Cc: H. Peter Anvin
    Cc: Benjamin Herrenschmidt
    Cc: Yinghai Lu
    Cc: David Rientjes
    Cc: HATAYAMA Daisuke
    Cc: Jan Beulich
    Cc: Richard Weinberger
    Cc: Oren Twaig
    Cc: x86@kernel.org
    Link: http://lkml.kernel.org/r/20141205084147.232633738@linutronix.de
    Link: http://lkml.kernel.org/r/1420615903-28253-2-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Jiang Liu
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

16 Dec, 2014

1 commit

  • Use helpers to access irq_cfg data structure associated with IRQ,
    instead of accessing irq_data->chip_data directly. Later we can
    rewrite those helpers to support hierarchy irqdomain.

    Signed-off-by: Jiang Liu
    Cc: Konrad Rzeszutek Wilk
    Cc: Tony Luck
    Cc: Greg Kroah-Hartman
    Cc: iommu@lists.linux-foundation.org
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Bjorn Helgaas
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Joerg Roedel
    Link: http://lkml.kernel.org/r/1414397531-28254-18-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     

23 Nov, 2014

1 commit

  • Simplify PCI MSI code by initializing msi_desc.nvec_used and
    msi_desc.msi_attrib.multiple when creating MSI descriptors.

    Also remove redundant checks in IRQ remapping drivers, PCI MSI core
    already guarantees these.

    Signed-off-by: Jiang Liu
    Acked-by: Bjorn Helgaas
    Cc: Bjorn Helgaas
    Cc: Grant Likely
    Cc: Marc Zyngier
    Cc: Yingjoe Chen
    Cc: Yijing Wang
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     

26 Sep, 2014

1 commit

  • Commit 71054d8841b4 ("x86, hpet: Introduce x86_msi_ops.setup_hpet_msi")
    introduced x86_msi_ops.setup_hpet_msi to setup hpet MSI irq
    when irq remapping enabled. This caused a regression of
    hpet MSI irq remapping.

    Original code flow before commit 71054d8841b4:
    hpet_setup_msi_irq()
    arch_setup_hpet_msi()
    setup_hpet_msi_remapped()
    remap_ops->setup_hpet_msi()
    alloc_irte()
    msi_compose_msg()
    hpet_msi_write()
    ...

    Current code flow after commit 71054d8841b4:
    hpet_setup_msi_irq()
    x86_msi.setup_hpet_msi()
    setup_hpet_msi_remapped()
    intel_setup_hpet_msi()
    alloc_irte()

    Currently, we only call alloc_irte() for hpet MSI, but
    do not composed and wrote its msg...

    Signed-off-by: Yijing Wang
    Signed-off-by: Joerg Roedel

    Yijing Wang
     

16 May, 2014

1 commit

  • The create_irq variants are going away. Use the new interface. The
    core and arch code already excludes the gsi interrupts from the
    allocation, so no functional change.

    This does not replace the requirement to move x86 to irq domains, but
    it limits the mess to some degree.

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Grant Likely
    Cc: Tony Luck
    Cc: Peter Zijlstra
    Acked-by: Joerg Roedel
    Cc: x86@kernel.org
    Cc: iommu@lists.linux-foundation.org
    Link: http://lkml.kernel.org/r/20140507154334.741805075@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

09 Jan, 2014

1 commit


30 Dec, 2013

1 commit


04 Jun, 2013

1 commit

  • Current multiple-MSI implementation does not take into account actual
    number of requested MSIs and always rounds that number to a larger
    power-of-two value. Yet, the number of MSIs a PCI device could send (and
    therefore the number of messages a device driver could request) may be
    smaller. As result, resources allocated for extra MSIs are just wasted.

    This update takes advantage of 'msi_desc::nvec_used' field introduced with
    generic MSI code to track the number of requested and used MSIs. As
    result, resources associated with interrupts are conserved. Of those
    resources most noticeable are x86 interrupt vectors.

    The initial version of this fix also conserved IRTEs, but Jan noticed that
    a malfunctioning PCI device might send a message number it did not claim
    and thus refer to an IRTE it does not own. To avoid this security hole,
    as many IRTEs are reserved as the device could possibly send.

    [bhelgaas: changelog, rename to "nvec_used"]
    Signed-off-by: Alexander Gordeev
    Signed-off-by: Bjorn Helgaas

    Alexander Gordeev
     

02 May, 2013

1 commit


18 Apr, 2013

1 commit

  • A few years back intel published a spec update:
    http://www.intel.com/content/dam/doc/specification-update/5520-and-5500-chipset-ioh-specification-update.pdf

    For the 5520 and 5500 chipsets which contained an errata (specificially errata
    53), which noted that these chipsets can't properly do interrupt remapping, and
    as a result the recommend that interrupt remapping be disabled in bios. While
    many vendors have a bios update to do exactly that, not all do, and of course
    not all users update their bios to a level that corrects the problem. As a
    result, occasionally interrupts can arrive at a cpu even after affinity for that
    interrupt has be moved, leading to lost or spurrious interrupts (usually
    characterized by the message:
    kernel: do_IRQ: 7.71 No irq handler for vector (irq -1)

    There have been several incidents recently of people seeing this error, and
    investigation has shown that they have system for which their BIOS level is such
    that this feature was not properly turned off. As such, it would be good to
    give them a reminder that their systems are vulnurable to this problem. For
    details of those that reported the problem, please see:
    https://bugzilla.redhat.com/show_bug.cgi?id=887006

    [ Joerg: Removed CONFIG_IRQ_REMAP ifdef from early-quirks.c ]

    Signed-off-by: Neil Horman
    CC: Prarit Bhargava
    CC: Don Zickus
    CC: Don Dutile
    CC: Bjorn Helgaas
    CC: Asit Mallick
    CC: David Woodhouse
    CC: linux-pci@vger.kernel.org
    CC: Joerg Roedel
    CC: Konrad Rzeszutek Wilk
    CC: Arkadiusz Miśkiewicz
    Signed-off-by: Joerg Roedel

    Neil Horman
     

26 Mar, 2013

1 commit


28 Jan, 2013

5 commits