61 lines
1.8 KiB
Plaintext
61 lines
1.8 KiB
Plaintext
--- hw/xfree86/os-support/bus/linuxPci.c.orig 2007-08-23 21:04:53.000000000 +0200
|
|
+++ hw/xfree86/os-support/bus/linuxPci.c 2007-10-03 13:31:32.647167750 +0200
|
|
@@ -547,7 +547,7 @@ xf86GetPciDomain(PCITAG Tag)
|
|
return result + 1;
|
|
|
|
if (!pPCI || pPCI->fakeDevice)
|
|
- return 1; /* Domain 0 is reserved */
|
|
+ return 0;
|
|
|
|
if ((fd = linuxPciOpenFile(pPCI ? pPCI->tag : 0,FALSE)) < 0)
|
|
return 0;
|
|
@@ -555,7 +555,7 @@ xf86GetPciDomain(PCITAG Tag)
|
|
if ((result = ioctl(fd, PCIIOC_CONTROLLER, 0)) < 0)
|
|
return 0;
|
|
|
|
- return result + 1; /* Domain 0 is reserved */
|
|
+ return result;
|
|
}
|
|
|
|
static pointer
|
|
@@ -626,7 +626,7 @@ linuxMapPci(int ScreenNum, int Flags, PC
|
|
return NULL;
|
|
}
|
|
|
|
-#define MAX_DOMAINS 257
|
|
+#define MAX_DOMAINS 256
|
|
static pointer DomainMmappedIO[MAX_DOMAINS];
|
|
|
|
static int
|
|
@@ -647,11 +647,10 @@ linuxOpenLegacy(PCITAG Tag, char *name)
|
|
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);
|
|
@@ -683,7 +682,6 @@ _X_EXPORT pointer
|
|
xf86MapDomainMemory(int ScreenNum, int Flags, PCITAG Tag,
|
|
ADDRESS Base, unsigned long Size)
|
|
{
|
|
- int domain = xf86GetPciDomain(Tag);
|
|
int fd = -1;
|
|
pointer addr;
|
|
|
|
@@ -731,7 +729,7 @@ xf86MapDomainIO(int ScreenNum, int Flags
|
|
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])
|