--- hw/xfree86/os-support/bus/linuxPci.c +++ hw/xfree86/os-support/bus/linuxPci.c @@ -550,15 +550,15 @@ return result; if (!pPCI || pPCI->fakeDevice) - return 1; /* Domain 0 is reserved */ + return 0; if ((fd = linuxPciOpenFile(pPCI ? pPCI->tag : 0,FALSE)) < 0) - return 0; + return -1; if ((result = ioctl(fd, PCIIOC_CONTROLLER, 0)) < 0) - return 0; + return -1; - return result + 1; /* Domain 0 is reserved */ + return result; } static pointer @@ -628,7 +628,7 @@ return NULL; } -#define MAX_DOMAINS 257 +#define MAX_DOMAINS 256 static pointer DomainMmappedIO[MAX_DOMAINS]; static int @@ -649,11 +649,10 @@ domain = xf86GetPciDomain(Tag); bus = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(Tag)); - /* Domain 0 is reserved -- see xf86GetPciDomain() */ - if ((domain <= 0) || (domain >= MAX_DOMAINS)) + if ((domain < 0) || (domain >= MAX_DOMAINS)) FatalError("linuxOpenLegacy(): domain out of range\n"); - sprintf(path, PREFIX, domain - 1, bus, name); + sprintf(path, PREFIX, domain, bus, name); fd = open(path, O_RDWR); if (fd >= 0) { xfree(path); @@ -685,7 +684,6 @@ xf86MapDomainMemory(int ScreenNum, int Flags, PCITAG Tag, ADDRESS Base, unsigned long Size) { - int domain = xf86GetPciDomain(Tag); int fd; pointer addr; @@ -733,7 +731,7 @@ int domain = xf86GetPciDomain(Tag); int fd; - if ((domain <= 0) || (domain >= MAX_DOMAINS)) + if ((domain < 0) || (domain >= MAX_DOMAINS)) FatalError("xf86MapDomainIO(): domain out of range\n"); if (DomainMmappedIO[domain]) @@ -847,7 +845,7 @@ RANGE_TYPE(ResExcIoBlock, domain)); pRes = xf86AddResToList(pRes, &range, -1); - if (domain <= 0) + if (domain < 0) break; } } @@ -881,7 +879,7 @@ RANGE_TYPE(ResExcIoBlock, domain)); pRes = xf86AddResToList(pRes, &range, -1); - if (domain <= 0) + if (domain < 0) break; } } @@ -933,7 +931,7 @@ RANGE_TYPE(ResExcIoBlock, domain)); pRes = xf86AddResToList(pRes, &range, -1); - if (domain <= 0) + if (domain < 0) break; } }