Programs using kmem to read kernel memory (ex: ktrdump) are
getting invalid address errors.
This happens because mem_valid() don't find direct mapped memory
range 0xc000...0000 in pranges.
As in pseries the kernel gets relocated to 0xc000...0000 early in
the boot phase, I thought that it would be reasonable to add
another memory region starting at the new address, with the same
size.
However, I really don't know if this is the correct way to fix
the issue.
This change is being done after MMU initialization, because
otherwise the system will panic saying 0xc000...0000 is already
being used.