>-----Original Message----- >From: Robert Hancock [mailto:[EMAIL PROTECTED] >Sent: Friday, June 29, 2007 8:59 AM >To: Zan Lynx >Cc: Andrew Morton; linux-kernel@vger.kernel.org; Raj, Ashok; Li, Shaohua; >Keshavamurthy, Anil S >Subject: Re: 2.6.22-rc6-mm1 Intel DMAR crash on AMD x86_64 > >Zan Lynx wrote: >> On Thu, 2007-06-28 at 03:43 -0700, Andrew Morton wrote: >>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22- >rc6/2.6.22-rc6-mm1/ >> >>> +intel-iommu-dmar-detection-and-parsing-logic.patch >>> +intel-iommu-pci-generic-helper-function.patch >>> +intel-iommu-pci-generic-helper-function-fix.patch >>> +intel-iommu-clflush_cache_range-now-takes-size-param.patch >>> +intel-iommu-iova-allocation-and-management-routines.patch >>> +intel-iommu-iova-allocation-and-management-routines-fix.patch >>> +intel-iommu-iova-allocation-and-management-routines-fix-2.patch >>> +intel-iommu-intel-iommu-driver.patch >>> +intel-iommu-intel-iommu-driver-fix.patch >>> +intel-iommu-intel-iommu-driver-fix-2.patch >>> +intel-iommu-avoid-memory-allocation-failures-in-dma-map-api-calls.patch >>> +intel-iommu-intel-iommu-cmdline-option-forcedac.patch >>> +intel-iommu-dmar-fault-handling-support.patch >>> +intel-iommu-iommu-gfx-workaround.patch >>> +intel-iommu-iommu-floppy-workaround.patch >>> +intel-iommu-iommu-floppy-workaround-fix.patch >>> +intel-iommu-iommu-floppy-workaround-fix-fix.patch >>> >>> Intel IOMMU support >> >> I believe the above patch set is causing the problem. On my first try >> with rc6-mm1 I said Yes to the CONFIG_DMAR options. (I'm nearly as good >> as random option selection :-) >> >> The system panicked during boot, I believe it was trying to detect an >> Intel IOMMU. Later when I have a camera, I will try to post a >> screenshot of the backtrace. (I can't seem to get netconsole to work on >> boot, only in a module). >> >> When I recompiled without DMAR set, things seem to be working great. I >> seem to be getting better disk read throughput than rc3-mm1, by the way. >> >> This laptop is an AMD Athlon64 on a NForce3 running a 64-bit Gentoo >> build. >> >> I'll provide more details on request, and when I get the chance. This >> is a heads-up on the BUG in case someone has an "ah ha!" moment. > >I took a picture of it, looks like the backtrace is: > >NULL pointer dereference at 024 >EIP:dmar_table_init+0x11 >intel_iommu_init+0x30 >pci_iommu_init+0xe >kernel_init+0x16e > >Presumably something is NULL in dmar_table_init that wasn't expected to >be.. I would guess it likely crashes on any system without an Intel >IOMMU in it. How about something like below?
int __init dmar_table_init(void) { + if (!dmar_tbl) + return -ENODEV; parse_dmar_table(); if (list_empty(&dmar_drhd_units)) { printk(KERN_ERR PREFIX "No DMAR devices found\n"); return -ENODEV; } return 0; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/