【Linux】当前进展
驱动层日志添加了下文件目录,函数,代码行的打印(这里要小心,驱动目录源代码打印日志里边添进程号可能有问题,因为在驱动初始化的时候,内核还没有创建进程,不过猜测可以先不打印进程相关信息,在操作系统完成启动后再打印可能没有问题,不过在前面测试的时候,在驱动目录代码里边添加sched.h会报错,因为这个头文件对其他头文件的依赖本来就非常复杂):
添加日志文件目录,函数,代码行的打印前是这样的,比如想看某处打印详细代码位置,是很难的:
添加打印信息后是这样的,这样要找源代码目录比较容易,比较容易找到代码执行流程:
这里实际上是很多模块在初始化,calling后边的函数是可以直接在代码里边搜索的,一般都是一个模块的初始化入口:
这里可以看到总线上在不断添加计算机硬件的驱动:
这里好像是在添加osi的:
这里要注意,是在初始化网卡,e1000目录里有网卡初始化代码:
如果是看下边这个图,比较明显可以看出来IP层、UDP层、以太层源代码目录,很方便:
TCP打印日志的代码还比较少:
这样可以跟网络协议层对应上:
网卡驱动(e1000)到77XX行才装,这块没想明白,从下边这个日志也可以看出来不同驱动安装的先后顺序和大概时间
行 261: [ 1.060526] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'gpio': add driver gpio_stub_drv
行 267: [ 1.060647] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver reg-dummy
行 339: [ 1.077919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver sram
行 343: [ 1.077919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver syscon
行 349: [ 1.077919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver dummy
行 398: [ 1.079105] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'serial-base': add driver ctrl
行 400: [ 1.079121] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'serial-base': add driver port
行 498: [ 1.086687] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver sx150x-pinctrl
行 502: [ 1.086725] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver byt_gpio
行 506: [ 1.086755] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver cherryview-pinctrl
行 511: [ 1.086800] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver palmas-gpio
行 515: [ 1.086831] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver rc5t583-gpio
行 519: [ 1.086862] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver tps6586x-gpio
行 523: [ 1.086893] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver tps65910-gpio
行 585: [ 1.194919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver clk-lpss-atom
行 1096: [ 1.710919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'acpi': add driver ec
行 1116: [ 1.712042] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver 88PM860x
行 1119: [ 1.712072] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver WM8400
行 1122: [ 1.712098] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver wm831x
行 1125: [ 1.712128] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'spi': add driver wm831x
行 1128: [ 1.712152] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver wm8350
行 1131: [ 1.712176] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver tps65910
行 1134: [ 1.712202] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'spi': add driver ezx-pcap
行 1137: [ 1.712227] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver da903x
行 1140: [ 1.712252] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'spi': add driver da9052
行 1143: [ 1.712278] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver da9052
行 1146: [ 1.712303] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver lp8788
行 1149: [ 1.712329] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver da9055-pmic
行 1152: [ 1.712360] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver max77843
行 1155: [ 1.712385] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver max8925
行 1158: [ 1.712411] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver max8997
行 1161: [ 1.712435] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver max8998
行 1164: [ 1.712460] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver tps6586x
行 1167: [ 1.712486] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver tps65090
行 1170: [ 1.712510] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver aat2870
行 1173: [ 1.712535] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver palmas
行 1176: [ 1.712567] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver rc5t583
行 1179: [ 1.712593] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver as3711
行 1183: [ 1.712653] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'nd': add driver nd_bus
行 1185: [ 1.712669] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'nd': add driver nvdimm
行 1187: [ 1.712685] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'nd': add driver nd_region
行 1201: [ 1.712919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'mdio_bus': add driver Generic Clause 45 PHY
行 1203: [ 1.712919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'mdio_bus': add driver Generic PHY
行 1209: [ 1.712919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'usb': add driver usbfs
行 1212: [ 1.712919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'usb': add driver hub
行 1215: [ 1.712919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'usb': add driver usb
行 1226: [ 1.712919] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver i2c_designware
行 1370: [ 1.742313] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pnp': add driver system
行 1762: [ 1.899565] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver iosf_mbi_pci
行 1782: [ 1.900008] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver alarmtimer
行 1890: [ 1.942817] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver amd_gpio
行 1894: [ 1.942856] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver basic-mmio-gpio
行 1898: [ 1.942890] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver crystal_cove_gpio
行 1902: [ 1.943305] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver crystal_cove_pwm
行 1905: [ 1.943336] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver pwm-lpss
行 1909: [ 1.943397] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver pwm-lpss
行 1912: [ 1.943431] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci_express': add driver aer
行 1914: [ 1.943448] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci_express': add driver pcie_pme
行 1916: [ 1.943464] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci_express': add driver dpc
行 1918: [ 1.943481] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci_express': add driver pciehp
行 1920: [ 1.943503] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver pcieport
行 2010: [ 2.006564] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver shpchp
行 2022: [ 2.007190] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver dw-pcie
行 2026: [ 2.007221] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver imsttfb
行 2030: [ 2.007260] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver asiliantfb
行 2035: [ 2.007309] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver acpi-ged
行 2041: [ 2.007601] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver ac
行 2045: [ 2.008076] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'acpi': add driver button
行 2063: [ 2.009068] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver acpi-fan
行 2067: [ 2.009099] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'cpu': add driver processor
行 2072: [ 2.011421] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'acpi': add driver thermal
行 2077: [ 2.011635] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'acpi': add driver hardware_error_device
行 2085: [ 2.011816] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver byt_crystal_cove_pmic
行 2089: [ 2.011850] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver cht_crystal_cove_pmic
行 2093: [ 2.011881] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver axp288_pmic_acpi
行 2097: [ 2.011913] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver bxt_whiskey_cove_pmic
行 2101: [ 2.011956] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver cht_whiskey_cove_pmic
行 2105: [ 2.011995] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver cht_dollar_cove_ti_pmic
行 2109: [ 2.012027] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver tps68470_pmic_opregion
行 2112: [ 2.012053] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'acpi': add driver battery
行 2115: [ 2.012063] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver gpio-clk
行 2119: [ 2.012095] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver clk-fch
行 2123: [ 2.012124] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver clk-pmc-atom
行 2127: [ 2.012156] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver lgm-dma
行 2132: [ 2.012190] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver virtio-mmio
行 2135: [ 2.012220] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver virtio-pci
行 2138: [ 2.012260] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'virtio': add driver virtio_balloon
行 2146: [ 2.012343] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver xen-platform-pci
行 2152: [ 2.012404] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver simple-reset
行 2163: [ 2.013752] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pnp': add driver serial
行 2171: [ 2.028581] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver serial8250
行 2174: [ 2.028865] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver 8250_mid
行 2177: [ 2.028918] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver serial
行 2182: [ 2.029175] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'spi': add driver max310x
行 2184: [ 2.029195] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver max310x
行 2188: [ 2.029226] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver uart-sccnxp
行 2193: [ 2.029260] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver kgdboc
行 2199: [ 2.030463] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'virtio': add driver virtio_console
行 2201: [ 2.030481] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'virtio': add driver virtio_rproc_serial
行 2204: [ 2.031056] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'acpi': add driver hpet
行 2210: [ 2.031434] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver agpgart-amd64
行 2214: [ 2.031486] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver agpgart-intel
行 2221: [ 2.034341] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver agpgart-via
行 2226: [ 2.034397] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver tpm_tis
行 2228: [ 2.034418] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pnp': add driver tpm_tis
行 2231: [ 2.034450] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'acpi': add driver tpm_crb
行 2234: [ 2.034480] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'virtio': add driver virtio_iommu
行 2242: [ 2.040748] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver simple-framebuffer
行 2277: [ 2.110999] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'virtio': add driver virtio_blk
行 2282: [ 2.111050] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver tps65912
行 2285: [ 2.111079] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'spi': add driver tps65912
行 2288: [ 2.111105] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver twl
行 2292: [ 2.111138] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver twl4030-audio
行 2295: [ 2.111169] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver twl6040
行 2298: [ 2.111197] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver da9063
行 2302: [ 2.111226] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver max14577
行 2305: [ 2.111259] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver max77693
行 2308: [ 2.111285] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver adp5520
行 2311: [ 2.111311] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver crystal_cove_i2c
行 2314: [ 2.111339] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver CHT Whiskey Cove PMIC
行 2318: [ 2.111370] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver e820_pmem
行 2326: [ 2.111758] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'virtio': add driver virtio_scsi
行 2330: [ 2.111809] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'scsi': add driver sd
行 2334: [ 2.111845] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'scsi': add driver sr
行 2339: [ 2.111908] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver ata_piix
行 2349: [ 2.114703] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver pata_sis
行 2352: [ 2.114756] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver ata_generic
行 2358: [ 2.114853] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'mdio_bus': add driver Broadcom BCM84881
行 2366: [ 2.115247] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'virtio': add driver virtio_net
行 2377: [ 2.115465] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver dwc2
行 2384: [ 2.115526] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver ehci-pci
行 2388: [ 2.115600] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver ehci-platform
行 2394: [ 2.115652] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver ohci-pci
行 2398: [ 2.115691] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver ohci-platform
行 2402: [ 2.115765] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver uhci_hcd
行 2440: [ 2.132881] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pnp': add driver i8042 kbd
行 2442: [ 2.132925] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pnp': add driver i8042 aux
行 2446: [ 2.132982] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver i8042
行 2458: [ 2.135415] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'serio': add driver atkbd
行 2461: [ 2.135451] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'i2c': add driver elants_i2c
行 2466: [ 2.136518] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pnp': add driver rtc_cmos
行 2509: [ 2.139688] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver mt6323-pwrc
行 2513: [ 2.139722] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver poweroff-restart
行 2517: [ 2.139754] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver tps65086-restart
行 2554: [ 2.144580] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver intel_scu
行 2560: [ 2.144651] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver rproc-virtio
行 4164: [ 3.899638] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver charger-manager
行 4172: [ 3.899706] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver acpi-cpufreq
行 4179: [ 3.899765] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver pcc-cpufreq
行 5506: [ 4.999918] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver floppy
行 7250: [ 5.254145] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver pata_acpi
行 7760: [ 5.279796] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver e1000
行 8335: [ 5.305475] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver ahci
行 9562: [ 5.374956] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver mptspi
行 11238: [ 5.425274] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'serio': add driver psmouse
行 11247: [ 5.427417] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'usb': add driver usbhid
行 11468: [ 5.462425] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'hid': add driver hid-generic
行 14968: [ 8.408096] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'parport': add driver lp
行 15338: [ 8.427068] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'parport': add driver ppdev
行 15879: [ 8.449648] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver parport_pc
行 15882: [ 8.449764] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pnp': add driver parport_pc
行 15885: [ 8.451462] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver parport_pc
行 17133: [ 9.712975] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'serio': add driver serio_raw
行 19747: [10.025896] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver vmw_vmci
行 19752: [10.031504] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver piix4_smbus
行 24366: [10.418290] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver vmwgfx
行 32450: [12.286369] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'snd_seq': add driver snd_seq_midi
行 37707: [12.661877] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'pci': add driver snd_ens1371
行 39934: [12.826173] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver intel_rapl_msr
root@a:/home/a/linux-6.9.0# lspci,lspci这个命令可以查看PCI总线上挂了哪些设备(其中在02:01.0上挂的网卡 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01))
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
00:0f.0 VGA compatible controller: VMware SVGA II Adapter
00:10.0 SCSI storage controller: Broadcom / LSI 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
00:11.0 PCI bridge: VMware PCI bridge (rev 02)
00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.7 PCI bridge: VMware PCI Express Root Port (rev 01)
02:00.0 USB controller: VMware USB1.1 UHCI Controller
02:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
02:02.0 Multimedia audio controller: Ensoniq ES1371/ES1373 / Creative Labs CT2518 (rev 02)
02:03.0 USB controller: VMware USB2 EHCI Controller
02:04.0 SATA controller: VMware SATA AHCI controller
从内核打印日志中可以找到总线挂载的位置,然后找到安装的驱动:
实际在收发以太层数据包也是可以看到的:
完整日志:
登录 - Gitee.comhttps://gitee.com/r77683962/linux-6.9.0-testlog/commit/4298a01610b18175feac1993fc7bd71a4173245a登录 - Gitee.com
https://gitee.com/r77683962/linux-6.9.0-testlog/commit/e0c4f6d11e823f60327923eef86c9e9c8419b665
驱动层很多源代码采用如下宏打印日志,添加了打印文件,行,函数,不知道能不能把进程id也添加上:
有些驱动目录的源代码不是使用的这个打印宏,修改后的代码
(参考来源:include/linux/printk.h):
修改的源代码,这里碰到一个问题,这个问题改和测试花了一两天(主要是修改dev_printk.h或printk.h这类头文件修改,基本上要全量编译,涉及需要在头文件的函数中添加打印日志的一定要小心,现在一般看到头文件,手都不怎么敢碰键盘,不小心修改了文件,很耗时间,doge),现在能运行的内核是需要编译两次(也可能理解的不对),第一次编译会报链接错误,再编译一次就好了,而且这样编译的内核还可以启动,这。。。。:
include/linux/dev_printk.h · r77683962/linux-6.9.0 - Gitee.comhttps://gitee.com/r77683962/linux-6.9.0/blob/master/include/linux/dev_printk.h
感谢。
参考资料:
[转]pci设备学习笔记_pci init-CSDN博客
补充:
netdev_start_xmit到e1000_xmit_frame,应该是下边代码,不过从udp_send_skb到ip_send_skb再到netdev_start_xmit还没找到代码能衔接上,还在继续找。
【linux】内核源码TCP->IP->L2层函数调用继续摸索中-CSDN博客
相关文章:

【Linux】当前进展
驱动层日志添加了下文件目录,函数,代码行的打印(这里要小心,驱动目录源代码打印日志里边添进程号可能有问题,因为在驱动初始化的时候,内核还没有创建进程,不过猜测可以先不打印进程相关信息&…...

阿里云云效多个ssh密钥对配置
实现功能 windows本地多个ssh密钥对,分别对应不同的阿里云账号的云效 实现办法 1.生成ssh密钥对 ssh-keygen -t rsa -f C:\xxx\id_rsa_customname(我这里C:\Users\admin\.ssh\id_rsa_customname) 2.配置.ssh目录的config文件 # ruiyi Host customnameHostName codeup.al…...

前后端跨域问题及其在ThinkPHP中的解决方案
在现代Web开发中,前后端分离的架构越来越普遍,但这也带来了跨域问题。跨域指的是在一个域下的网页试图请求另一个域的资源,浏览器出于安全考虑会限制这种行为。本文将探讨如何在ThinkPHP中解决跨域问题。 #### 1. 什么是跨域? 跨…...

基于CentOS7上安装MicroK8s(最小生产的 Kubernetes)
简介 MicroK8s是一个轻量级的Kubernetes发行版,其内存和存储要求远低于全尺寸Kubernetes集群。它可以在几分钟内通过一条命令快速创建功能齐全的Kubernetes集群,极大地简化了部署过程。 兼容性:MicroK8s与Kubernetes全面兼容,确保用户可以无缝迁移和扩展他们的应用程序。 …...

从《GTA5》的反外挂斗争看网络安全的重要性
摘要: 在网络游戏的世界里,外挂(作弊软件)一直是破坏游戏公平性和玩家体验的一大难题。作为一款深受全球玩家喜爱的游戏,《GTA5》(Grand Theft Auto V)在线模式也不例外地遭遇了外挂问题。本文将…...

python如何将字符转换为数字
python中的字符数字之间的转换函数 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字…...

TikTok流量不佳:是网络环境选择不当还是其他原因?
TikTok,作为全球短视频社交平台的佼佼者,每天都有海量的内容被上传和分享。然而,很多用户和内容创作者发现,他们的TikTok视频流量并不理想。这引发了一个问题:TikTok流量不佳,是因为网络环境选择不当&#…...

QT菜单栏设计(二级菜单栏)
目的:创建一级菜单栏,添加对应选项,并向一级菜单栏中添加二级菜单栏选项。 #include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindo…...

网站建设中,常用的后台技术有哪些,他们分别擅长做什么网站平台
PHP、Python、JavaScript、Ruby、Java和.NET各自适用于不同类型的网站平台。以下是对这些编程语言适用场景的具体介绍: PHP Web开发:PHP是一种广泛使用的开源服务器端脚本语言,特别适合Web开发。全球有超过80%的网站使用PHP作为服务器端编程语…...

【线程】POSIX信号量---基于环形队列的生产消费者模型
信号量概念 这篇文章是以前写的,里面讲了 System V的信号量的概念,POSIX信号量和SystemV信号量作用相同,都是用于同步操作,达到无冲突的访问共享资源目的。 但POSIX可以用于线程间同步。 信号量的概念 POSIX信号量的接口 初始化…...

Excel 设置自动换行
背景 版本:office 专业版 11.0 表格内输入长信息,发现默认状态时未自动换行的,找了很久设置按钮,遂总结成经验帖。 操作 1)选中需设置的单元格/区域/行/列。 2)点击【开始】下【对齐方式】中的【自动换…...

UNI-SOP使用说明
UNI-SOP提供了两个集成客户端:SpringBoot2.x/JAVA1.8和SpringBoot3.x/JAVA17,满足不同项目的集成需求。 平台接入 使用UNI-SOP之前,业务平台需要进行接入,完成校验后才能正常使用,先引入客户端开发SKD包。 <depen…...

记录-java web 生成并下载zip文件
java生成zip文件,zip文件分两种:一种是包含文件夹、一种是不包含文件夹 生成zip文件的方式 ZipOutputStream zipOutputStream new ZipOutputStream(response.getOutputStream());// 文件夹名称String folder "download/";ZipEntry ze new Z…...

大数据集群部署文档
大数据集群部署文档 注意:需配合大数据集群启动&检查文档进行部署,以便可以检验每一个组件是否部署成功。 文章目录 大数据集群部署文档一、部署前准备1. 确保所有机器可以访问外网2. 配置root用户ssh连接3. 解决Vmware ESXi 6.5 Ubuntu虚拟机ssh连…...

HTML中的表单(超详细)
一、表单 1.语法 <!-- action:提交的地方 method:提交的方式(get会显示,post不会) --> <form action"#" method"get"><p>名字:<input name"name" ty…...

初识 C 语言(一)
目录 一、 第一个 C 程序1. printf() 函数和 stdio.h 头文件2. main() 函数和 return 语句 二、类型和变量1. C 语言中的基本类型2. 变量的创建和命名规则3. 类型和变量的大小 三、printf() 函数和 scanf() 函数1. printf() 函数的使用2. 各种类型的输出格式3. scanf() 函数的使…...

LiveNVR监控流媒体Onvif/RTSP功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大
LiveNVR监控流媒体Onvif/RTSP功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大 1、视频广场2、录像回看3、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、视频广场 视频广场 -》播放 ,左键单击可以拉取矩形框,放大选中的范围ÿ…...

element ui中当el-dialog需要做全屏时,.fullscreen样式修改问题
element ui 饿了么UI中el-dialog样式修改问题 场景解决方法就是:去掉底部样式中的scoped,然后再进行页面级样式的更改即可。 场景 最近在使用element-ui时,使用到了弹窗组件: element-ui 官网链接地址: element-ui 官网链接地址…...

C++的明星之我是类001
文章目录 类类定义格式访问限定符类域 实例化实例化概念对象大小 this指针两道nt题目题目一题目二 C和C语言实现stack对比 类 类定义格式 新增一个关键字class,后加上类的名字,{}中为类的主体,类中的函数称为类的⽅法或者成员函数定义在类⾯…...

深度学习与应用:行人跟踪
**实验 深度学习与应用:行人跟踪 ** ------ **1、 实验目的** ------ - 了解行人跟踪模型基础处理流程 - 熟悉行人跟踪模型的基本原理 - 掌握 行人跟踪模型的参数微调训练以及推理的能力 - 掌握行人跟踪模型对实际问题的应用能力,了解如何在特定的场景和…...

MySQL | DATE_ADD()函数
题1: 现在运营想要查看用户在某天刷题后第二天还会再来刷题的平均概率。请你取出相应数据。 示例:question_practice_detail iddevice_idquest_idresultdate12138111wrong2021-05-0323214112wrong2021-05-0933214113wrong2021-06-1546543111right2021…...

DVWA 靶场环境搭建
作者:程序那点事儿 日期:2024/09/15 09:30 什么是DVWA: 是OWSASP官方编写的PHP网站,包含了各种网站常见漏洞(漏洞靶场),可以学习攻击及修复方式。 PHP环境包含了,Windows/Apache/Mysql/Php g…...

Autosar学习----AUTOSAR_SWS_BSWGeneral(七)
💥💥🔍 🔍 欢迎来到本博客❤️❤️💥💥 🐡优势:❤️博客内容尽量做到通俗易懂,逻辑清晰。 ⛳️座右铭:恒心,耐心,静心。 ⛳️ 欢迎一起…...

自动化测试框架集成:将Selenium集成到pytest与unittest中
目录 引言 一、Selenium简介 二、Selenium与pytest的集成 1. 安装pytest和Selenium 2. 编写测试用例 3. 运行测试 三、Selenium与unittest的集成 1. 编写测试类 2. 运行测试 四、Selenium自动化测试的最佳实践 1. 使用Page Object模式 2. 合理利用等待机制 3. 跨浏…...

华为GaussDB数据库(单机版)在ARM环境下的安装指南
一、软件版本 机器配置:8核16G,CPU: Huawei Kunpeng 920 2.9GHz操作系统:EulerOS 2.8 64bit with ARM数据库版本:GaussDB Kernel 505.1.0 build 44f4fa53 二、部署流程 2.1 新建用户 ① 以omm用户为例,添加一个omm用…...

计算机网络笔记002
### 课堂讨论对话 **学生A**: 老师,计算机网络的组成是怎样的?🤔 **老师**: 非常好的问题!计算机网络主要由硬件、软件和通信协议三部分组成。我们先从硬件开始讨论吧。 **学生B**: 硬件包括哪些设备呢?ὠ…...

Unity 的Event的Use()方法
对于Event的Use方法,其在调用后将不会再判断同类型的事件 这种情况下,第二个MosueDown不会进入,因为已经Use 如果把Use注释掉 依旧能进入第二个MosueDown 也就是说当使用了Use方法,相同的事件类型不会进第二遍...

数据分析师之Excel数据清洗
前言 目前,掌握一定的Excel技能时,怎么通过自己的技能实现数据分析的操作,就需要进行具体项目的实战,本身数据分析这个行业是非常吃经验的,既然我们是小白入坑,就需要多做实战演练,才能够实际的…...

手机解压软件加密指南:让文件更安全
在数字化时代,文件加密对于保护个人隐私和敏感信息的重要性不言而喻。随着互联网的飞速发展,我们的生活和工作越来越依赖于数字设备和网络。 然而,这也带来了一系列的安全风险,如黑客攻击、数据泄露等。文件加密技术成为了保护我…...

python yield generator 详解
目录 generator基础 generator应用 generator基础应用 generator高级应用 注意事项: 正文 本文将由浅入深详细介绍yield以及generator,包括以下内容:什么generator,生成generator的方法,generator的特点&#…...