A MemoryHole is a hole in physical -> logical memory mapping.
The general cause is either low level memory mapping on SouthBridge? (the addresses passed to SouthBridge? are physical as far as the CPU and OS are concerned), a memory block owned by BIOS (0x00000000 - 0x000000FFF, 0x00000C0000-0x0000FFFFF), or bad memory.