From: Lukas Razik <linux@xxxxxxxxxx> Date: Wed, 16 Nov 2011 19:22:34 +0000 (GMT) > I'm wondering if the bug is in the mlx4 code or in the sparc > io_remap_pfn_range() > code. From the "Bad page map" pte value, if I understand sparc mm correctly, > the PTE is seen as not present. The not-present test is essentially testing the PTE against zero. This bug check is making sure that there are not already existing mappings at that address when the io_remap_pfn_range() call occurs. x86 uses remap_pfn_range() as the implementation of it's io_remap_pfn_range() and it also has the same exact assertion check, in remap_pte_range(). I can't see any obvious bug in the mlx4 mmap method. The only thing I can come up with is that perhaps there is an assumption hiding around somewhere that PAGE_SIZE is 4096. Such an assumption would go undetected on both 32-bit and 64-bit x86 platforms since PAGE_SIZE is 4096 there. Whereas on sparc64 it is 8192. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html