Bug #6750: This patch detects Intel bridges that are transparent but aren't
reported as such. From the Linux kernel fixups. This patch also removes the reserved BIOS area from the area to allocate resources in.
This commit is contained in:
parent
6d156c0440
commit
c339b221d3
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2006-04-26 Dave Airlie <airlied@linux.ie>
|
||||
|
||||
* hw/xfree86/common/xf86pciBus.c:
|
||||
* hw/xfree86/os-support/shared/stdResource.c:
|
||||
(xf86StdAccResFromOS):
|
||||
Bug #6750: This patch detects Intel bridges that are transparent
|
||||
but aren't reported as such. From the Linux kernel fixups.
|
||||
This patch also removes the reserved BIOS area from the
|
||||
area to allocate resources in.
|
||||
|
||||
2006-04-25 Eric Anholt <anholt@FreeBSD.org>
|
||||
|
||||
* exa/exa_migration.c: (exaPixmapSave), (exaMoveInPixmap),
|
||||
|
|
|
@ -1774,7 +1774,16 @@ xf86GetPciBridgeInfo(void)
|
|||
PciBus->brfunc = pcrp->funcnum;
|
||||
|
||||
PciBus->subclass = sub_class;
|
||||
PciBus->interface = pcrp->pci_prog_if;
|
||||
|
||||
/* The Intel bridges don't report as transparent
|
||||
but guess what they are - from Linux kernel - airlied */
|
||||
if ((pcrp->pci_vendor == PCI_VENDOR_INTEL) &&
|
||||
((pcrp->pci_device & 0xff00) == 0x2400)) {
|
||||
xf86MsgVerb(X_INFO, 3, "Intel Bridge workaround enabled\n");
|
||||
PciBus->interface = PCI_IF_BRIDGE_PCI_SUBTRACTIVE;
|
||||
} else {
|
||||
PciBus->interface = pcrp->pci_prog_if;
|
||||
}
|
||||
|
||||
if (pBusInfo && pBusInfo->funcs->pciControlBridge)
|
||||
PciBus->brcontrol =
|
||||
|
|
|
@ -150,10 +150,11 @@ xf86StdAccResFromOS(resPtr ret)
|
|||
ret = xf86AddResToList(ret, &range, -1);
|
||||
RANGE(range, 0xfee00000, 0xfeefffff, ResExcMemBlock | ResBios);
|
||||
ret = xf86AddResToList(ret, &range, -1);
|
||||
#endif
|
||||
/* airlied - remove BIOS range it shouldn't be here
|
||||
this should use E820 - or THE OS */
|
||||
RANGE(range, 0xffe00000, 0xffffffff, ResExcMemBlock | ResBios);
|
||||
ret = xf86AddResToList(ret, &range, -1);
|
||||
|
||||
#endif
|
||||
/*
|
||||
* Fallback would be to claim well known ports in the 0x0 - 0x3ff range
|
||||
* along with their sparse I/O aliases, but that's too imprecise. Instead
|
||||
|
|
Loading…
Reference in New Issue