[ Mips newbie, please provide lots of context :) ]
We're bringing up Linux on a new custom RM7000-based board. Almost
everything is working, except for the following odd behavior:
Userspace virtual addresses in the range 0x2c00_0000 to 0x4000_0000 are
unwritable, and always read as FF's. This is true whether I malloc() the
space, or mmap() it via remap_page_range(). The physical memory is working
fine, and is completely readable/writable from the kernel via ioremap().
Userspace virtual memory outside these addesses all works. If I mmap the
same physical memory to two user vitrual addresses, one inside the bad range
and one outside, the outside one works and the inside one doesn't.
So the question of course is Why, or failing that, where do I start to look?
And I guess: where can I make a quick hack to make the memory allocator skip
the bad range?