Messages in this thread | | | Date | Wed, 27 Feb 2008 20:48:03 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: hpwdt oops in clflush_cache_range |
| |
On Wed, 27 Feb 2008, Roland Dreier wrote:
> > Can you provide a full boot log please ? > > Sure, below.
> [ 0.004000] Intel(R) Xeon(R) CPU 5160 @ 3.00GHz stepping 06
This one has 36bit physical address space. You can verify that via /proc/cpuinfo
> [ 8425.910898] ACPI: PCI Interrupt 0000:01:04.0[A] -> GSI 21 (level, low) -> IRQ 21 > [ 8425.915097] hpwdt: New timer passed in is 30 seconds. > [ 8425.915139] BUG: unable to handle kernel paging request at ffffc20001a0a000 > [ 8425.919087] IP: [<ffffffff8021dacc>] clflush_cache_range+0xc/0x25 > [ 8425.919087] PGD 1bf80e067 PUD 1bf80f067 PMD 1bb497067 PTE 80000047000ee17b
While the physical address of your ioremap is 47000ee000.
2^ 36 == 1000000000 ----> 47000ee000
So the fault is not very surprising. Unfortunately we do not check, whether physaddr is inside the valid physical address space. I whip up a patch to do that.
Can you please instrument the driver to figure out where this information comes from ? Or maybe lspci tells already.
Thanks,
tglx
| |