Before doing that, please try the patch I had in my pre-2.1.0 announcement,
the one that changes one line in mm/vmalloc.c (remap_area_pte): change
set_pte(pte, mk_pte(offset, PAGE_KERNEL));
into
set_pte(pte, mk_pte(offset+PAGE_OFFSET, PAGE_KERNEL));
(it's line 187). Does that make a difference for you?
NOTE! If it still doesn't work, then the problem is most likely in the NCR
driver using physical addresses when it should use virtual or vice versa.
That's not necessarily easy to find unless you know the driver, which is why
I'm not going to even try.
(but the mm/vmalloc.c change looks valid regardless)
Linus