Date: Sat, 11 Jul 2020 15:12:58 -0700 From: Mark Millard <marklmi@yahoo.com> To: Robert Crowston <crowston@protonmail.com> Cc: Andrew Turner <andrew@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: OverDrive 1000 head -r360311 -> r363021 upgrade: USB & Ethernet disappeared, "usb_needs_explore_all: no devclass" (Now: artifact.ci bisect) Message-ID: <9FBC6DEB-23FA-4FA2-AB10-3D6BDC4CE010@yahoo.com> In-Reply-To: <Abd9xeqh4ZgNFdiT18IY_5mTm9HPRdNneFmsfQLS495N91bPX6movFRqd9kEoEAlvqqHT7anHkgwlslKhyvM72wL6qMM8axpOVCx7pbQyHQ=@protonmail.com> References: <6E0B6750-273C-468A-9233-E868B0674F34@yahoo.com> <8AA99118-C9C5-4CC7-83C6-2A85DFF9CBE1@yahoo.com> <334D89BD-2F7A-4BF1-AB96-2D6B273BBCD3@yahoo.com> <8CA66D0C-BA19-41D1-A67C-B54ED1B6EE79@yahoo.com> <Abd9xeqh4ZgNFdiT18IY_5mTm9HPRdNneFmsfQLS495N91bPX6movFRqd9kEoEAlvqqHT7anHkgwlslKhyvM72wL6qMM8axpOVCx7pbQyHQ=@protonmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>=20 > On 2020-Jul-11, at 14:45, Robert Crowston <crowston@protonmail.com> = wrote: >=20 > So what is the mistake I made here? >=20 > Should I have given a globally unique name as the first argument to = DRIVER_MODULE()? I didn't see that in the man page, and other examples = of pcib drivers apparently get away with it. >=20 > I did notice the weird message about "driver already loaded from = kernel". I wondered if that meant I was dragging in code to the core = kernel, that would otherwise live in an external module? >=20 > Let me know how I can help fix it! >=20 > -- RHC. It is not an area of expertise for me. I've spent hours just getting to the point of sending the notes that I have sent. I did just find the text: QUOTE from = https://www.freebsd.org/cgi/man.cgi?query=3DDRIVER_MODULE&sektion=3D9&n=3D= 1 : The identifier used in DRIVER_MODULE() can be different from the = driver name. Also, the same driver identifier can exist on different = buses, which is a pretty clean way of making front ends for different = cards us- ing the same driver on the same or different buses. For example, = the following is allowed: DRIVER_MODULE(foo, isa, foo_driver, foo_devclass, NULL, NULL); DRIVER_MODULE(foo, pci, foo_driver, foo_devclass, NULL, NULL); END QUOTE But the wording is not explicit about what would be "same bus". I do find two things that suggests to me that "picb" should be a unique name. First: QUOTE from = https://www.freebsd.org/cgi/man.cgi?query=3Ddriver&sektion=3D9&n=3D1 : static int foo_probe(device_t); static int foo_attach(device_t); static int foo_detach(device_t); static int foo_frob(device_t, int, int); static int foo_twiddle(device_t, char *); static device_method_t foo_methods[] =3D { /* Methods from the device interface */ DEVMETHOD(device_probe, foo_probe), DEVMETHOD(device_attach, foo_attach), DEVMETHOD(device_detach, foo_detach), /* Methods from the bogo interface */ DEVMETHOD(bogo_frob, foo_frob), DEVMETHOD(bogo_twiddle, foo_twiddle), /* Terminate method list */ DEVMETHOD_END }; static driver_t foo_driver =3D { "foo", foo_methods, sizeof(struct foo_softc) }; static devclass_t foo_devclass; DRIVER_MODULE(foo, bogo, foo_driver, foo_devclass, NULL, NULL); END QUOTE Note the "foo" in foo_driver. That looks to be something that ends up being globally used (indirectly) and so more likely to have some form of relative-uniqueness criteria. foo is also the prefix on the method routines. I also did the following that produced my second thing making the suggestion: # grep -r "MODULE.*pcib.*simplebus" /usr/src/sys/ | more /usr/src/sys/dev/pci/pci_host_generic_fdt.c:DRIVER_MODULE(pcib, = simplebus, generic_pcie_fdt_driver, /usr/src/sys/dev/xilinx/xlnx_pcib.c:DRIVER_MODULE(xlnx_pcib, simplebus, = xlnx_pcib_fdt_driver, /usr/src/sys/arm64/cavium/thunder_pcie_fdt.c:DRIVER_MODULE(thunder_pcib, = simplebus, thunder_pcie_fdt_driver, /usr/src/sys/arm/broadcom/bcm2835/bcm2838_pci.c:DRIVER_MODULE(pcib, = simplebus, bcm_pcib_driver, bcm_pcib_devclass, 0, 0); /usr/src/sys/arm/mv/mv_pci_ctrl.c:DRIVER_MODULE(pcib_ctrl, simplebus, = mv_pcib_ctrl_driver, pcib_ctrl_devclass, 0, 0); /usr/src/sys/arm/nvidia/tegra_pcie.c:DRIVER_MODULE(tegra_pcib, = simplebus, tegra_pcib_driver, pcib_devclass, = /usr/src/sys/arm/annapurna/alpine/alpine_pci.c:DRIVER_MODULE(alpine_pcib, = simplebus, al_pcib_driver, anpa_pcib_devclass, 0, 0); /usr/src/sys/mips/nlm/xlp_pci.c:DRIVER_MODULE(xlp_pcib, simplebus, = xlp_pcib_driver, pcib_devclass, 0, 0); and it looks like in all other cases for pcib and simplebus together, the name in DRIVER_MODULE(name, is unique to the context (one example of plain pcib other than the new one that you added). I hope that the above helps. Mark > =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 = Original Message =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2= =80=90 > On Saturday, 11 July 2020 11:48, Mark Millard <marklmi@yahoo.com> = wrote: >=20 >> On 2020-Jul-11, at 02:26, Mark Millard <marklmi at yahoo.com> wrote: >>=20 >>> On 2020-Jul-11, at 01:32, Mark Millard <marklmi at yahoo.com> wrote: >>>=20 >>>> On 2020-Jul-11, at 00:14, Mark Millard <marklmi at yahoo.com> = wrote: >>>>=20 >>>>> Anyone else with such Overdrive 1000 problems after >>>>> upgrading into this range or beyond? >>>>> boot -v output: >>>>> ---<<BOOT>>--- >>>>> KDB: debugger backends: ddb >>>>> KDB: current backend: ddb >>>>> Type Physical Virtual #Pages Attr >>>>> Reserved 008000000000 0 00000e80 WC WT WB >>>>> ConventionalMemory 008000e80000 0 0001ef7d WC WT WB >>>>> BootServicesData 00801fdfd000 0 00000203 WC WT WB >>>>> ConventionalMemory 008020000000 0 001d0583 WC WT WB >>>>> LoaderData 0081f0583000 0 00008000 WC WT WB >>>>> LoaderCode 0081f8583000 0 0000017d WC WT WB >>>>> ACPIReclaimMemory 0081f8700000 0 000000a0 WC WT WB >>>>> ConventionalMemory 0081f87a0000 0 0000000b WC WT WB >>>>> LoaderData 0081f87ab000 0 00000001 WC WT WB >>>>> ConventionalMemory 0081f87ac000 0 000020ab WC WT WB >>>>> BootServicesData 0081fa857000 0 00000029 WC WT WB >>>>> ConventionalMemory 0081fa880000 0 0000000b WC WT WB >>>>> BootServicesData 0081fa88b000 0 0000001f WC WT WB >>>>> ConventionalMemory 0081fa8aa000 0 00000003 WC WT WB >>>>> BootServicesData 0081fa8ad000 0 000002f0 WC WT WB >>>>> ConventionalMemory 0081fab9d000 0 00000001 WC WT WB >>>>> BootServicesData 0081fab9e000 0 00000012 WC WT WB >>>>> ConventionalMemory 0081fabb0000 0 00000001 WC WT WB >>>>> BootServicesData 0081fabb1000 0 00000006 WC WT WB >>>>> ConventionalMemory 0081fabb7000 0 00000002 WC WT WB >>>>> BootServicesData 0081fabb9000 0 00000ae7 WC WT WB >>>>> ConventionalMemory 0081fb6a0000 0 00000046 WC WT WB >>>>> BootServicesCode 0081fb6e6000 0 0000014a WC WT WB >>>>> RuntimeServicesCode 0081fb830000 81fb830000 000003e0 WC WT WB = RUNTIME >>>>> ConventionalMemory 0081fbc10000 0 000001a0 WC WT WB >>>>> RuntimeServicesData 0081fbdb0000 81fbdb0000 00000250 WC WT WB = RUNTIME >>>>> ConventionalMemory 0081fc000000 0 0000001f WC WT WB >>>>> BootServicesData 0081fc01f000 0 00000001 WC WT WB >>>>> ConventionalMemory 0081fc020000 0 00003732 WC WT WB >>>>> BootServicesData 0081ff752000 0 0000087a WC WT WB >>>>> ConventionalMemory 0081fffcc000 0 00000004 WC WT WB >>>>> RuntimeServicesData 0081fffd0000 81fffd0000 00000020 WC WT WB = RUNTIME >>>>> ConventionalMemory 0081ffff0000 0 0000000c WC WT WB >>>>> BootServicesData 0081ffffc000 0 00000004 WC WT WB >>>>> Physical memory chunk(s): >>>>> 0x8000e80000 - 0x81f86fffff, 8056 MB (2062464 pages) >>>>> 0x81f87a0000 - 0x81fb82ffff, 48 MB ( 12432 pages) >>>>> 0x81fbc10000 - 0x81ffffffff, 67 MB ( 17392 pages) >>>>> Excluded memory regions: >>>>> 0x8000000000 - 0x8000e7ffff, 14 MB ( 3712 pages) NoAlloc >>>>> 0x81f0600000 - 0x81f1992fff, 19 MB ( 5011 pages) NoAlloc >>>>> 0x81f8700000 - 0x81f879ffff, 0 MB ( 160 pages) NoAlloc >>>>> 0x81fb830000 - 0x81fbc0ffff, 3 MB ( 992 pages) NoAlloc >>>>> 0x81fbdb0000 - 0x81fbffffff, 2 MB ( 592 pages) NoAlloc >>>>> 0x81fffd0000 - 0x81fffeffff, 0 MB ( 32 pages) NoAlloc >>>>> Found 4 CPUs in the device tree >>>>> Copyright (c) 1992-2020 The FreeBSD Project. >>>>> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, = 1993, 1994 >>>>> The Regents of the University of California. All rights reserved. >>>>> FreeBSD is a registered trademark of The FreeBSD Foundation. >>>>> FreeBSD 13.0-CURRENT #6 r363021M: Thu Jul 9 22:46:01 PDT 2020 >>>>> = markmi@FBSDFHUGE:/usr/obj/cortexA57_clang/arm64.aarch64/usr/src/arm64.aarc= h64/sys/GENERIC-NODBG arm64 >>>>> FreeBSD clang version 10.0.1 (git@github.com:llvm/llvm-project.git = llvmorg-10.0.1-rc2-0-g77d76b71d7d) >>>>> VT: init without driver. >>>>> Preloaded elf kernel "/boot/kernel/kernel" at 0xffff000001166000. >>>>> Preloaded hostuuid "/etc/hostid" at 0xffff00000116f310. >>>>> Preloaded boot_entropy_cache "/boot/entropy" at = 0xffff00000116f360. >>>>> module firmware already present! >>>>> module_register: cannot register simplebus/gpio from kernel; = already loaded from kernel >>>>> Module simplebus/gpio failed to register: 17 >>>>> module_register: cannot register simplebus/pcib from kernel; = already loaded from kernel >>>>> Module simplebus/pcib failed to register: 17 >>>>> Starting CPU 1 (101) >>>>> Starting CPU 2 (200) >>>>> Starting CPU 3 (201) >>>>> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs >>>>> random: read 4096 bytes from preloaded cache >>>>> random: unblocking device. >>>>> VIMAGE (virtualized network stack) enabled >>>>> hostuuid: using # >>>>> ULE: setup cpu 0 >>>>> ULE: setup cpu 1 >>>>> ULE: setup cpu 2 >>>>> ULE: setup cpu 3 >>>>> Table 'FACP' at 0x81f8770000 >>>>> Table 'APIC' at 0x81f8750000 >>>>> Table 'GTDT' at 0x81f8740000 >>>>> Table 'DBG2' at 0x81f8730000 >>>>> Table 'SPCR' at 0x81f8720000 >>>>> Table 'MCFG' at 0x81f8710000 >>>>> Table 'CSRT' at 0x81f8700000 >>>>> ACPI: No IORT table found >>>>> snd_unit_init() u=3D0x00ff8000 [512] d=3D0x00007c00 [32] = c=3D0x000003ff [1024] >>>>> feeder_register: snd_unit=3D-1 snd_maxautovchans=3D16 latency=3D2 = feeder_rate_min=3D1 feeder_rate_max=3D2016000 feeder_rate_round=3D25 >>>>> random: entropy device external interface >>>>> MAP 81fb830000 mode 2 pages 992 >>>>> MAP 81fbdb0000 mode 2 pages 592 >>>>> MAP 81fffd0000 mode 2 pages 32 >>>>> WARNING: Device "kbd" is Giant locked and may be deleted before = FreeBSD 13.0. >>>>> kbd0 at kbdmux0 >>>>> crypto: <crypto core> >>>>> mem: <memory> >>>>> null: <full device, null device, zero device> >>>>> openfirm: <Open Firmware control device> >>>>> WARNING: Device "openfirm" is Giant locked and may be deleted = before FreeBSD 13.0. >>>>> ofwbus0: <Open Firmware Device Tree> >>>>> simplebus0: <Flattened device tree simple bus> on ofwbus0 >>>>> clk_fixed0: <Fixed clock> on simplebus0 >>>>> clk_fixed1: <Fixed clock> on simplebus0 >>>>> clk_fixed2: <Fixed clock> on simplebus0 >>>>> clk_fixed3: <Fixed clock> on simplebus0 >>>>> clk_fixed4: <Fixed clock> on simplebus0 >>>>> clk_fixed5: <Fixed clock> on simplebus0 >>>>> clk_fixed6: <Fixed clock> on simplebus0 >>>>> clk_fixed7: <Fixed clock> on simplebus0 >>>>> clk_fixed8: <Fixed clock> on simplebus0 >>>>> clk_fixed9: <Fixed clock> on simplebus0 >>>>> clk_fixed10: <Fixed clock> on simplebus0 >>>>> psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0 >>>>> psci0: PSCI version 0.2 compatible >>>>> gic0: <ARM Generic Interrupt Controller> mem = 0xe1110000-0xe1110fff,0xe112f000-0xe1130fff,0xe1140000-0xe114ffff,0xe11600= 00-0xe116ffff irq 4 on ofwbus0 >>>>> gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 448 >>>>> gicv2m0: <ARM Generic Interrupt Controller MSI/MSIX> mem = 0x80000-0x80fff on gic0 >>>>> gicv2m0: using spi 64 to 319 >>>>> generic_timer0: <ARMv8 Generic Timer> irq 5,6,7,8 on ofwbus0 >>>>> Timecounter "ARM MPCore Timecounter" frequency 250000000 Hz = quality 1000 >>>>> Event timer "ARM MPCore Eventtimer" frequency 250000000 Hz quality = 1000 >>>>> efirtc0: <EFI Realtime Clock> >>>>> efirtc0: registered as a time-of-day clock, resolution 1.000000s >>>>> cpulist0: <Open Firmware CPU Group> on ofwbus0 >>>>> cpu0: <Open Firmware CPU> on cpulist0 >>>>> cpu0: missing 'clock-frequency' property >>>>> cpu1: <Open Firmware CPU> on cpulist0 >>>>> cpu1: missing 'clock-frequency' property >>>>> cpu2: <Open Firmware CPU> on cpulist0 >>>>> cpu2: missing 'clock-frequency' property >>>>> cpu3: <Open Firmware CPU> on cpulist0 >>>>> cpu3: missing 'clock-frequency' property >>>>> pmu0: <Performance Monitoring Unit> irq 0,1,2,3 on ofwbus0 >>>>> ahci0: <AHCI SATA controller> mem 0xe0300000-0xe03effff irq 9 on = simplebus0 >>>>> ahci0: AHCI v1.30 with 8 6Gbps ports, Port Multiplier supported >>>>> ahci0: Caps: 64bit NCQ SNTF SS AL CLO 6Gbps PM PMD 32cmd CCC = 8ports >>>>> ahci0: Caps2: APST >>>>> ahcich0: <AHCI channel> at channel 0 on ahci0 >>>>> ahcich0: Caps: HPCP >>>>> ahcich1: <AHCI channel> at channel 1 on ahci0 >>>>> ahcich1: Caps: HPCP >>>>> ahcich2: not probed (disabled) >>>>> ahcich3: not probed (disabled) >>>>> ahcich4: not probed (disabled) >>>>> ahcich5: not probed (disabled) >>>>> ahcich6: not probed (disabled) >>>>> ahcich7: not probed (disabled) >>>>> simplebus0: sata@e0d00000 mem 0xe0d00000-0xe0deffff irq 10 = disabled compat snps,dwc-ahci (no driver attached) >>>>> simplebus0: i2c@e1000000 mem 0xe1000000-0xe1000fff irq 11 compat = snps,designware-i2c (no driver attached) >>>>> simplebus0: i2c@e0050000 mem 0xe0050000-0xe0050fff irq 12 compat = snps,designware-i2c (no driver attached) >>>>> uart0: <PrimeCell UART (PL011)> mem 0xe1010000-0xe1010fff irq 13 = on simplebus0 >>>>> uart0: console (115200,n,8,1) >>>>> uart0: fast interrupt >>>>> uart0: PPS capture mode: DCD >>>>> simplebus0: ssp@e1020000 mem 0xe1020000-0xe1020fff irq 14 compat = arm,pl022 (no driver attached) >>>>> simplebus0: ssp@e1030000 mem 0xe1030000-0xe1030fff irq 15 compat = arm,pl022 (no driver attached) >>>>> simplebus0: gpio@e1050000 mem 0xe1050000-0xe1050fff irq 16 compat = arm,pl061 (no driver attached) >>>>> simplebus0: gpio@e0020000 mem 0xe0020000-0xe0020fff irq 17 compat = arm,pl061 (no driver attached) >>>>> simplebus0: gpio@e0030000 mem 0xe0030000-0xe0030fff irq 18 compat = arm,pl061 (no driver attached) >>>>> simplebus0: gpio@e0080000 mem 0xe0080000-0xe0080fff irq 19 compat = arm,pl061 (no driver attached) >>>>> simplebus0: ccp@e0100000 mem 0xe0100000-0xe010ffff irq 20 compat = amd,ccp-seattle-v1a (no driver attached) >>>>> simplebus0: pcie@f0000000 mem 0xf0000000-0xffffffff type pci = compat pci-host-ecam-generic (no driver attached) >>>>> simplebus0: ccn@0xe8000000 mem 0xe8000000-0xe8ffffff irq 21 compat = arm,ccn-504 (no driver attached) >>>>> simplebus0: gwdt@e0bb0000 mem = 0xe0bb0000-0xe0bbffff,0xe0bc0000-0xe0bcffff irq 22 compat arm,sbsa-gwdt = (no driver attached) >>>>> simplebus0: kcs@e0010000 mem 0xe0010000-0xe0010007 irq 23 type = ipmi compat ipmi-kcs (no driver attached) >>>>> simplebus0: phy@e1240800 mem = 0xe1240800-0xe1240bff,0xe1250000-0xe125005f,0xe12500f8-0xe12500fb irq 24 = disabled compat amd,xgbe-phy-seattle-v1a (no driver attached) >>>>> simplebus0: phy@e1240c00 mem = 0xe1240c00-0xe1240fff,0xe1250080-0xe12500df,0xe12500fc-0xe12500ff irq 25 = disabled compat amd,xgbe-phy-seattle-v1a (no driver attached) >>>>> simplebus0: xgmac@e0700000 mem = 0xe0700000-0xe077ffff,0xe0780000-0xe07fffff irq 26,27,28,29,30 disabled = compat amd,xgbe-seattle-v1a (no driver attached) >>>>> simplebus0: xgmac@e0900000 mem = 0xe0900000-0xe097ffff,0xe0980000-0xe09fffff irq 31,32,33,34,35 disabled = compat amd,xgbe-seattle-v1a (no driver attached) >>>>> cryptosoft0: <software crypto> >>>>> crypto: assign cryptosoft0 driver id 0, flags 0x6000000 >>>>> Device configuration finished. >>>>> Found SMCCC version 1.0 >>>>> procfs registered >>>>> Timecounters tick every 1.000 msec >>>>> lo0: bpf attached >>>>> vlan: initialized, using hash tables with chaining >>>>> IPsec: Initialized Security Association Processing. >>>>> tcp_init: net.inet.tcp.tcbhashsize auto tuned to 65536 >>>>> Obsolete code will be removed soon: random(9) is the obsolete = Park-Miller LCG from 1988 >>>>> usb_needs_explore_all: no devclass >>>>> Release APs...ahcich0: AHCI reset... >>>>> Trying to mount root from ufs:/dev/gpt/FBSDCA57root [rw]... >>>>> done >>>>> Root mount waiting for: CAMCPU 0: ARM Cortex-A57 r1p2 affinity: 1 = 0 >>>>>=20 >>>>> Cache Type =3D <64 byte D-cacheline,64 byte = I-cacheline,PIPT ICache,64 byte ERG,64 byte CWG> >>>>>=20 >>>>>=20 >>>>> ahcich0: SATA connect timeout time=3D10000us status=3D00000000 >>>>> Instruction Set Attributes 0 =3D <CRC32,SHA2,SHA1,AES+PMULL> >>>>> ahcich0: AHCI reset: device not found >>>>> Instruction Set Attributes 1 =3D <> >>>>> ahcich1: AHCI reset... >>>>> Processor Features 0 =3D <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 32> >>>>> ahcich1: SATA connect time=3D100us status=3D00000133 >>>>> Processor Features 1 =3D <> >>>>> ahcich1: AHCI reset: device found >>>>> Memory Model Features 0 =3D <TGran4,TGran64,SNSMem,BigEnd,16bit = ASID,16TB PA> >>>>> ahcich1: AHCI reset: device ready after 0ms >>>>> Memory Model Features 1 =3D <8bit VMID> >>>>> Memory Model Features 2 =3D <32bit CCIDX,48bit VA> >>>>> Debug Features 0 =3D <2 CTX BKPTs,4 Watchpoints,6 = Breakpoints,PMUv3,Debugv8> >>>>> Debug Features 1 =3D <> >>>>> Auxiliary Features 0 =3D <> >>>>> Auxiliary Features 1 =3D <> >>>>> CPU 1: ARM Cortex-A57 r1p2 affinity: 1 1 >>>>> CPU 2: ARM Cortex-A57 r1p2 affinity: 2 0 >>>>> CPU 3: ARM Cortex-A57 r1p2 affinity: 2 1 >>>>> regulator: shutting down unused regulators >>>>> Root mount waiting for: CAM >>>>> Root mount waiting for: CAM >>>>> Root mount waiting for: CAM >>>>> Root mount waiting for: CAM >>>>> Root mount waiting for: CAM >>>>> Root mount waiting for: CAM >>>>> Root mount waiting for: CAM >>>>> Root mount waiting for: CAM >>>>> Root mount waiting for: CAM >>>>> GEOM: new disk ada0 >>>>> ada0 at ahcich1 bus 0 scbus1 target 0 lun 0 >>>>> ada0: <Samsung SSD 860 PRO 1TB RVM01B6Q> ACS-4 ATA SATA 3.x device >>>>> ada0: Serial Number # >>>>> ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 512bytes) >>>>> ada0: Command Queueing enabled >>>>> ada0: 976762MB (2000409264 512 byte sectors) >>>>> pass0 at ahcich1 bus 0 scbus1 target 0 lun 0 >>>>> pass0: <Samsung SSD 860 PRO 1TB RVM01B6Q> ACS-4 ATA SATA 3.x = device >>>>> pass0: Serial Number # >>>>> pass0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 512bytes) >>>>> pass0: Command Queueing enabled >>>>> efirtc0: providing initial system time >>>>> start_init: trying /sbin/init >>>>> Setting hostuuid: #. >>>>> Setting hostid: #. >>>>> Starting file system checks: >>>>> /dev/gpt/FBSDCA57root: FILE SYSTEM CLEAN; SKIPPING CHECKS >>>>> /dev/gpt/FBSDCA57root: clean, 189555062 free (288086 frags, = 23658372 blocks, 0.1% fragmentation) >>>>> Mounting local filesystems:. >>>>> ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib = /usr/local/lib/compat/pkg /usr/local/lib/compat/pkg /usr/local/lib/gcc10 = /usr/local/lib/perl5/5.30/mach/CORE /usr/local/lib/qt5 = /usr/local/llvm10/lib /usr/local/llvm80/lib >>>>> Setting hostname: FBSDCA57. >>>>> Setting up harvesting: = [UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,[NET_ETHER],NET_TUN,MOUSE,KEYBOARD,A= TTACH,CACHED >>>>> Feeding entropy: . >>>>> lo0: link state changed to UP >>>>> Starting Network: lo0. >>>>> lo0: flags=3D8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu = 16384 >>>>> options=3D680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> >>>>> inet6 ::1 prefixlen 128 >>>>> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 >>>>> inet 127.0.0.1 netmask 0xff000000 >>>>> groups: lo >>>>> nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL> >>>>> Starting devd. >>>>> add host 127.0.0.1: gateway lo0 fib 0: route already in table >>>>> add host ::1: gateway lo0 fib 0: route already in table >>>>> add net fe80::: gateway ::1 >>>>> add net ff02::: gateway ::1 >>>>> add net ::ffff:0.0.0.0: gateway ::1 >>>>> add net ::0.0.0.0: gateway ::1 >>>>=20 >>>> I used artificat.ci.freebsd.org to do an approximate >>>> bisect and the results are: >>>> head -r362952 and before work. >>>> there was no -r362953 artifact >>>> head -r362954 and later fail. >>>> The potential failure checkins are -r362953 and >>>> -r362954 : >>>> Author: hselasky >>>> Date: Mon Jul 6 08:50:11 2020 >>>> New Revision: 362953 >>>> URL: >>>> https://svnweb.freebsd.org/changeset/base/362953 >>>> Log: >>>> Infiniband clients must be attached and detached in a specific = order in ibcore. >>>> . . . >>>> Differential Revision: https://reviews.freebsd.org/D23973 >>>> . . . >>>> and: >>>> Author: andrew >>>> Date: Mon Jul 6 08:51:55 2020 >>>> New Revision: 362954 >>>> URL: >>>> https://svnweb.freebsd.org/changeset/base/362954 >>>> Log: >>>> Add a driver for bcm2838 PCI express controller >>>> . . . >>>> Submitted by: Robert Crowston <crowston_protonmail.com> >>>> Differential Revision: https://reviews.freebsd.org/D25068 >>>> . . . >>>=20 >>> diff'ing the boot -v material for a good boot >>> vs. a failing one shows that . . . >>> Only the failure example has: >>> +module_register: cannot register simplebus/pcib from kernel; = already loaded from kernel >>> +Module simplebus/pcib failed to register: 17 >>> Only the good example later has: >>> -pcib0: <Generic PCI host controller> mem 0xf0000000-0xffffffff on = simplebus0 >>> -pcib0: parsing FDT for ECAM0: >>> -pcib0: PCI addr: 0x0, CPU addr: 0xefff0000, Size: 0x10000 >>> -pcib0: PCI addr: 0x40000000, CPU addr: 0x40000000, Size: 0x80000000 >>> -pcib0: PCI addr: 0x100000000, CPU addr: 0x100000000, Size: = 0x7f00000000 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: PCI addr: 0x0, CPU addr: 0x0, Size: 0x0 >>> -pcib0: Bus is cache-coherent >>> -pci0: <PCI bus> on pcib0 >>> -pci0: domain=3D0, physical bus=3D0 >>> -found-> vendor=3D0x1022, dev=3D0x1a00, revid=3D0x00 >>>=20 >>> - domain=3D0, bus=3D0, slot=3D0, func=3D0 >>>=20 >>>=20 >>> - class=3D06-00-00, hdrtype=3D0x00, mfdev=3D1 >>>=20 >>>=20 >>> - cmdreg=3D0x0004, statreg=3D0x0000, cachelnsz=3D0 (dwords) >>>=20 >>>=20 >>> - lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00= (0 ns) >>>=20 >>>=20 >>>=20 >>> -found-> vendor=3D0x1022, dev=3D0x1a01, revid=3D0x00 >>>=20 >>> - domain=3D0, bus=3D0, slot=3D2, func=3D0 >>>=20 >>>=20 >>> - class=3D06-00-00, hdrtype=3D0x00, mfdev=3D1 >>>=20 >>>=20 >>> - cmdreg=3D0x0000, statreg=3D0x0000, cachelnsz=3D0 (dwords) >>>=20 >>>=20 >>> - lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00= (0 ns) >>>=20 >>>=20 >>>=20 >>> -found-> vendor=3D0x1022, dev=3D0x1a02, revid=3D0x00 >>>=20 >>> - domain=3D0, bus=3D0, slot=3D2, func=3D2 >>>=20 >>>=20 >>> - class=3D06-04-00, hdrtype=3D0x01, mfdev=3D1 >>>=20 >>>=20 >>> - cmdreg=3D0x0507, statreg=3D0x0010, cachelnsz=3D0 (dwords) >>>=20 >>>=20 >>> - lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00= (0 ns) >>>=20 >>>=20 >>> - intpin=3Da, irq=3D255 >>>=20 >>>=20 >>> - powerspec 3 supports D0 D3 current D0 >>>=20 >>>=20 >>> - MSI supports 1 message, 64 bit >>>=20 >>>=20 >>> - secbus=3D1, subbus=3D1 >>>=20 >>>=20 >>>=20 >>> -found-> vendor=3D0x1022, dev=3D0x1a02, revid=3D0x00 >>>=20 >>> - domain=3D0, bus=3D0, slot=3D2, func=3D3 >>>=20 >>>=20 >>> - class=3D06-04-00, hdrtype=3D0x01, mfdev=3D1 >>>=20 >>>=20 >>> - cmdreg=3D0x0507, statreg=3D0x0010, cachelnsz=3D0 (dwords) >>>=20 >>>=20 >>> - lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00= (0 ns) >>>=20 >>>=20 >>> - intpin=3Da, irq=3D255 >>>=20 >>>=20 >>> - powerspec 3 supports D0 D3 current D0 >>>=20 >>>=20 >>> - MSI supports 1 message, 64 bit >>>=20 >>>=20 >>> - secbus=3D2, subbus=3D2 >>>=20 >>>=20 >>>=20 >>> -pcib1: <PCI-PCI bridge> at device 2.2 on pci0 >>> -pcib0: rman_reserve_resource: start=3D0x40100000, end=3D0x401fffff, = count=3D0x100000 >>> -pcib1: domain 0 >>> -pcib1: secondary bus 1 >>> -pcib1: subordinate bus 1 >>> -pcib1: memory decode 0x40100000-0x401fffff >>> -pci1: <PCI bus> on pcib1 >>> -pcib1: allocated bus range (1-1) for rid 0 of pci1 >>> -pci1: domain=3D0, physical bus=3D1 >>> -found-> vendor=3D0x1b73, dev=3D0x1009, revid=3D0x02 >>>=20 >>> - domain=3D0, bus=3D1, slot=3D0, func=3D0 >>>=20 >>>=20 >>> - class=3D0c-03-30, hdrtype=3D0x00, mfdev=3D0 >>>=20 >>>=20 >>> - cmdreg=3D0x0000, statreg=3D0x0010, cachelnsz=3D0 (dwords) >>>=20 >>>=20 >>> - lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00= (0 ns) >>>=20 >>>=20 >>> - intpin=3Da, irq=3D255 >>>=20 >>>=20 >>> - powerspec 3 supports D0 D1 D3 current D0 >>>=20 >>>=20 >>> - MSI supports 8 messages, 64 bit >>>=20 >>>=20 >>> - MSI-X supports 8 messages in maps 0x18 and 0x20 >>>=20 >>>=20 >>> - map[10]: type Memory, range 64, base 0x40100000, size 16, = memory disabled >>>=20 >>>=20 >>>=20 >>> -pcib1: allocated memory range (0x40100000-0x4010ffff) for rid 10 of = pci0:1:0:0 >>>=20 >>> - map[18]: type Memory, range 64, base 0x40110000, size 12, = enabled >>>=20 >>>=20 >>>=20 >>> -pcib1: allocated memory range (0x40110000-0x40110fff) for rid 18 of = pci0:1:0:0 >>>=20 >>> - map[20]: type Memory, range 64, base 0x40111000, size 12, = enabled >>>=20 >>>=20 >>>=20 >>> -pcib1: allocated memory range (0x40111000-0x40111fff) for rid 20 of = pci0:1:0:0 >>> -xhci0: <XHCI (generic) USB 3.0 controller> mem = 0x40100000-0x4010ffff,0x40110000-0x40110fff,0x40111000-0x40111fff at = device 0.0 on pci1 >>> -xhci0: 32 bytes context size, 64-bit DMA >>> -xhci0: attempting to allocate 1 MSI vectors (8 supported) >>> -xhci0: using IRQ 36 for MSI >>> -xhci0: MSI enabled >>> -usbus0 on xhci0 >>> -xhci0: usbpf: Attached >>> -pcib2: <PCI-PCI bridge> at device 2.3 on pci0 >>> -pcib0: rman_reserve_resource: start=3D0x1000, end=3D0x1fff, = count=3D0x1000 >>> -pcib0: rman_reserve_resource: start=3D0x40000000, end=3D0x400fffff, = count=3D0x100000 >>> -pcib2: domain 0 >>> -pcib2: secondary bus 2 >>> -pcib2: subordinate bus 2 >>> -pcib2: I/O decode 0x1000-0x1fff >>> -pcib2: memory decode 0x40000000-0x400fffff >>> -pci2: <PCI bus> on pcib2 >>> -pcib2: allocated bus range (2-2) for rid 0 of pci2 >>> -pci2: domain=3D0, physical bus=3D2 >>> -found-> vendor=3D0x11ab, dev=3D0x4381, revid=3D0x00 >>>=20 >>> - domain=3D0, bus=3D2, slot=3D0, func=3D0 >>>=20 >>>=20 >>> - class=3D02-00-00, hdrtype=3D0x00, mfdev=3D0 >>>=20 >>>=20 >>> - cmdreg=3D0x0000, statreg=3D0x0010, cachelnsz=3D0 (dwords) >>>=20 >>>=20 >>> - lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00= (0 ns) >>>=20 >>>=20 >>> - intpin=3Da, irq=3D255 >>>=20 >>>=20 >>> - powerspec 3 supports D0 D1 D2 D3 current D0 >>>=20 >>>=20 >>> - MSI supports 1 message, 64 bit >>>=20 >>>=20 >>> - map[10]: type Memory, range 64, base 0x40000000, size 14, = memory disabled >>>=20 >>>=20 >>>=20 >>> -pcib2: allocated memory range (0x40000000-0x40003fff) for rid 10 of = pci0:2:0:0 >>>=20 >>> - map[18]: type I/O Port, range 32, base 0x1000, size 8, = port disabled >>>=20 >>>=20 >>>=20 >>> -pcib2: allocated I/O port range (0x1000-0x10ff) for rid 18 of = pci0:2:0:0 >>> -mskc0: <Marvell Yukon 88E8059 Gigabit Ethernet> port 0x1000-0x10ff = mem 0x40000000-0x40003fff at device 0.0 on pci2 >>> -mskc0: MSI count : 1 >>> -mskc0: attempting to allocate 1 MSI vectors (1 supported) >>> -mskc0: using IRQ 37 for MSI >>> -mskc0: RAM buffer size : 0KB >>> -msk0: <Marvell Technology Group Ltd. Yukon Optima Id 0xbc Rev 0x01> = on mskc0 >>> -msk0: Using defaults for TSO: 65518/35/2048 >>> -msk0: bpf attached >>> -msk0: Ethernet address: e0:ff:f7:00:20:ed >>> -miibus0: <MII bus> on msk0 >>> -e1000phy0: <Marvell PHYG65G Gigabit PHY> PHY 0 on miibus0 >>> -e1000phy0: OUI 0x000ac2, model 0x0027, rev. 0 >>> -e1000phy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, = 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, = auto-flow >>> The failure example instead had: >>> +simplebus0: pcie@f0000000 mem 0xf0000000-0xffffffff type pci compat = pci-host-ecam-generic (no driver attached) >>> Later there was: >>> -usbus0: 5.0Gbps Super Speed USB v3.0 >>> Obsolete code will be removed soon: random(9) is the obsolete = Park-Miller LCG from 1988 >>> +usb_needs_explore_all: no devclass >>> I'll stop with that. >>=20 >> Using nm (and cut and grep) to extract names from a >> good and bad kernel I find the following, where the >> "+" lines are from a bad kernel: >>=20 >> diff -u mmjnk.goodnames mmjnk.baddupnames >>=20 >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>=20 >> --- mmjnk.goodnames 2020-07-11 03:31:55.360299000 -0700 >> +++ mmjnk.baddupnames 2020-07-11 03:31:28.483440000 -0700 >> @@ -1,26 +1,35 @@ >> __set_modmetadata_set_sym__mod_metadata_md_alpine_pcib_simplebus >> = __set_modmetadata_set_sym__mod_metadata_md_alpine_pcib_simplebus_on_kernel= >> __set_modmetadata_set_sym__mod_metadata_md_pcib_simplebus >> +__set_modmetadata_set_sym__mod_metadata_md_pcib_simplebus >> __set_modmetadata_set_sym__mod_metadata_md_pcib_simplebus_on_kernel >> +__set_modmetadata_set_sym__mod_metadata_md_pcib_simplebus_on_kernel >> __set_modmetadata_set_sym__mod_metadata_md_thunder_pcib_simplebus >> = __set_modmetadata_set_sym__mod_metadata_md_thunder_pcib_simplebus_on_kerne= l >> __set_sysinit_set_sym_alpine_pcib_simplebusmodule_sys_init >> __set_sysinit_set_sym_pcib_simplebusmodule_sys_init >> +__set_sysinit_set_sym_pcib_simplebusmodule_sys_init >> __set_sysinit_set_sym_thunder_pcib_simplebusmodule_sys_init >> _alpine_pcib_simplebus_depend_on_kernel >> _mod_metadata_md_alpine_pcib_simplebus >> _mod_metadata_md_alpine_pcib_simplebus_on_kernel >> _mod_metadata_md_pcib_simplebus >> +_mod_metadata_md_pcib_simplebus >> _mod_metadata_md_pcib_simplebus_on_kernel >> +_mod_metadata_md_pcib_simplebus_on_kernel >> _mod_metadata_md_thunder_pcib_simplebus >> _mod_metadata_md_thunder_pcib_simplebus_on_kernel >> _pcib_simplebus_depend_on_kernel >> +_pcib_simplebus_depend_on_kernel >> _thunder_pcib_simplebus_depend_on_kernel >> alpine_pcib_simplebus_driver_mod >> alpine_pcib_simplebus_mod >> alpine_pcib_simplebusmodule_sys_init >> pcib_simplebus_driver_mod >> +pcib_simplebus_driver_mod >> pcib_simplebus_mod >> +pcib_simplebus_mod >> +pcib_simplebusmodule_sys_init >> pcib_simplebusmodule_sys_init >> thunder_pcib_simplebus_driver_mod >> thunder_pcib_simplebus_mod >>=20 >> It leaves me wondering if the naming is messing things >> up via duplicate naming from the likes of: >>=20 >> static devclass_t generic_pcie_fdt_devclass; >>=20 >> DRIVER_MODULE(pcib, simplebus, generic_pcie_fdt_driver, >> generic_pcie_fdt_devclass, 0, 0); >>=20 >> vs. >>=20 >> static devclass_t bcm_pcib_devclass; >> DRIVER_MODULE(pcib, simplebus, bcm_pcib_driver, bcm_pcib_devclass, 0, = 0); >>=20 >> (Dual pcib_simplebus based sets of names?) >=20 =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9FBC6DEB-23FA-4FA2-AB10-3D6BDC4CE010>