Index: hw/xfree86/os-support/bus/linuxPci.c ================================================================================ --- hw/xfree86/os-support/bus/linuxPci.c +++ hw/xfree86/os-support/bus/linuxPci.c @@ -397,6 +397,7 @@ * legacy_mem interface is unavailable. */ if ((Base > 1024*1024) || ((fd = linuxOpenLegacy(dev, "legacy_mem")) < 0)) + fallback: return linuxMapPci(ScreenNum, Flags, dev, Base, Size, PCIIOC_MMAP_IS_MEM); else @@ -405,6 +406,8 @@ if (fd >= 0) close(fd); if (addr == NULL || addr == MAP_FAILED) { + if (errno == ENXIO) + goto fallback; perror("mmap failure"); FatalError("xf86MapDomainMem(): mmap() failure\n"); }