OK6410A 开发板 (八) 16 linux-5.11 OK6410A start_kernel 打印角度 第二阶段 do_initcalls

  • log
// init_jiffies_clocksource-> ... -> __clocksource_register_scale
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns

// futex_init
futex hash table entries: 256 (order: -1, 3072 bytes, linear)

// netlink_proto_init
NET: Registered protocol family 16

// atomic_pool_init
DMA: preallocated 256 KiB pool for atomic coherent allocations

// s3c_arch_init
S3C6410: Initialising architecture

// usb_init
usbcore: registered new interface driver usbfs // usb_register
usbcore: registered new interface driver hub // usb_hub_init
usbcore: registered new device driver usb // usb_register_device_driver

// clocksource_done_booting
clocksource: Switched to clocksource samsung_clocksource_timer

// inet_init->sock_register
NET: Registered protocol family 2

// inet_init->tcp_init
tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes, linear)
TCP: Hash tables configured (established 2048 bind 2048)
UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)

// af_unix_init
NET: Registered protocol family 1

// init_sunrpc
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.

// workingset_init
workingset: timestamp_bits=30 max_order=16 bucket_order=0

// bsg_init
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)

// deadline_init-> elv_register
io scheduler mq-deadline registered

// kyber_init-> elv_register
io scheduler kyber registered

// module_platform_driver(s3cfb_driver);
S3C_LCD clock got enabled :: 133.000 Mhz
LCD TYPE :: WanXin WXCAT43 will be initialized
Window[0] - FB1: map_video_memory: clear (ptrval):0007f800
            FB1: map_video_memory: dma=50e00000 cpu=(ptrval) size=0007f800
Window[0] - FB2: map_video_memory: clear (ptrval):0003fc00
            FB2: map_video_memory: dma=50e3fc00 cpu=(ptrval) size=0003fc00
Console: switching to colour frame buffer device 60x34
fb0: s3cfb frame buffer device

// module_platform_driver(samsung_serial_driver) // samsung_serial_driver_init
s3c6400-uart.0: ttySAC0 at MMIO 0x7f005000 (irq = 69, base_baud = 0) is a S3C6400/10
printk: console [ttySAC0] enabled
s3c6400-uart.1: ttySAC1 at MMIO 0x7f005400 (irq = 70, base_baud = 0) is a S3C6400/10
s3c6400-uart.2: ttySAC2 at MMIO 0x7f005800 (irq = 71, base_baud = 0) is a S3C6400/10
s3c6400-uart.3: ttySAC3 at MMIO 0x7f005c00 (irq = 72, base_baud = 0) is a S3C6400/10

// module_platform_driver(dm9000_driver); // dm9000_driver_init
dm9000 dm9000.0: IRQ index 1 not found
eth0: dm9000a at (ptrval),(ptrval) IRQ 108 MAC: 08:90:00:a0:90:90 (platform data)

// ohci_hcd_mod_init
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver

// ohci_s3c2410_init
ohci-s3c2410: OHCI S3C2410 driver
s3c2410-ohci s3c2410-ohci: OHCI Host Controller
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 79, io mem 0x74300000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected

// mousedev_init
mousedev: PS/2 mouse device common for all mice

// module_platform_driver(s3c2410wdt_driver);
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq disabled

// sdhci_drv_init
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman

// hid_init // drivers/hid/usbhid/hid-core.c
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver

// inet6_init -> sock_register
NET: Registered protocol family 10

// module_platform_driver(sdhci_s3c_driver);
s3c-sdhci s3c-sdhci.0: clock source 0: mmc_busclk.0 (133000000 Hz)
s3c-sdhci s3c-sdhci.0: clock source 2: mmc_busclk.2 (96000000 Hz)

// inet6_init-> seg6_init
Segment Routing with IPv6

// sit_init
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver

// --------------------------------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------

// kthread-> worker_thread -> process_one_work -> async_run_entry_fn -> __driver_attach_async_helper -> driver_probe_device -> really_probe -> platform_probe -> sdhci_s3c_probe -> sdhci_add_host -> __sdhci_add_host
mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] using ADMA

// ip_auto_config->ic_open_devs->dev_change_flags->__dev_change_flags->__dev_open->dm9000_open->mii_check_media
dm9000 dm9000.0 eth0: link down

