x86: fix init_memory_mapping() to handle small ranges