While testing some PCI card, we had a problem with mmap always returning
EINVAL. It seems the problem is related to trying to map the last 4K of
physical memory. The BIOS assigned address 0xFFFFFE00 to the card. My
guess is that since pages are 4K minium the OS reject 0XFFFFFE00 since the
4K page would end up creating a page that is pass the maximum address the
CPU can access. We have for now find a work around for this problem but I
wonder what is the proper way to deal with this and is mmap behaving
properly or not?