> - *mapaddr = (u64)(ioremap(physaddr, EHCA_PAGESIZE)); > + *mapaddr = (u64)ioremap((physaddr & PAGE_MASK), PAGE_SIZE) + > + (physaddr & (~PAGE_MASK)); I'm confused -- shouldn't ioremap() do the right thing even if physaddr isn't page-aligned? Why is this needed? - R.