> > On 2020-Jul-11, at 14:45, Robert Crowston <crowston_at_protonmail.com> wrote: > > So what is the mistake I made here? > > 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. > > 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? > > Let me know how I can help fix it! > > -- 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=DRIVER_MODULE&sektion=9&n=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=driver&sektion=9&n=1 : 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[] = { /* 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 = { "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 > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > On Saturday, 11 July 2020 11:48, Mark Millard <marklmi_at_yahoo.com> wrote: > >> On 2020-Jul-11, at 02:26, Mark Millard <marklmi at yahoo.com> wrote: >> >>> On 2020-Jul-11, at 01:32, Mark Millard <marklmi at yahoo.com> wrote: >>> >>>> On 2020-Jul-11, at 00:14, Mark Millard <marklmi at yahoo.com> wrote: >>>> >>>>> 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_at_FBSDFHUGE:/usr/obj/cortexA57_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG arm64 >>>>> FreeBSD clang version 10.0.1 (git_at_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=0x00ff8000 [512] d=0x00007c00 [32] c=0x000003ff [1024] >>>>> feeder_register: snd_unit=-1 snd_maxautovchans=16 latency=2 feeder_rate_min=1 feeder_rate_max=2016000 feeder_rate_round=25 >>>>> 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,0xe1160000-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_at_e0d00000 mem 0xe0d00000-0xe0deffff irq 10 disabled compat snps,dwc-ahci (no driver attached) >>>>> simplebus0: i2c_at_e1000000 mem 0xe1000000-0xe1000fff irq 11 compat snps,designware-i2c (no driver attached) >>>>> simplebus0: i2c_at_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_at_e1020000 mem 0xe1020000-0xe1020fff irq 14 compat arm,pl022 (no driver attached) >>>>> simplebus0: ssp_at_e1030000 mem 0xe1030000-0xe1030fff irq 15 compat arm,pl022 (no driver attached) >>>>> simplebus0: gpio_at_e1050000 mem 0xe1050000-0xe1050fff irq 16 compat arm,pl061 (no driver attached) >>>>> simplebus0: gpio_at_e0020000 mem 0xe0020000-0xe0020fff irq 17 compat arm,pl061 (no driver attached) >>>>> simplebus0: gpio_at_e0030000 mem 0xe0030000-0xe0030fff irq 18 compat arm,pl061 (no driver attached) >>>>> simplebus0: gpio_at_e0080000 mem 0xe0080000-0xe0080fff irq 19 compat arm,pl061 (no driver attached) >>>>> simplebus0: ccp_at_e0100000 mem 0xe0100000-0xe010ffff irq 20 compat amd,ccp-seattle-v1a (no driver attached) >>>>> simplebus0: pcie_at_f0000000 mem 0xf0000000-0xffffffff type pci compat pci-host-ecam-generic (no driver attached) >>>>> simplebus0: ccn_at_0xe8000000 mem 0xe8000000-0xe8ffffff irq 21 compat arm,ccn-504 (no driver attached) >>>>> simplebus0: gwdt_at_e0bb0000 mem 0xe0bb0000-0xe0bbffff,0xe0bc0000-0xe0bcffff irq 22 compat arm,sbsa-gwdt (no driver attached) >>>>> simplebus0: kcs_at_e0010000 mem 0xe0010000-0xe0010007 irq 23 type ipmi compat ipmi-kcs (no driver attached) >>>>> simplebus0: phy_at_e1240800 mem 0xe1240800-0xe1240bff,0xe1250000-0xe125005f,0xe12500f8-0xe12500fb irq 24 disabled compat amd,xgbe-phy-seattle-v1a (no driver attached) >>>>> simplebus0: phy_at_e1240c00 mem 0xe1240c00-0xe1240fff,0xe1250080-0xe12500df,0xe12500fc-0xe12500ff irq 25 disabled compat amd,xgbe-phy-seattle-v1a (no driver attached) >>>>> simplebus0: xgmac_at_e0700000 mem 0xe0700000-0xe077ffff,0xe0780000-0xe07fffff irq 26,27,28,29,30 disabled compat amd,xgbe-seattle-v1a (no driver attached) >>>>> simplebus0: xgmac_at_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 >>>>> >>>>> Cache Type = <64 byte D-cacheline,64 byte I-cacheline,PIPT ICache,64 byte ERG,64 byte CWG> >>>>> >>>>> >>>>> ahcich0: SATA connect timeout time=10000us status=00000000 >>>>> Instruction Set Attributes 0 = <CRC32,SHA2,SHA1,AES+PMULL> >>>>> ahcich0: AHCI reset: device not found >>>>> Instruction Set Attributes 1 = <> >>>>> ahcich1: AHCI reset... >>>>> Processor Features 0 = <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 32> >>>>> ahcich1: SATA connect time=100us status=00000133 >>>>> Processor Features 1 = <> >>>>> ahcich1: AHCI reset: device found >>>>> Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,16TB PA> >>>>> ahcich1: AHCI reset: device ready after 0ms >>>>> Memory Model Features 1 = <8bit VMID> >>>>> Memory Model Features 2 = <32bit CCIDX,48bit VA> >>>>> Debug Features 0 = <2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3,Debugv8> >>>>> Debug Features 1 = <> >>>>> Auxiliary Features 0 = <> >>>>> Auxiliary Features 1 = <> >>>>> 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,ATTACH,CACHED >>>>> Feeding entropy: . >>>>> lo0: link state changed to UP >>>>> Starting Network: lo0. >>>>> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 >>>>> options=680003<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=21<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 >>>> >>>> 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 >>>> . . . >>> >>> 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=0, physical bus=0 >>> -found-> vendor=0x1022, dev=0x1a00, revid=0x00 >>> >>> - domain=0, bus=0, slot=0, func=0 >>> >>> >>> - class=06-00-00, hdrtype=0x00, mfdev=1 >>> >>> >>> - cmdreg=0x0004, statreg=0x0000, cachelnsz=0 (dwords) >>> >>> >>> - lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) >>> >>> >>> >>> -found-> vendor=0x1022, dev=0x1a01, revid=0x00 >>> >>> - domain=0, bus=0, slot=2, func=0 >>> >>> >>> - class=06-00-00, hdrtype=0x00, mfdev=1 >>> >>> >>> - cmdreg=0x0000, statreg=0x0000, cachelnsz=0 (dwords) >>> >>> >>> - lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) >>> >>> >>> >>> -found-> vendor=0x1022, dev=0x1a02, revid=0x00 >>> >>> - domain=0, bus=0, slot=2, func=2 >>> >>> >>> - class=06-04-00, hdrtype=0x01, mfdev=1 >>> >>> >>> - cmdreg=0x0507, statreg=0x0010, cachelnsz=0 (dwords) >>> >>> >>> - lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) >>> >>> >>> - intpin=a, irq=255 >>> >>> >>> - powerspec 3 supports D0 D3 current D0 >>> >>> >>> - MSI supports 1 message, 64 bit >>> >>> >>> - secbus=1, subbus=1 >>> >>> >>> >>> -found-> vendor=0x1022, dev=0x1a02, revid=0x00 >>> >>> - domain=0, bus=0, slot=2, func=3 >>> >>> >>> - class=06-04-00, hdrtype=0x01, mfdev=1 >>> >>> >>> - cmdreg=0x0507, statreg=0x0010, cachelnsz=0 (dwords) >>> >>> >>> - lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) >>> >>> >>> - intpin=a, irq=255 >>> >>> >>> - powerspec 3 supports D0 D3 current D0 >>> >>> >>> - MSI supports 1 message, 64 bit >>> >>> >>> - secbus=2, subbus=2 >>> >>> >>> >>> -pcib1: <PCI-PCI bridge> at device 2.2 on pci0 >>> -pcib0: rman_reserve_resource: start=0x40100000, end=0x401fffff, count=0x100000 >>> -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=0, physical bus=1 >>> -found-> vendor=0x1b73, dev=0x1009, revid=0x02 >>> >>> - domain=0, bus=1, slot=0, func=0 >>> >>> >>> - class=0c-03-30, hdrtype=0x00, mfdev=0 >>> >>> >>> - cmdreg=0x0000, statreg=0x0010, cachelnsz=0 (dwords) >>> >>> >>> - lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) >>> >>> >>> - intpin=a, irq=255 >>> >>> >>> - powerspec 3 supports D0 D1 D3 current D0 >>> >>> >>> - MSI supports 8 messages, 64 bit >>> >>> >>> - MSI-X supports 8 messages in maps 0x18 and 0x20 >>> >>> >>> - map[10]: type Memory, range 64, base 0x40100000, size 16, memory disabled >>> >>> >>> >>> -pcib1: allocated memory range (0x40100000-0x4010ffff) for rid 10 of pci0:1:0:0 >>> >>> - map[18]: type Memory, range 64, base 0x40110000, size 12, enabled >>> >>> >>> >>> -pcib1: allocated memory range (0x40110000-0x40110fff) for rid 18 of pci0:1:0:0 >>> >>> - map[20]: type Memory, range 64, base 0x40111000, size 12, enabled >>> >>> >>> >>> -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=0x1000, end=0x1fff, count=0x1000 >>> -pcib0: rman_reserve_resource: start=0x40000000, end=0x400fffff, count=0x100000 >>> -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=0, physical bus=2 >>> -found-> vendor=0x11ab, dev=0x4381, revid=0x00 >>> >>> - domain=0, bus=2, slot=0, func=0 >>> >>> >>> - class=02-00-00, hdrtype=0x00, mfdev=0 >>> >>> >>> - cmdreg=0x0000, statreg=0x0010, cachelnsz=0 (dwords) >>> >>> >>> - lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) >>> >>> >>> - intpin=a, irq=255 >>> >>> >>> - powerspec 3 supports D0 D1 D2 D3 current D0 >>> >>> >>> - MSI supports 1 message, 64 bit >>> >>> >>> - map[10]: type Memory, range 64, base 0x40000000, size 14, memory disabled >>> >>> >>> >>> -pcib2: allocated memory range (0x40000000-0x40003fff) for rid 10 of pci0:2:0:0 >>> >>> - map[18]: type I/O Port, range 32, base 0x1000, size 8, port disabled >>> >>> >>> >>> -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_at_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. >> >> 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: >> >> diff -u mmjnk.goodnames mmjnk.baddupnames >> >> ========================================== >> >> --- mmjnk.goodnames 2020-07-11 03:31:55.360299000 -0700 >> +++ mmjnk.baddupnames 2020-07-11 03:31:28.483440000 -0700 >> _at__at_ -1,26 +1,35 _at__at_ >> __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_kernel >> __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 >> >> It leaves me wondering if the naming is messing things >> up via duplicate naming from the likes of: >> >> static devclass_t generic_pcie_fdt_devclass; >> >> DRIVER_MODULE(pcib, simplebus, generic_pcie_fdt_driver, >> generic_pcie_fdt_devclass, 0, 0); >> >> vs. >> >> static devclass_t bcm_pcib_devclass; >> DRIVER_MODULE(pcib, simplebus, bcm_pcib_driver, bcm_pcib_devclass, 0, 0); >> >> (Dual pcib_simplebus based sets of names?) > === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)Received on Sat Jul 11 2020 - 20:13:07 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:24 UTC