From: Ingo Molnar <mingo@elte.hu>
To: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: David Witbrodt <dawitbro@sbcglobal.net>,
Linux-kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: HPET regression in 2.6.26 versus 2.6.25 -- found another user with the same regression
Date: Mon, 25 Aug 2008 08:27:46 +0200 [thread overview]
Message-ID: <20080825062746.GA26445@elte.hu> (raw)
In-Reply-To: <86802c440808242141j716b5875s709dc56c1163a7d5@mail.gmail.com>
* Yinghai Lu <yhlu.kernel@gmail.com> wrote:
> [PATCH] x86: check hpet with BAR v2
>
> insert some resources to resource tree forcily, so could avoid kernel update the
> resources in pci device.
>
> should check in device too.
>
> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
>
> ---
> arch/x86/pci/i386.c | 43 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 43 insertions(+)
>
> Index: linux-2.6/arch/x86/pci/i386.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/pci/i386.c
> +++ linux-2.6/arch/x86/pci/i386.c
> @@ -33,6 +33,7 @@
> #include <linux/bootmem.h>
>
> #include <asm/pat.h>
> +#include <asm/hpet.h>
>
> #include "pci.h"
>
> @@ -77,6 +78,30 @@ pcibios_align_resource(void *data, struc
> }
> EXPORT_SYMBOL(pcibios_align_resource);
>
> +static int check_res_with_valid(struct pci_dev *dev, struct resource *res)
> +{
> + unsigned long base;
> + unsigned long size;
> +
> + base = res->start;
> + size = (res->start == 0 && res->end == res->start) ? 0 :
> + (res->end - res->start + 1);
> +
> + if (!base || !size)
> + return 0;
> +
> +#ifdef CONFIG_HPET_TIMER
> + /* for hpet */
> + if (base == hpet_address && (res->flags & IORESOURCE_MEM)) {
> + dev_info(&dev->dev, "BAR has HPET at %08lx-%08lx\n",
> + base, base + size - 1);
> + return 1;
> + }
> +#endif
i think the warning should be more prominent and should also generate a
stack trace for the kerneloops client to pick up. A WARN() printout
would be perfect here.
Also, we should do subsequent commits as well enumerating all the other
'magic' non-PCI-enumerated bus memory resources that matter on a PC
platform: lapic address and io-apic address(es). Perhaps even the ACPI
NVS and ACPI data areas that are enumerated in e820.
(the lapic address will likely never be present in a PCI device - but
maybe the IO-APIC address can be present in theory - so lets protect
it.)
Another suggestion: perhaps this all should be done as a new, "sticky"
resource type flag [defined in include/linux/ioport.h and implemented in
kernel/resource.c], which would be inserted by the hpet driver, and
which would be listened to by pcibios_allocate_resources()
automatically. If the resource manager later on finds a generic-looking,
unclaimed PCI device whose BAR matches on it, then the new semantics
would mean that the device's BAR will not be touched.
This approach would be even more generic and would allow a robust
insertion of maybe-PCI addresses into the resource tree.
Ingo
next prev parent reply other threads:[~2008-08-25 6:28 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-25 2:00 HPET regression in 2.6.26 versus 2.6.25 -- found another user with the same regression David Witbrodt
2008-08-25 2:37 ` Yinghai Lu
2008-08-25 4:41 ` Yinghai Lu
2008-08-25 6:27 ` Ingo Molnar [this message]
2008-08-25 6:40 ` Yinghai Lu
2008-08-25 7:31 ` Ingo Molnar
2008-08-25 8:00 ` Yinghai Lu
2008-08-27 22:41 ` Jesse Barnes
2008-08-27 23:23 ` Yinghai Lu
2008-08-27 23:42 ` Jesse Barnes
-- strict thread matches above, loose matches on Subject: below --
2008-08-26 15:25 David Witbrodt
2008-08-26 12:58 David Witbrodt
2008-08-26 13:28 ` Ingo Molnar
2008-08-25 13:39 David Witbrodt
2008-08-25 17:24 ` Yinghai Lu
2008-08-25 17:28 ` Yinghai Lu
2008-08-25 3:06 David Witbrodt
2008-08-24 13:05 David Witbrodt
2008-08-24 19:29 ` Yinghai Lu
2008-08-24 22:48 ` Yinghai Lu
2008-08-24 2:39 David Witbrodt
2008-08-24 3:44 ` Yinghai Lu
2008-08-23 23:42 David Witbrodt
2008-08-24 2:05 ` Yinghai Lu
2008-08-23 19:47 David Witbrodt
2008-08-23 20:12 ` Yinghai Lu
2008-08-23 20:51 ` Yinghai Lu
2008-08-23 19:29 David Witbrodt
2008-08-23 18:26 Rufus & Azrael
2008-08-23 19:17 ` Yinghai Lu
2008-08-23 19:40 ` Rufus & Azrael
2008-08-23 20:10 ` Yinghai Lu
2008-08-23 20:15 ` Rufus & Azrael
2008-08-23 20:28 ` Yinghai Lu
2008-08-23 20:33 ` Rufus & Azrael
2008-08-23 20:35 ` Yinghai Lu
2008-08-23 20:36 ` Rufus & Azrael
2008-08-23 20:45 ` Yinghai Lu
2008-08-23 21:05 ` Yinghai Lu
2008-08-28 22:52 ` Jordan Crouse
2008-09-12 17:39 ` Andreas Herrmann
2008-09-12 17:45 ` Jordan Crouse
2008-09-14 16:25 ` Ingo Molnar
2008-08-23 16:44 David Witbrodt
2008-08-23 16:32 David Witbrodt
2008-08-23 15:42 David Witbrodt
2008-08-23 15:55 ` Ingo Molnar
2008-08-23 11:58 David Witbrodt
2008-08-23 13:36 ` Ingo Molnar
2008-08-23 15:03 ` Ingo Molnar
2008-08-23 17:51 ` Yinghai Lu
2008-08-23 11:42 David Witbrodt
2008-08-23 2:25 David Witbrodt
2008-08-23 5:41 ` Yinghai Lu
2008-08-23 6:56 ` Yinghai Lu
2008-08-22 1:24 David Witbrodt
2008-08-21 16:53 David Witbrodt
2008-08-21 17:57 ` Yinghai Lu
2008-08-21 14:09 David Witbrodt
2008-08-21 15:33 ` Yinghai Lu
2008-08-21 13:33 David Witbrodt
2008-08-21 4:07 David Witbrodt
2008-08-21 6:42 ` Yinghai Lu
2008-08-21 7:04 ` Ilpo Järvinen
2008-08-21 2:48 David Witbrodt
2008-08-20 17:42 David Witbrodt
2008-08-20 17:58 ` Yinghai Lu
2008-08-21 2:02 ` Yinghai Lu
2008-08-20 16:44 David Witbrodt
2008-08-20 14:32 David Witbrodt
2008-08-20 14:49 ` Ingo Molnar
2008-08-20 14:08 David Witbrodt
2008-08-20 4:51 David Witbrodt
2008-08-20 5:21 ` Yinghai Lu
2008-08-20 7:51 ` Bill Fink
2008-08-20 8:02 ` Yinghai Lu
2008-08-20 9:15 ` Ingo Molnar
2008-08-20 9:31 ` Yinghai Lu
2008-08-20 9:36 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080825062746.GA26445@elte.hu \
--to=mingo@elte.hu \
--cc=dawitbro@sbcglobal.net \
--cc=linux-kernel@vger.kernel.org \
--cc=yhlu.kernel@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox