On Thu, 9 Apr 2009 09:59:31 -0400, "John Stoffel" <john@xxxxxxxxxxx> wrote: > Here's a dmesg of bootup: > [ 0.000000] Linux version 2.6.29.1 (john@sail) (gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #24 SMP PREEMPT Tue Apr 7 11:30:52 EDT 2009 > [ 0.000999] Checking aperture... > [ 0.000999] No AGP bridge found > [ 0.000999] Node 0: aperture @ 20000000 size 32 MB > [ 0.000999] Aperture pointing to e820 RAM. Ignoring. > [ 0.000999] Your BIOS doesn't leave a aperture memory hole > [ 0.000999] Please enable the IOMMU option in the BIOS setup > [ 0.000999] This costs you 64 MB of RAM > [ 0.000999] Mapping aperture over 65536 KB of RAM @ 20000000 > [ 1396.271782] BUG: unable to handle kernel paging request at ffff880020a15cc0 So 20a15000 is in the aperture. Oh well, I screwed up. I meant to check for this back in 2006 but forgot, and miraclously it worked until now. Here's the problem: pg = phys_to_page(dma_addr); map = kmap_atomic(pg, KM_IRQ0); offset = mon_copy_to_buff(rp, offset, map + page_off, step_len); kunmap_atomic(map, KM_IRQ0); Obviously we don't want the page that's overlayed by the aperture, but the page where IOMMU is pointing. -- Pete -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html