// kthread-> worker_thread -> process_one_work -> mmc_rescan -> mmc_attach_sd -> mmc_sd_init_card -> mmc_sd_switch_hs
mmc0: Problem switching card into high-speed mode!

// kthread-> worker_thread -> process_one_work -> mmc_rescan -> mmc_attach_sd -> mmc_add_card
mmc0: new SDHC card at address 0001

// kthread-> worker_thread -> process_one_work -> mmc_rescan -> mmc_attach_sd -> mmc_add_card -> device_add
mmcblk0: mmc0:0001 SD16G 29.8 GiB 
 mmcblk0: p1 p2
 
// vic_handle_irq -> __handle_domain_irq -> generic_handle_irq -> handle_level_irq -> handle_irq_event -> handle_irq_event_percpu -> add_interrupt_randomness -> crng_fast_load
random: fast init done

// kthread -> worker_thread -> process_one_work -> hub_event -> hub_port_init
usb 1-1: new full-speed USB device number 2 using s3c2410-ohci

// kthread -> worker_thread -> process_one_work -> linkwatch_event -> __linkwatch_run_queue -> linkwatch_do_dev -> netdev_state_change -> raw_notifier_call_chain -> addrconf_notify
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

// ip_auto_config
IP-Config: Guessing netmask 255.0.0.0
IP-Config: Complete:
     device=eth0, hwaddr=08:90:00:a0:90:90, ipaddr=10.10.11.120, mask=255.0.0.0, gw=255.255.255.255
     host=10.10.11.120, domain=, nis-domain=(none)
     bootserver=255.255.255.255, rootserver=10.10.11.59, rootpath=

这里面涉及到了 
net
	dm9000
	tcp
	udp
	unix
	ip
	ipv6
	ip_auto_config
	rpc
mmc/sdhci
usb
uart
dma
lcd
watchdog
---
jiffies
futex
workingset
bsg
random
io scheduler
s3c_arch_init

  • 定义
#define pure_initcall(fn)        __define_initcall("0",fn,0)

#define core_initcall(fn)        __define_initcall("1",fn,1)
#define core_initcall_sync(fn)        __define_initcall("1s",fn,1s)
#define postcore_initcall(fn)        __define_initcall("2",fn,2)
#define postcore_initcall_sync(fn)    __define_initcall("2s",fn,2s)
#define arch_initcall(fn)        __define_initcall("3",fn,3)
#define arch_initcall_sync(fn)        __define_initcall("3s",fn,3s)
#define subsys_initcall(fn)        __define_initcall("4",fn,4)
#define subsys_initcall_sync(fn)    __define_initcall("4s",fn,4s)
#define fs_initcall(fn)            __define_initcall("5",fn,5)
#define fs_initcall_sync(fn)        __define_initcall("5s",fn,5s)
#define rootfs_initcall(fn)        __define_initcall("rootfs",fn,rootfs)
#define device_initcall(fn)        __define_initcall("6",fn,6)
#define device_initcall_sync(fn)    __define_initcall("6s",fn,6s)
#define late_initcall(fn)        __define_initcall("7",fn,7)
#define late_initcall_sync(fn)        __define_initcall("7s",fn,7s)

#define __initcall(fn) device_initcall(fn)

