|
Line
Link Here
|
| 0 |
-- hw/xfree86/os-support/bus/linuxPci.c |
0 |
++ hw/xfree86/os-support/bus/linuxPci.c |
|
Lines 550-564
Link Here
|
| 550 |
return result; |
550 |
return result; |
| 551 |
|
551 |
|
| 552 |
if (!pPCI || pPCI->fakeDevice) |
552 |
if (!pPCI || pPCI->fakeDevice) |
| 553 |
return 1; /* Domain 0 is reserved */ |
553 |
return 0; |
| 554 |
|
554 |
|
| 555 |
if ((fd = linuxPciOpenFile(pPCI ? pPCI->tag : 0,FALSE)) < 0) |
555 |
if ((fd = linuxPciOpenFile(pPCI ? pPCI->tag : 0,FALSE)) < 0) |
| 556 |
return 0; |
556 |
return -1; |
| 557 |
|
557 |
|
| 558 |
if ((result = ioctl(fd, PCIIOC_CONTROLLER, 0)) < 0) |
558 |
if ((result = ioctl(fd, PCIIOC_CONTROLLER, 0)) < 0) |
| 559 |
return 0; |
559 |
return -1; |
| 560 |
|
560 |
|
| 561 |
return result + 1; /* Domain 0 is reserved */ |
561 |
return result; |
| 562 |
} |
562 |
} |
| 563 |
|
563 |
|
| 564 |
static pointer |
564 |
static pointer |
|
Lines 628-634
Link Here
|
| 628 |
return NULL; |
628 |
return NULL; |
| 629 |
} |
629 |
} |
| 630 |
|
630 |
|
| 631 |
#define MAX_DOMAINS 257 |
631 |
#define MAX_DOMAINS 256 |
| 632 |
static pointer DomainMmappedIO[MAX_DOMAINS]; |
632 |
static pointer DomainMmappedIO[MAX_DOMAINS]; |
| 633 |
|
633 |
|
| 634 |
static int |
634 |
static int |
|
Lines 649-659
Link Here
|
| 649 |
domain = xf86GetPciDomain(Tag); |
649 |
domain = xf86GetPciDomain(Tag); |
| 650 |
bus = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(Tag)); |
650 |
bus = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(Tag)); |
| 651 |
|
651 |
|
| 652 |
/* Domain 0 is reserved -- see xf86GetPciDomain() */ |
652 |
if ((domain < 0) || (domain >= MAX_DOMAINS)) |
| 653 |
if ((domain <= 0) || (domain >= MAX_DOMAINS)) |
|
|
| 654 |
FatalError("linuxOpenLegacy(): domain out of range\n"); |
653 |
FatalError("linuxOpenLegacy(): domain out of range\n"); |
| 655 |
|
654 |
|
| 656 |
sprintf(path, PREFIX, domain - 1, bus, name); |
655 |
sprintf(path, PREFIX, domain, bus, name); |
| 657 |
fd = open(path, O_RDWR); |
656 |
fd = open(path, O_RDWR); |
| 658 |
if (fd >= 0) { |
657 |
if (fd >= 0) { |
| 659 |
xfree(path); |
658 |
xfree(path); |
|
Lines 685-691
Link Here
|
| 685 |
xf86MapDomainMemory(int ScreenNum, int Flags, PCITAG Tag, |
684 |
xf86MapDomainMemory(int ScreenNum, int Flags, PCITAG Tag, |
| 686 |
ADDRESS Base, unsigned long Size) |
685 |
ADDRESS Base, unsigned long Size) |
| 687 |
{ |
686 |
{ |
| 688 |
int domain = xf86GetPciDomain(Tag); |
|
|
| 689 |
int fd; |
687 |
int fd; |
| 690 |
pointer addr; |
688 |
pointer addr; |
| 691 |
|
689 |
|
|
Lines 733-739
Link Here
|
| 733 |
int domain = xf86GetPciDomain(Tag); |
731 |
int domain = xf86GetPciDomain(Tag); |
| 734 |
int fd; |
732 |
int fd; |
| 735 |
|
733 |
|
| 736 |
if ((domain <= 0) || (domain >= MAX_DOMAINS)) |
734 |
if ((domain < 0) || (domain >= MAX_DOMAINS)) |
| 737 |
FatalError("xf86MapDomainIO(): domain out of range\n"); |
735 |
FatalError("xf86MapDomainIO(): domain out of range\n"); |
| 738 |
|
736 |
|
| 739 |
if (DomainMmappedIO[domain]) |
737 |
if (DomainMmappedIO[domain]) |
|
Lines 847-853
Link Here
|
| 847 |
RANGE_TYPE(ResExcIoBlock, domain)); |
845 |
RANGE_TYPE(ResExcIoBlock, domain)); |
| 848 |
pRes = xf86AddResToList(pRes, &range, -1); |
846 |
pRes = xf86AddResToList(pRes, &range, -1); |
| 849 |
|
847 |
|
| 850 |
if (domain <= 0) |
848 |
if (domain < 0) |
| 851 |
break; |
849 |
break; |
| 852 |
} |
850 |
} |
| 853 |
} |
851 |
} |
|
Lines 881-887
Link Here
|
| 881 |
RANGE_TYPE(ResExcIoBlock, domain)); |
879 |
RANGE_TYPE(ResExcIoBlock, domain)); |
| 882 |
pRes = xf86AddResToList(pRes, &range, -1); |
880 |
pRes = xf86AddResToList(pRes, &range, -1); |
| 883 |
|
881 |
|
| 884 |
if (domain <= 0) |
882 |
if (domain < 0) |
| 885 |
break; |
883 |
break; |
| 886 |
} |
884 |
} |
| 887 |
} |
885 |
} |
|
Lines 933-939
Link Here
|
| 933 |
RANGE_TYPE(ResExcIoBlock, domain)); |
931 |
RANGE_TYPE(ResExcIoBlock, domain)); |
| 934 |
pRes = xf86AddResToList(pRes, &range, -1); |
932 |
pRes = xf86AddResToList(pRes, &range, -1); |
| 935 |
|
933 |
|
| 936 |
if (domain <= 0) |
934 |
if (domain < 0) |
| 937 |
break; |
935 |
break; |
| 938 |
} |
936 |
} |
| 939 |
} |
937 |
} |