lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87muanwwhb.fsf@nanos.tec.linutronix.de>
Date:   Thu, 16 Jan 2020 11:01:52 +0100
From:   Thomas Gleixner <tglx@...utronix.de>
To:     Kar Hin Ong <kar.hin.ong@...com>,
        Bjorn Helgaas <helgaas@...nel.org>
Cc:     linux-rt-users <linux-rt-users@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>,
        "x86\@kernel.org" <x86@...nel.org>,
        "linux-pci\@vger.kernel.org" <linux-pci@...r.kernel.org>,
        "H. Peter Anvin" <hpa@...or.com>,
        Dave Hansen <dave.hansen@...ux.intel.com>,
        Julia Cartwright <julia.cartwright@...com>,
        Keng Soon Cheah <keng.soon.cheah@...com>,
        Gratian Crisan <gratian.crisan@...com>,
        Peter Zijlstra <peterz@...radead.org>
Subject: RE: RE: Re: "oneshot" interrupt causes another interrupt to be fired erroneously in Haswell system

Kar Hin Ong <kar.hin.ong@...com> writes:
>> I don't have access to the document you mentioned, but I know that chipsets
>> have a knob to control that behaviour. Just checked a few chipset docs and they
>> contain the same sentence, but then in the next paragraph they say:
>> 
>>  "If the I/OxAPIC entry is masked (via the mask bit in the corresponding
>>   Redirection Table Entry), then the corresponding PCI Express
>>   interrupt(s) is forwarded to the legacy ICH, provided the Disable PCI
>>   INTx Routing to ICH bit is clear, Section 19.10.2.27, QPIPINTRC: Intel
>>   QuickPath Interconnect Protocol Interrupt Control."
>> 
>> That control bit is 0 after reset, so the legacy forwarding works.
>
> Intel support engineer do provide similar advice to us as a workaround
> to the CPU behaviour.  They said we could enable the "Don'tRouteToPCH"
> bit in the BIOS to block the interrupt from propagating to PCH.  This
> bit is located at "Coherent Interface Protocol Interrupt Control
> (cipintrc)" register of "Virtualization" device (Bus 0, Device 5,
> Function 0, Offset 0x14C).
>
> With the help of our BIOS engineer, after setting this bit in BIOS
> does prevent the interrupt forwarding.
>
> However, Intel told us that this workaround is not validated, i.e. the
> side effect of setting this bit is unknown.

What? That's ridiculous.

That bit is documented in various chipset documents and that legacy
rerouting is really just there to support OSes which do not support
multiple IO-APICs properly.

If setting this bit has unknown side effects then someone at Intel
should have a close look and fix their documentation.

Can the Intel people on Cc please take care of this?

As we have already quirks in drivers/pci/quirks.c which handle the same
issue on older chipsets, we really should add one for these kind of
systems to avoid fiddling with the BIOS (which you can, but most people
cannot).

Thanks,

        tglx

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