#define module_init(x)    __initcall(x);
附录 : 从 System.map 中摘出来的 initcall
c0729dc0 T __initcall0_start
c0729dc0 t __initcall_init_mmap_min_addr0
c0729dc4 t __initcall_net_ns_init0
c0729dc8 t __initcall_inet_frag_wq_init0
c0729dcc T __initcall1_start
c0729dcc t __initcall_ptrace_break_init1
c0729dd0 t __initcall_setup_tcm_pool1
c0729dd4 t __initcall_v6_userpage_init1
c0729dd8 t __initcall_s3c64xx_syscore_init1
c0729ddc t __initcall_s3c64xx_dev_init1
c0729de0 t __initcall_s3c6410_core_init1
c0729de4 t __initcall_samsung_gpiolib_init1
c0729de8 t __initcall_wq_sysfs_init1
c0729dec t __initcall_ksysfs_init1
c0729df0 t __initcall_pm_init1
c0729df4 t __initcall_rcu_set_runtime_mode1
c0729df8 t __initcall_dma_init_reserved_memory1
c0729dfc t __initcall_init_jiffies_clocksource1
c0729e00 t __initcall_futex_init1
c0729e04 t __initcall_cpu_pm_init1
c0729e08 t __initcall_init_zero_pfn1
c0729e0c t __initcall_fsnotify_init1
c0729e10 t __initcall_filelock_init1
c0729e14 t __initcall_init_script_binfmt1
c0729e18 t __initcall_init_elf_binfmt1
c0729e1c t __initcall_prandom_init_early1
c0729e20 t __initcall_gpiolib_dev_init1
c0729e24 t __initcall_genpd_bus_init1
c0729e28 t __initcall_sock_init1
c0729e2c t __initcall_net_inuse_init1
c0729e30 t __initcall_net_defaults_init1
c0729e34 t __initcall_init_default_flow_dissectors1
c0729e38 t __initcall_netlink_proto_init1
c0729e3c t __initcall_genl_init1
c0729e40 T __initcall2_start
c0729e40 t __initcall_atomic_pool_init2
c0729e44 t __initcall_irq_sysfs_init2
c0729e48 t __initcall_bdi_class_init2
c0729e4c t __initcall_mm_sysfs_init2
c0729e50 t __initcall_init_per_zone_wmark_min2
c0729e54 t __initcall_amba_init2
c0729e58 t __initcall_tty_class_init2
c0729e5c t __initcall_vtconsole_class_init2
c0729e60 t __initcall_devlink_class_init2
c0729e64 t __initcall_software_node_init2
c0729e68 t __initcall_wakeup_sources_debugfs_init2
c0729e6c t __initcall_wakeup_sources_sysfs_init2
c0729e70 t __initcall_kobject_uevent_init2
c0729e74 T __initcall3_start
c0729e74 t __initcall_gate_vma_init3
c0729e78 t __initcall_customize_machine3
c0729e7c t __initcall_exceptions_init3
c0729e80 t __initcall_s3c64xx_pm_initcall3
c0729e84 t __initcall_s3c64xx_init_irq_eint3
c0729e88 t __initcall_s3c_arch_init3
c0729e8c t __initcall_samsung_pll_disable_early_timeout3
c0729e90 t __initcall_of_platform_default_populate_init3s
c0729e94 T __initcall4_start
c0729e94 t __initcall_topology_init4
c0729e98 t __initcall_uid_cache_init4
c0729e9c t __initcall_param_sysfs_init4
c0729ea0 t __initcall_user_namespace_sysctl_init4
c0729ea4 t __initcall_oom_init4
c0729ea8 t __initcall_default_bdi_init4
c0729eac t __initcall_percpu_enable_async4
c0729eb0 t __initcall_kcompactd_init4
c0729eb4 t __initcall_init_reserve_notifier4
c0729eb8 t __initcall_init_admin_reserve4
c0729ebc t __initcall_init_user_reserve4
c0729ec0 t __initcall_swap_init_sysfs4
c0729ec4 t __initcall_swapfile_init4
c0729ec8 t __initcall_io_wq_init4
c0729ecc t __initcall_crc32c_mod_init4
c0729ed0 t __initcall_init_bio4
c0729ed4 t __initcall_blk_settings_init4
c0729ed8 t __initcall_blk_ioc_init4
c0729edc t __initcall_blk_mq_init4
c0729ee0 t __initcall_genhd_device_init4
c0729ee4 t __initcall_fbmem_init4
c0729ee8 t __initcall_misc_init4
c0729eec t __initcall_usb_common_init4
c0729ef0 t __initcall_usb_init4
c0729ef4 t __initcall_serio_init4
c0729ef8 t __initcall_input_init4
c0729efc t __initcall_hwmon_init4
c0729f00 t __initcall_mmc_init4
c0729f04 t __initcall_proto_init4
c0729f08 t __initcall_net_dev_init4
c0729f0c t __initcall_neigh_init4
c0729f10 t __initcall_fib_notifier_init4
c0729f14 t __initcall_ethnl_init4
c0729f18 t __initcall_nexthop_init4
c0729f1c t __initcall_watchdog_init4s
c0729f20 T __initcall5_start
c0729f20 t __initcall_proc_cpu_init5
c0729f24 t __initcall_alignment_init5
c0729f28 t __initcall_clocksource_done_booting5
c0729f2c t __initcall_init_pipe_fs5
c0729f30 t __initcall_inotify_user_setup5
c0729f34 t __initcall_eventpoll_init5
c0729f38 t __initcall_anon_inode_init5
c0729f3c t __initcall_proc_locks_init5
c0729f40 t __initcall_iomap_init5
c0729f44 t __initcall_proc_cmdline_init5
c0729f48 t __initcall_proc_consoles_init5
c0729f4c t __initcall_proc_cpuinfo_init5
c0729f50 t __initcall_proc_devices_init5
c0729f54 t __initcall_proc_interrupts_init5
c0729f58 t __initcall_proc_loadavg_init5
c0729f5c t __initcall_proc_meminfo_init5
c0729f60 t __initcall_proc_stat_init5
c0729f64 t __initcall_proc_uptime_init5
c0729f68 t __initcall_proc_version_init5
c0729f6c t __initcall_proc_softirqs_init5
c0729f70 t __initcall_proc_kmsg_init5
c0729f74 t __initcall_proc_page_init5
c0729f78 t __initcall_init_ramfs_fs5
c0729f7c t __initcall_blk_scsi_ioctl_init5
c0729f80 t __initcall_chr_dev_init5
c0729f84 t __initcall_firmware_class_init5
c0729f88 t __initcall_sysctl_core_init5
c0729f8c t __initcall_eth_offload_init5
c0729f90 t __initcall_inet_init5
c0729f94 t __initcall_ipv4_offload_init5
c0729f98 t __initcall_af_unix_init5
c0729f9c t __initcall_ipv6_offload_init5
c0729fa0 t __initcall_init_sunrpc5
c0729fa4 t __initcall_default_rootfsrootfs
c0729fa4 T __initcallrootfs_start
c0729fa8 T __initcall6_start
c0729fa8 t __initcall_proc_execdomains_init6
c0729fac t __initcall_register_warn_debugfs6
c0729fb0 t __initcall_ioresources_init6
c0729fb4 t __initcall_init_sched_debug_procfs6
c0729fb8 t __initcall_irq_gc_init_ops6
c0729fbc t __initcall_irq_pm_init_ops6
c0729fc0 t __initcall_timekeeping_init_ops6
c0729fc4 t __initcall_init_clocksource_sysfs6
c0729fc8 t __initcall_init_timer_list_procfs6
c0729fcc t __initcall_alarmtimer_init6
c0729fd0 t __initcall_init_posix_timers6
c0729fd4 t __initcall_clockevents_init_sysfs6
c0729fd8 t __initcall_sched_clock_syscore_init6
c0729fdc t __initcall_kallsyms_init6
c0729fe0 t __initcall_pid_namespaces_init6
c0729fe4 t __initcall_seccomp_sysctl_init6
c0729fe8 t __initcall_utsname_sysctl_init6
c0729fec t __initcall_kswapd_init6
c0729ff0 t __initcall_slab_proc_init6
c0729ff4 t __initcall_workingset_init6
c0729ff8 t __initcall_proc_vmalloc_init6
c0729ffc t __initcall_procswaps_init6
c072a000 t __initcall_slab_sysfs_init6
c072a004 t __initcall_fcntl_init6
c072a008 t __initcall_proc_filesystems_init6
c072a00c t __initcall_start_dirtytime_writeback6
c072a010 t __initcall_blkdev_init6
c072a014 t __initcall_dio_init6
c072a018 t __initcall_dnotify_init6
c072a01c t __initcall_aio_setup6
c072a020 t __initcall_io_uring_init6
c072a024 t __initcall_mbcache_init6
c072a028 t __initcall_init_grace6
c072a02c t __initcall_init_devpts_fs6
c072a030 t __initcall_ext4_init_fs6
c072a034 t __initcall_journal_init6
c072a038 t __initcall_init_nfs_fs6
c072a03c t __initcall_init_nfs_v26
c072a040 t __initcall_init_nfs_v36
c072a044 t __initcall_init_nlm6
c072a048 t __initcall_crypto_algapi_init6
c072a04c t __initcall_proc_genhd_init6
c072a050 t __initcall_bsg_init6
c072a054 t __initcall_deadline_init6
c072a058 t __initcall_kyber_init6
c072a05c t __initcall_s3cfb_driver_init6
c072a060 t __initcall_of_fixed_factor_clk_driver_init6
c072a064 t __initcall_of_fixed_clk_driver_init6
c072a068 t __initcall_gpio_clk_driver_init6
c072a06c t __initcall_n_null_init6
c072a070 t __initcall_pty_init6
c072a074 t __initcall_samsung_serial_driver_init6
c072a078 t __initcall_hwrng_modinit6
c072a07c t __initcall_topology_sysfs_init6
c072a080 t __initcall_cacheinfo_sysfs_init6
c072a084 t __initcall_net_olddevs_init6
c072a088 t __initcall_blackhole_netdev_init6
c072a08c t __initcall_dm9000_driver_init6
c072a090 t __initcall_ohci_hcd_mod_init6
c072a094 t __initcall_ohci_s3c2410_init6
c072a098 t __initcall_serport_init6
c072a09c t __initcall_mousedev_init6
c072a0a0 t __initcall_atkbd_init6
c072a0a4 t __initcall_psmouse_init6
c072a0a8 t __initcall_s3c2410wdt_driver_init6
c072a0ac t __initcall_mmc_pwrseq_simple_driver_init6
c072a0b0 t __initcall_mmc_pwrseq_emmc_driver_init6
c072a0b4 t __initcall_mmc_blk_init6
c072a0b8 t __initcall_sdhci_drv_init6
c072a0bc t __initcall_sdhci_s3c_driver_init6
c072a0c0 t __initcall_hid_init6
c072a0c4 t __initcall_hid_generic_init6
c072a0c8 t __initcall_a4_driver_init6
c072a0cc t __initcall_apple_driver_init6
c072a0d0 t __initcall_belkin_driver_init6
c072a0d4 t __initcall_ch_driver_init6
c072a0d8 t __initcall_ch_driver_init6
c072a0dc t __initcall_cp_driver_init6
c072a0e0 t __initcall_ez_driver_init6
c072a0e4 t __initcall_ite_driver_init6
c072a0e8 t __initcall_ks_driver_init6
c072a0ec t __initcall_ms_driver_init6
c072a0f0 t __initcall_mr_driver_init6
c072a0f4 t __initcall_redragon_driver_init6
c072a0f8 t __initcall_hid_init6
c072a0fc t __initcall_sock_diag_init6
c072a100 t __initcall_gre_offload_init6
c072a104 t __initcall_sysctl_ipv4_init6
c072a108 t __initcall_tunnel4_init6
c072a10c t __initcall_inet_diag_init6
c072a110 t __initcall_tcp_diag_init6
c072a114 t __initcall_cubictcp_register6
c072a118 t __initcall_inet6_init6
c072a11c t __initcall_sit_init6
c072a120 T __initcall7_start
c072a120 t __initcall_init_machine_late7
c072a124 t __initcall_init_oops_id7
c072a128 t __initcall_reboot_ksysfs_init7
c072a12c t __initcall_sched_init_debug7
c072a130 t __initcall_printk_late_init7
c072a134 t __initcall_max_swapfiles_check7
c072a138 t __initcall_check_early_ioremap_leak7
c072a13c t __initcall_blk_timeout_init7
c072a140 t __initcall_prandom_init_late7
c072a144 t __initcall_vic_pm_init7
c072a148 t __initcall_amba_deferred_retry7
c072a14c t __initcall_sync_state_resume_initcall7
c072a150 t __initcall_deferred_probe_initcall7
c072a154 t __initcall_genpd_power_off_unused7
c072a158 t __initcall_of_fdt_raw_init7
c072a15c t __initcall_tcp_congestion_default7
c072a160 t __initcall_ip_auto_config7
c072a164 t __initcall_clk_disable_unused7s
c072a168 t __initcall_of_platform_sync_state_init7s
c072a16c T __con_initcall_start
c072a16c t __initcall_con_init
c072a16c T __initcall_end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值