Date: Sat, 16 Jul 2011 08:42:55 -0700 From: Marcel Moolenaar <marcel@xcllnt.net> To: John Baldwin <jhb@FreeBSD.org> Cc: ia64@FreeBSD.org Subject: Re: [PATCH] Add support for NEW_PCIB to ia64 Message-ID: <31DB304D-C3A1-44AC-8353-211C7BFE5215@xcllnt.net> In-Reply-To: <201107151619.11972.jhb@freebsd.org> References: <201107151619.11972.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 15, 2011, at 1:19 PM, John Baldwin wrote: > Since ia64 uses ACPI, I believe that all it needs is a = bus_adjust_resource() > method in its nexus driver to support the new PCI-PCI bridge driver = (and the > other patches I posted to current@ recently in regards to Host-PCI = bridge > driver decoding ranges). Can someone try this patch and boot with a = kernel > with 'options NEW_PCIB' to check for any regressions? Looks good. However, (see below) no devices are attached to the only real PCI-PCI bridges in this system (the PCIe root ports). Let me know if that's ok or whether it helps to use my machines so that I can plug something in a slot (I don't have physical access to this one without annoying Sean :-) OK boot -v Entering /boot/kernel/kernel at 0x9ffc000000010500... : FreeBSD 9.0-CURRENT #7 r224075M: Sat Jul 16 15:16:13 UTC 2011 marcel@eris.freebsd.org:/usr/obj/tank/usr/src/sys/ERIS ia64 : CPU: Montvale (1666 Mhz Itanium 2) : real memory =3D 17106690048 (16314 MB) : FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs : acpi0: <HP> on motherboard : pcib0: <ACPI Host-PCI bridge> on acpi0 pcib0: decoding 3 range 0xff5e2000-0xff5e2007 pcib0: decoding 4 range 0-0xffff pcib0: decoding 3 range 0xa0000-0xfffff pcib0: decoding 3 range 0x80000000-0x8fffffff pcib0: decoding 3 range 0x80004000000-0x800ffffffff pci0: <ACPI PCI bus> on pcib0 pci0: domain=3D0, physical bus=3D0 found-> vendor=3D0x103c, dev=3D0x1303, revid=3D0x00 domain=3D0, bus=3D0, slot=3D1, func=3D0 class=3Dff-00-00, hdrtype=3D0x00, mfdev=3D1 cmdreg=3D0x0144, statreg=3D0x0290, cachelnsz=3D32 (dwords) lattimer=3D0x80 (3840 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x01 = (250 ns) intpin=3Da, irq=3D0 powerspec 2 supports D0 D3 current D0 MSI supports 4 messages, 64 bit pcib0: matched entry for 0.1.INTA pcib0: slot 1 INTA hardwired to IRQ 16 found-> vendor=3D0x103c, dev=3D0x1302, revid=3D0x00 domain=3D0, bus=3D0, slot=3D1, func=3D1 class=3D07-80-00, hdrtype=3D0x00, mfdev=3D1 cmdreg=3D0x0146, statreg=3D0x0290, cachelnsz=3D32 (dwords) lattimer=3D0x80 (3840 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x01 = (250 ns) intpin=3Da, irq=3D0 powerspec 2 supports D0 D3 current D0 MSI supports 8 messages, 64 bit map[14]: type Memory, range 64, base 0x88034000, size 12, = enabled pcib0: allocated type 3 (0x88034000-0x88034fff) for rid 14 of pci0:0:1:1 map[1c]: type Prefetchable Memory, range 64, base 0x80080000000, = size 17, enabled pcib0: allocated type 3 (0x80080000000-0x8008001ffff) for rid 1c of = pci0:0:1:1 pcib0: matched entry for 0.1.INTA pcib0: slot 1 INTA hardwired to IRQ 16 found-> vendor=3D0x103c, dev=3D0x1048, revid=3D0x00 domain=3D0, bus=3D0, slot=3D1, func=3D2 class=3D07-00-02, hdrtype=3D0x00, mfdev=3D1 cmdreg=3D0x0146, statreg=3D0x0290, cachelnsz=3D32 (dwords) lattimer=3D0x80 (3840 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x01 = (250 ns) intpin=3Da, irq=3D0 powerspec 2 supports D0 D3 current D0 MSI supports 4 messages, 64 bit map[14]: type Memory, range 64, base 0x88033000, size 12, = enabled pcib0: allocated type 3 (0x88033000-0x88033fff) for rid 14 of pci0:0:1:2 pcib0: matched entry for 0.1.INTA pcib0: slot 1 INTA hardwired to IRQ 16 found-> vendor=3D0x1033, dev=3D0x0035, revid=3D0x43 domain=3D0, bus=3D0, slot=3D2, func=3D0 class=3D0c-03-10, hdrtype=3D0x00, mfdev=3D1 cmdreg=3D0x0146, statreg=3D0x0210, cachelnsz=3D32 (dwords) lattimer=3D0x80 (3840 ns), mingnt=3D0x01 (250 ns), maxlat=3D0x2a = (10500 ns) intpin=3Da, irq=3D0 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type Memory, range 32, base 0x88032000, size 12, = enabled pcib0: allocated type 3 (0x88032000-0x88032fff) for rid 10 of pci0:0:2:0 pcib0: matched entry for 0.2.INTA pcib0: slot 2 INTA hardwired to IRQ 17 found-> vendor=3D0x1033, dev=3D0x0035, revid=3D0x43 domain=3D0, bus=3D0, slot=3D2, func=3D1 class=3D0c-03-10, hdrtype=3D0x00, mfdev=3D0 cmdreg=3D0x0146, statreg=3D0x0210, cachelnsz=3D32 (dwords) lattimer=3D0x80 (3840 ns), mingnt=3D0x01 (250 ns), maxlat=3D0x2a = (10500 ns) intpin=3Db, irq=3D0 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type Memory, range 32, base 0x88031000, size 12, = enabled pcib0: allocated type 3 (0x88031000-0x88031fff) for rid 10 of pci0:0:2:1 pcib0: matched entry for 0.2.INTB pcib0: slot 2 INTB hardwired to IRQ 18 found-> vendor=3D0x1033, dev=3D0x00e0, revid=3D0x04 domain=3D0, bus=3D0, slot=3D2, func=3D2 class=3D0c-03-20, hdrtype=3D0x00, mfdev=3D0 cmdreg=3D0x0146, statreg=3D0x0210, cachelnsz=3D32 (dwords) lattimer=3D0x80 (3840 ns), mingnt=3D0x10 (4000 ns), maxlat=3D0x22 = (8500 ns) intpin=3Dc, irq=3D0 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type Memory, range 32, base 0x88030000, size 8, = enabled pcib0: allocated type 3 (0x88030000-0x880300ff) for rid 10 of pci0:0:2:2 pcib0: matched entry for 0.2.INTC pcib0: slot 2 INTC hardwired to IRQ 19 found-> vendor=3D0x1002, dev=3D0x515e, revid=3D0x02 domain=3D0, bus=3D0, slot=3D3, func=3D0 class=3D03-00-00, hdrtype=3D0x00, mfdev=3D0 cmdreg=3D0x0187, statreg=3D0x0290, cachelnsz=3D32 (dwords) lattimer=3D0x80 (3840 ns), mingnt=3D0x08 (2000 ns), maxlat=3D0x00 = (0 ns) intpin=3Da, irq=3D255 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type Prefetchable Memory, range 32, base 0x80000000, = size 27, enabled pcib0: allocated type 3 (0x80000000-0x87ffffff) for rid 10 of pci0:0:3:0 map[14]: type I/O Port, range 32, base 0x1000, size 8, enabled pcib0: allocated type 4 (0x1000-0x10ff) for rid 14 of pci0:0:3:0 map[18]: type Memory, range 32, base 0x88020000, size 16, = enabled pcib0: allocated type 3 (0x88020000-0x8802ffff) for rid 18 of pci0:0:3:0 : pcib1: <ACPI Host-PCI bridge> on acpi0 pcib1: decoding 4 range 0-0xffff pcib1: decoding 3 range 0xa0000000-0xafffffff pcib1: decoding 3 range 0x80204000000-0x802ffffffff pci1: <ACPI PCI bus> on pcib1 pci1: domain=3D0, physical bus=3D1 found-> vendor=3D0x1000, dev=3D0x0054, revid=3D0x01 domain=3D0, bus=3D1, slot=3D1, func=3D0 class=3D01-00-00, hdrtype=3D0x00, mfdev=3D0 cmdreg=3D0x0147, statreg=3D0x0230, cachelnsz=3D32 (dwords) lattimer=3D0x40 (1920 ns), mingnt=3D0x40 (16000 ns), maxlat=3D0x0a= (2500 ns) intpin=3Da, irq=3D0 powerspec 2 supports D0 D1 D2 D3 current D0 MSI supports 1 message, 64 bit MSI-X supports 1 message in map 0x14 map[10]: type I/O Port, range 32, base 0x1000, size 8, enabled map[14]: type Memory, range 64, base 0xa0470000, size 14, = enabled pcib1: allocated type 3 (0xa0470000-0xa0473fff) for rid 14 of pci0:1:1:0 map[1c]: type Memory, range 64, base 0xa0460000, size 16, = enabled pcib1: allocated type 3 (0xa0460000-0xa046ffff) for rid 1c of pci0:1:1:0 pcib1: matched entry for 1.1.INTA pcib1: slot 1 INTA hardwired to IRQ 27 found-> vendor=3D0x14e4, dev=3D0x1648, revid=3D0x10 domain=3D0, bus=3D1, slot=3D2, func=3D0 class=3D02-00-00, hdrtype=3D0x00, mfdev=3D1 cmdreg=3D0x0146, statreg=3D0x02b0, cachelnsz=3D32 (dwords) lattimer=3D0x40 (1920 ns), mingnt=3D0x40 (16000 ns), maxlat=3D0x00= (0 ns) intpin=3Da, irq=3D29 powerspec 2 supports D0 D3 current D0 MSI supports 8 messages, 64 bit map[10]: type Memory, range 64, base 0xa0450000, size 16, = enabled pcib1: allocated type 3 (0xa0450000-0xa045ffff) for rid 10 of pci0:1:2:0 pcib1: matched entry for 1.2.INTA pcib1: slot 2 INTA hardwired to IRQ 29 found-> vendor=3D0x14e4, dev=3D0x1648, revid=3D0x10 domain=3D0, bus=3D1, slot=3D2, func=3D1 class=3D02-00-00, hdrtype=3D0x00, mfdev=3D1 cmdreg=3D0x0146, statreg=3D0x02b0, cachelnsz=3D32 (dwords) lattimer=3D0x40 (1920 ns), mingnt=3D0x40 (16000 ns), maxlat=3D0x00= (0 ns) intpin=3Db, irq=3D30 powerspec 2 supports D0 D3 current D0 MSI supports 8 messages, 64 bit map[10]: type Memory, range 64, base 0xa0440000, size 16, = enabled pcib1: allocated type 3 (0xa0440000-0xa044ffff) for rid 10 of pci0:1:2:1 pcib1: matched entry for 1.2.INTB pcib1: slot 2 INTB hardwired to IRQ 30 mpt0: <LSILogic SAS/SATA Adapter> mem = 0xa0470000-0xa0473fff,0xa0460000-0xa046ffff irq 27 at device 1.0 on pci1 pcib1: allocated type 4 (0-0xff) for rid 10 of mpt0 mpt0: Lazy allocation of 0x100 bytes rid 0x10 type 4 at 0 : pcib2: <ACPI Host-PCI bridge> on acpi0 pcib2: decoding 4 range 0-0xffff pcib2: decoding 3 range 0xb0000000-0xbfffffff pcib2: decoding 3 range 0x80304000000-0x803ffffffff pci2: <ACPI PCI bus> on pcib2 pci2: domain=3D0, physical bus=3D2 found-> vendor=3D0x103c, dev=3D0x403b, revid=3D0x00 domain=3D0, bus=3D2, slot=3D0, func=3D0 class=3D06-04-00, hdrtype=3D0x01, mfdev=3D0 cmdreg=3D0x0147, statreg=3D0x0010, cachelnsz=3D32 (dwords) lattimer=3D0x00 (0 ns), mingnt=3D0x03 (750 ns), maxlat=3D0x00 (0 = ns) intpin=3Da, irq=3D0 powerspec 3 supports D0 D3 current D0 MSI supports 2 messages, 64 bit pcib2: matched entry for 2.0.INTA pcib2: slot 0 INTA hardwired to IRQ 38 pcib3: <ACPI PCI-PCI bridge> irq 38 at device 0.0 on pci2 pcib3: failed to allocate initial I/O port window: 0x1000-0xffff pcib2: allocated type 3 (0xb0000000-0xbfffffff) for rid 20 of pcib3 pcib2: allocated type 3 (0x80380000000-0x803ffffffff) for rid 24 of = pcib3 pcib3: domain 0 pcib3: secondary bus 3 pcib3: subordinate bus 3 pcib3: memory decode 0xb0000000-0xbfffffff pcib3: prefetched decode 0x80380000000-0x803ffffffff pcib3: could not get PCI interrupt routing table for = \_SB_.SBA0.L003.RP00 - AE_NOT_FOUND pci3: <ACPI PCI bus> on pcib3 pci3: domain=3D0, physical bus=3D3 pcib4: <ACPI Host-PCI bridge> on acpi0 pcib4: decoding 4 range 0-0xffff pcib4: decoding 3 range 0xe0000000-0xefffffff pcib4: decoding 3 range 0x80604000000-0x806ffffffff pci4: <ACPI PCI bus> on pcib4 pci4: domain=3D0, physical bus=3D4 pcib5: <ACPI Host-PCI bridge> on acpi0 pcib5: decoding 4 range 0-0xffff pcib5: decoding 3 range 0xf0000000-0xfdffffff pcib5: decoding 3 range 0x80704000000-0x807ffffffff pci5: <ACPI PCI bus> on pcib5 pci5: domain=3D0, physical bus=3D5 found-> vendor=3D0x103c, dev=3D0x403b, revid=3D0x00 domain=3D0, bus=3D5, slot=3D0, func=3D0 class=3D06-04-00, hdrtype=3D0x01, mfdev=3D0 cmdreg=3D0x0147, statreg=3D0x0010, cachelnsz=3D32 (dwords) lattimer=3D0x00 (0 ns), mingnt=3D0x03 (750 ns), maxlat=3D0x00 (0 = ns) intpin=3Da, irq=3D0 powerspec 3 supports D0 D3 current D0 MSI supports 2 messages, 64 bit pcib5: matched entry for 5.0.INTA pcib5: slot 0 INTA hardwired to IRQ 56 pcib6: <ACPI PCI-PCI bridge> irq 56 at device 0.0 on pci5 pcib6: failed to allocate initial I/O port window: 0x1000-0xffff pcib5: allocated type 3 (0xf0000000-0xfdffffff) for rid 20 of pcib6 pcib5: allocated type 3 (0x80780000000-0x807ffffffff) for rid 24 of = pcib6 pcib6: domain 0 pcib6: secondary bus 6 pcib6: subordinate bus 6 pcib6: memory decode 0xf0000000-0xfdffffff pcib6: prefetched decode 0x80780000000-0x807ffffffff pcib6: could not get PCI interrupt routing table for = \_SB_.SBA0.L007.RP00 - AE_NOT_FOUND pci6: <ACPI PCI bus> on pcib6 pci6: domain=3D0, physical bus=3D6 : *snip* : Sat Jul 16 15:22:13 UTC 2011 FreeBSD/ia64 (eris.freebsd.org) (ttyu0) login:=20 eris# pciconf -lv *snip* pcib3@pci0:2:0:0: class=3D0x060400 card=3D0x00000000 = chip=3D0x403b103c rev=3D0x00 hdr=3D0x01 vendor =3D 'Hewlett-Packard Company' device =3D 'PCIe Root Port' class =3D bridge subclass =3D PCI-PCI pcib6@pci0:5:0:0: class=3D0x060400 card=3D0x00000000 = chip=3D0x403b103c rev=3D0x00 hdr=3D0x01 vendor =3D 'Hewlett-Packard Company' device =3D 'PCIe Root Port' class =3D bridge subclass =3D PCI-PCI FYI, --=20 Marcel Moolenaar marcel@xcllnt.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?31DB304D-C3A1-44AC-8353-211C7BFE5215>