Hmmm....this is in 2.4? Did you apply all of the 36-bit IO
patch as Pete Popov has mentioned in past e-mail messages?
Did you make sure you enabled CONFIG_64BIT_PHYS_ADDR?
I know this does work. In fact, you should just use
io_remap_page_range(). If that doesn't work, something
is wrong with the kernel configuration.
-- Dan