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: <20081007045757.GB6355@elte.hu>
Date:	Tue, 7 Oct 2008 06:57:57 +0200
From:	Ingo Molnar <mingo@...e.hu>
To:	Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc:	Andreas Herrmann <andreas.herrmann3@....com>,
	"Maciej W. Rozycki" <macro@...ux-mips.org>,
	Andi Kleen <andi@...stfloor.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	"Rafael J. Wysocki" <rjw@...k.pl>, linux-kernel@...r.kernel.org,
	Andrew Morton <akpm@...ux-foundation.org>,
	Len Brown <lenb@...nel.org>,
	Jason Vas Dias <jason.vas.dias@...il.com>
Subject: Re: [PATCH] x86: SB450: skip IRQ0 override if it is not routed to
	INT2 of IOAPIC


* Dmitry Torokhov <dmitry.torokhov@...il.com> wrote:

> On Tue, Oct 07, 2008 at 05:41:32AM +0200, Ingo Molnar wrote:
> > 
> > * Andreas Herrmann <andreas.herrmann3@....com> wrote:
> > 
> > > So, let's work around BIOS bugs in Linux then ...
> > > 
> > > Following patch is almost untested -- especially I didn't get my hands 
> > > on one of the HP Laptops with broken DSDT.
> > [...]
> > > On some HP nx6... laptops (e.g. nx6325) BIOS reports an IRQ0 override 
> > > but the SB450 chipset is configured such that timer interrupts goe to 
> > > INT0 of IOAPIC.
> > > 
> > > Check IRQ0 routing and if it is routed to INT0 of IOAPIC skip the 
> > > timer override.
> > > 
> > > Signed-off-by: Andreas Herrmann <andreas.herrmann3@....com>
> > >
> > > ---
> > >  arch/x86/kernel/early-quirks.c |   48 ++++++++++++++++++++++++++++++++++++++++
> > >  1 files changed, 48 insertions(+), 0 deletions(-)
> > 
> > very nice, thanks Andreas! Applied to tip/x86/quirks. This PCI ID based 
> > quirk should be more complete than DMI matches.
> > 
> 
> You may add 'Tested by: Dmitry Torokhov <dtor@...l.ru> on nx6115'
> It works fine here with Andreas patch applied and with Rafael's patch
> dropped.
>
> Thanks Andreas!

ok, added your Tested-by to the changelog, thanks.

I also applied the patch below to deprioritize the DMI quirks for this 
problem (without actually removing them, yet). Could you please check 
whether latest tip/master:

  http://people.redhat.com/mingo/tip.git/README

boots fine out of box and that the WARN() does not trigger?

	Ingo

--------------->
>From 8d89adf44cf750e49691ba5b744b2ad77a05e997 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@...e.hu>
Date: Tue, 7 Oct 2008 06:47:52 +0200
Subject: [PATCH] x86: SB450: deprioritize DMI quirks

This PCI ID based quick should be a full solution for the IRQ0 override
related slowdown problem on SB450 based systems:

  33fb0e4: x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC

Emit a warning in those cases where the DMI quirk triggers but
the PCI ID based quirk didnt.

If this warning does not trigger then we can phase out the DMI quirks.

Signed-off-by: Ingo Molnar <mingo@...e.hu>
---
 arch/x86/kernel/acpi/boot.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index c102af8..096102d 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1421,8 +1421,16 @@ static int __init force_acpi_ht(const struct dmi_system_id *d)
  */
 static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d)
 {
-	pr_notice("%s detected: Ignoring BIOS IRQ0 pin2 override\n", d->ident);
-	acpi_skip_timer_override = 1;
+	/*
+	 * The ati_ixp4x0_rev() early PCI quirk should have set
+	 * the acpi_skip_timer_override flag already:
+	 */
+	if (!acpi_skip_timer_override) {
+		WARN(1, KERN_ERR "ati_ixp4x0 quirk not complete.\n");
+		pr_notice("%s detected: Ignoring BIOS IRQ0 pin2 override\n",
+			d->ident);
+		acpi_skip_timer_override = 1;
+	}
 	return 0;
 }
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