“What is the kernel die message”的版本间的差异

来自个人维基
跳转至: 导航搜索
 
(未显示1个用户的9个中间版本)
第2行: 第2行:
  
 
<source lang="c">
 
<source lang="c">
[    3.975393] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
+
 
[    3.983179] ACPI: Interpreter disabled.
+
(XEN) *** LOADING DOMAIN 0 ***
[    3.987577] xen:balloon: Initialising balloon driver
+
(XEN) Loading d0 kernel from boot module @ 00000000b936c000
[    3.993418] vgaarb: loaded
+
(XEN) Allocating 1:1 mappings totalling 512MB for dom0:
[    3.996285] SCSI subsystem initialized
+
(XEN) BANK[0] 0x000000c0000000-0x000000e0000000 (512MB)
[    4.000379] ssp-pl022 ffd68000.spi: could not find pctldev for node /soc/pinmux@fff11000/spi2_pmx_func, deferring probe
+
(XEN) Grant table range: 0x000000b921c000-0x000000b925c000
[    4.011114] ssp-pl022 ff3b3000.spi: could not find pctldev for node /soc/pinmux@ff3b6000/spi3_pmx_func, deferring probe
+
(XEN) Allocating PPI 16 for event channel interrupt
[    4.022176] usbcore: registered new interface driver usbfs
+
(XEN) Loading zImage from 00000000b936c000 to 00000000c0080000-00000000c1187200
[    4.027621] usbcore: registered new interface driver hub
+
(XEN) Loading d0 DTB to 0x00000000c8000000-0x00000000c800a813
[    4.033089] usbcore: registered new device driver usb
+
...
[    4.038267] tcpc_class_init_1.1.1_G
+
[    0.000000] Booting Linux on physical CPU 0x0
[    4.041668] TCPC class init OK
+
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    4.044803] Init Richtek RegMap
+
[    0.000000] Machine model: HiKey960
[    4.048164] i2c_designware ffd71000.i2c: could not find pctldev for node /soc/pinmux@fff11000/i2c0_pmx_func, deferring probe
+
[    0.000000] Xen 4.13 support found
[    4.059322] i2c_designware ffd72000.i2c: could not find pctldev for node /soc/pinmux@fff11000/i2c1_pmx_func, deferring probe
+
[    0.000000] Kernel command line: console=tty0 console=hvc0 root=/dev/sdd10 rw efi=noruntime
[    4.070593] i2c_designware fdf0b000.i2c: could not find pctldev for node /soc/pinmux@fff11000/i2c7_pmx_func, deferring probe
+
[    0.000000] PID hash table entries: 2048 (order: 2, 16384 bytes)
[    4.082229] pps_core: LinuxPPS API ver. 1 registered
+
[    0.000000] Memory: 456156K/525312K available (10364K kernel code, 1180K rwdata, 4664K rodata, 1152K init, 405K bss, 52772K reserved, 16384K cma-reserved)
[    4.087107] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
+
...
[    4.096309] PTP clock support registered
+
[    7.067414] --CJ  enter prepare_namespace: root_delay=0
[    4.100406] EDAC MC: Ver: 3.0.0
+
[    7.294633] ufshcd-hi3660 ff3b0000.ufs: ufshcd_query_flag: Sending flag query for idn 3 failed, err = -11
[    4.103764] dmi: Firmware registration failed.
+
[    7.683146] xhci-hcd xhci-hcd.0.auto: USB bus 2 deregistered
[    4.108673] Advanced Linux Sound Architecture Driver Initialized.
+
[    7.688722] xhci-hcd xhci-hcd.0.auto: remove, state 1
[    4.115421] clocksource: Switched to clocksource arch_sys_counter
+
...
[    4.121610] VFS: Disk quotas dquot_6.6.0
+
[  14.998578] ufshcd-hi3660 ff3b0000.ufs: ufshcd_init_icc_levels: Failed reading power descriptor.len = 98 ret = -11
[    4.125477] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
+
[  36.480083] ufshcd-hi3660 ff3b0000.ufs: ufshcd_print_pwr_info:[RX, TX]: gear=[1, 1], lane[1, 1], pwr[SLOWAUTO_MODE, SLOWAUTO_MODE], rate = 0
[    4.132505] pnp: PnP ACPI: disabled
+
[  36.493073] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - issue time 14654573 us
[    4.141810] OF: /soc/thermal-zones/cls0/cooling-maps/map0: could not find phandle
+
...
[    4.149222] missing cooling_device property
+
[  36.755689] ufshcd-hi3660 ff3b0000.ufs: ufshcd_print_pwr_info:[RX, TX]: gear=[3, 3], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2
[    4.153453] failed to build thermal zone cls0: -22
+
[  36.767798] --CJ in mount_root: entering mount_block_root(/dev/root, 0x8000)
[    4.158429] NET: Registered protocol family 2
+
[  36.774793] --CJ mount_block_root: name=/dev/root, fs_names =
[    4.163203] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
+
[  36.862337] -CJ do_mount_root (/dev/root, ext3)
[    4.170188] TCP bind hash table entries: 4096 (order: 4, 65536 bytes)
+
 
[    4.176711] TCP: Hash tables configured (established 4096 bind 4096)
+
[  36.866925] VFS: Cannot open root device "sdd10" or unknown-block(0,0): error -6 //ENXIO = /* No such device or address */
[    4.183158] UDP hash table entries: 256 (order: 1, 8192 bytes)
+
[  36.874332] Please append a correct "root=" boot option; here are the available partitions:
[    4.188981] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
+
[  36.882734] --CJ printk_all_partitions:  
[    4.195434] NET: Registered protocol family 1
+
[  36.886730] -- -- CJ loop 1
[    4.200083] RPC: Registered named UNIX socket transport module.
+
[  36.889578] -- -- CJ loop 1
[    4.205905] RPC: Registered udp transport module.
+
[  36.892442] -- -- CJ loop 1
[    4.210670] RPC: Registered tcp transport module.
+
[  36.895304] -- -- CJ loop 1
[    4.215447] RPC: Registered tcp NFSv4.1 backchannel transport module.
+
[  36.898157] -- -- CJ loop 1
[    4.222903] kvm [1]: HYP mode not available
+
[  36.901025] -- -- CJ loop 1
[    4.230588] audit: initializing netlink subsys (disabled)
+
[  36.903889] -- -- CJ loop 1
[    4.236064] audit: type=2000 audit(3.879:1): state=initialized audit_enabled=0 res=1
+
[  36.906751] -- -- CJ loop 1
[    4.236300] workingset: timestamp_bits=44 max_order=17 bucket_order=0
+
[  36.909613] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    4.240582] squashfs: version 4.0 (2009/01/31) Phillip Lougher
+
[  36.930939] Call trace:
[   4.241083] NFS: Registering the id_resolver key type
+
[  36.933464] [<ffff000008088be0>] dump_backtrace+0x0/0x370
[    4.241107] Key type id_resolver registered
+
[  36.938925] [<ffff000008088f64>] show_stack+0x14/0x20
[    4.241108] Key type id_legacy registered
+
[  36.944037] [<ffff000008a71200>] dump_stack+0x9c/0xbc
[    4.241116] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
+
[  36.949159] [<ffff0000080c78d8>] panic+0x11c/0x28c
[    4.241322] 9p: Installing v9fs 9p2000 file system support
+
[  36.954011] [<ffff000008f41184>] mount_block_root+0x1bc/0x290
[    4.244581] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
+
[  36.959817] [<ffff000008f41384>] mount_root+0x12c/0x144
[    4.244586] io scheduler noop registered
+
[  36.965107] [<ffff000008f414e4>] prepare_namespace+0x148/0x190
[    4.244709] io scheduler cfq registered (default)
+
[  36.971005] [<ffff000008f40d8c>] kernel_init_freeable+0x208/0x22c
[    4.244711] io scheduler mq-deadline registered
+
[  36.977163] [<ffff000008a836e8>] kernel_init+0x10/0x100
[    4.244713] io scheduler kyber registered
+
[  36.982451] [<ffff000008084b58>] ret_from_fork+0x10/0x18
[    4.252770] pinctrl-single e896c000.pinmux: 124 pins at pa ffff0000094d5000 size 496
+
[  36.987832] SMP: stopping secondary CPUs
[    4.252918] pinctrl-single ff37e000.pinmux: 6 pins at pa ffff0000094dd000 size 24
+
[    4.253092] pinctrl-single ff3b6000.pinmux: 12 pins at pa ffff0000094e5000 size 48
+
[    4.253190] pinctrl-single ff3fd000.pinmux: 6 pins at pa ffff0000094ed000 size 24
+
[    4.253323] pinctrl-single fff11000.pinmux: 42 pins at pa ffff0000094f5000 size 168
+
[    4.253544] pinctrl-single e896c800.pinmux: 128 pins at pa ffff0000094fd800 size 512
+
[    4.253639] pinctrl-single ff3b6800.pinmux: 6 pins at pa ffff000009505800 size 24
+
[    4.253737] pinctrl-single ff3fd800.pinmux: 6 pins at pa ffff00000950d800 size 24
+
[    4.253844] pinctrl-single ff37e800.pinmux: 6 pins at pa ffff000009515800 size 24
+
[    4.253980] pinctrl-single fff11800.pinmux: 47 pins at pa ffff00000951d800 size 188
+
[    4.255454] pl061_gpio e8a0b000.gpio: PL061 GPIO chip @0x00000000e8a0b000 registered
+
[    4.255670] pl061_gpio e8a0c000.gpio: PL061 GPIO chip @0x00000000e8a0c000 registered
+
[    4.255867] pl061_gpio e8a0d000.gpio: PL061 GPIO chip @0x00000000e8a0d000 registered
+
[    4.256056] pl061_gpio e8a0e000.gpio: PL061 GPIO chip @0x00000000e8a0e000 registered
+
[    4.256258] pl061_gpio e8a0f000.gpio: PL061 GPIO chip @0x00000000e8a0f000 registered
+
[    4.256445] pl061_gpio e8a10000.gpio: PL061 GPIO chip @0x00000000e8a10000 registered
+
[    4.256644] pl061_gpio e8a11000.gpio: PL061 GPIO chip @0x00000000e8a11000 registered
+
[    4.256828] pl061_gpio e8a12000.gpio: PL061 GPIO chip @0x00000000e8a12000 registered
+
[    4.257021] pl061_gpio e8a13000.gpio: PL061 GPIO chip @0x00000000e8a13000 registered
+
[    4.257213] pl061_gpio e8a14000.gpio: PL061 GPIO chip @0x00000000e8a14000 registered
+
[    4.257407] pl061_gpio e8a15000.gpio: PL061 GPIO chip @0x00000000e8a15000 registered
+
[    4.257598] pl061_gpio e8a16000.gpio: PL061 GPIO chip @0x00000000e8a16000 registered
+
[    4.257804] pl061_gpio e8a17000.gpio: PL061 GPIO chip @0x00000000e8a17000 registered
+
[    4.257993] pl061_gpio e8a18000.gpio: PL061 GPIO chip @0x00000000e8a18000 registered
+
[    4.258181] pl061_gpio e8a19000.gpio: PL061 GPIO chip @0x00000000e8a19000 registered
+
[    4.258371] pl061_gpio e8a1a000.gpio: PL061 GPIO chip @0x00000000e8a1a000 registered
+
[    4.258556] pl061_gpio e8a1b000.gpio: PL061 GPIO chip @0x00000000e8a1b000 registered
+
[    4.258745] pl061_gpio e8a1c000.gpio: PL061 GPIO chip @0x00000000e8a1c000 registered
+
[    4.258965] pl061_gpio ff3b4000.gpio: PL061 GPIO chip @0x00000000ff3b4000 registered
+
[    4.259155] pl061_gpio ff3b5000.gpio: PL061 GPIO chip @0x00000000ff3b5000 registered
+
[    4.259354] pl061_gpio e8a1f000.gpio: PL061 GPIO chip @0x00000000e8a1f000 registered
+
[    4.259570] pl061_gpio e8a20000.gpio: PL061 GPIO chip @0x00000000e8a20000 registered
+
[    4.259788] pl061_gpio fff0b000.gpio: PL061 GPIO chip @0x00000000fff0b000 registered
+
[    4.259980] pl061_gpio fff0c000.gpio: PL061 GPIO chip @0x00000000fff0c000 registered
+
[    4.260176] pl061_gpio fff0d000.gpio: PL061 GPIO chip @0x00000000fff0d000 registered
+
[    4.260381] pl061_gpio fff0e000.gpio: PL061 GPIO chip @0x00000000fff0e000 registered
+
[    4.260570] pl061_gpio fff0f000.gpio: PL061 GPIO chip @0x00000000fff0f000 registered
+
[    4.260766] pl061_gpio fff10000.gpio: PL061 GPIO chip @0x00000000fff10000 registered
+
[    4.260953] pl061_gpio fff1d000.gpio: PL061 GPIO chip @0x00000000fff1d000 registered
+
[    4.299454] OF: PCI: host bridge /soc/pcie@f4000000 ranges:
+
[    4.299474] OF: PCI:  MEM 0xf6000000..0xf7ffffff -> 0x00000000
+
[    5.311553] kirin-pcie f4000000.pcie: Link Fail
+
[    5.316161] kirin-pcie f4000000.pcie: PCI host bridge to bus 0000:00
+
[    5.322429] pci_bus 0000:00: root bus resource [bus 00-01]
+
[    5.327980] pci_bus 0000:00: root bus resource [mem 0xf6000000-0xf7ffffff] (bus address [0x00000000-0x01ffffff])
+
(XEN) physdev.c:16:d0v3 PHYSDEVOP cmd=25: not implemented
+
(XEN) physdev.c:16:d0v3 PHYSDEVOP cmd=15: not implemented
+
[    5.348592] pci 0000:00:00.0: Failed to add - passthrough or MSI/MSI-X might fail!
+
[    5.356387] pci 0000:00:00.0: BAR 0: assigned [mem 0xf6000000-0xf6ffffff 64bit]
+
[    5.363614] pci 0000:00:00.0: PCI bridge to [bus 01]
+
[    5.368972] pcieport 0000:00:00.0: Signaling PME with IRQ 56
+
[    5.374659] pcieport 0000:00:00.0: AER enabled with IRQ 56
+
[    5.383977] k3-dma fdf30000.dma: initialized
+
[    5.390316] xen:xen_evtchn: Event-channel device installed
+
[    5.400879] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
+
[    5.409012] SuperH (H)SCI(F) driver initialized
+
[    5.413745] msm_serial: driver initialized
+
[    5.418960] [drm] +.
+
[    5.421164] [drm] wait for external HDMI bridge driver.
+
[    5.426629] cacheinfo: Unable to detect cache hierarchy for CPU 0
+
[    5.437491] loop: module loaded
+
[    5.441064] [I/GPIO_HUB] gpio_hub_probe: step in
+
[    5.445820] [I/GPIO_HUB] gpio_hub_init:gpio hub init status:0
+
[    5.453781] ufshcd-hi3660 ff3b0000.ufs: ufshcd_populate_vreg: Unable to find vdd-hba-supply regulator, assuming enabled
+
[    5.464496] ufshcd-hi3660 ff3b0000.ufs: ufshcd_populate_vreg: Unable to find vcc-supply regulator, assuming enabled
+
[    5.474968] ufshcd-hi3660 ff3b0000.ufs: ufshcd_populate_vreg: Unable to find vccq-supply regulator, assuming enabled
+
[    5.485555] ufshcd-hi3660 ff3b0000.ufs: ufshcd_populate_vreg: Unable to find vccq2-supply regulator, assuming enabled
+
[    5.518106] scsi host0: ufshcd
+
[    5.533914] libphy: Fixed MDIO Bus: probed
+
[    5.538332] tun: Universal TUN/TAP device driver, 1.6
+
[    5.544160] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
+
[    5.549901] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
+
[    5.555927] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
+
[    5.562912] igb: Copyright (c) 2007-2014 Intel Corporation.
+
[    5.568576] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
+
[    5.576441] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
+
[    5.582678] sky2: driver version 1.30
+
[    5.586475] xen_netfront: Initialising Xen virtual ethernet driver
+
[    5.592777] VFIO - User Level meta-driver version: 0.3
+
[    5.598508] [USB3][hisi_dwc3_probe]+
+
[    5.602221] [USB3][get_phy_param]eye diagram param: 0x1c466e3
+
[    5.607883] [USB3][get_phy_param]eye diagram host param: 0x1c466e3
+
[    5.614118] [USB3][get_phy_param]usb3_phy_cr_param: 0xb80
+
[    5.619578] [USB3][get_phy_param]usb3_phy_host_cr_param: 0x980
+
[    5.625477] [USB3][get_phy_param]usb3_phy_tx_vboost_lvl: 5
+
[    5.631057] [USB3][get_resource]this is asic platform (fpga flag 0)
+
[    5.637355] [USB3][create_attr_file]+
+
[    5.640872] ufshcd-hi3660 ff3b0000.ufs: ufshcd_print_pwr_info:[RX, TX]: gear=[1, 1], lane[1, 1], pwr[SLOWAUTO_MODE, SLOWAUTO_MODE], rate = 0
+
[    5.653853] [USB3][create_attr_file]-
+
[    5.657476] [USB3][hi3660_usb3phy_init]+
+
[    5.687569] [USB3][config_femtophy_param]set hs phy param 0x1c466e3 for device
+
[    5.695322] [USB3][config_femtophy_param]set ss phy rx equalization 0xb80
+
[    5.702961] [USB3][config_femtophy_param]set ss RX_SCOPE_VDCC 0x1
+
[    5.708959] [USB3][config_femtophy_param]set ss phy tx vboost lvl 0x5
+
[    5.715461] [USB3][set_hisi_dwc3_power_flag]set hisi_dwc3_power_flag 1
+
[    5.722050] [USB3][hi3660_usb3phy_init]-
+
[    5.727502] [dwc3_otg_init]+
+
[    5.730298] DWC3_OCFG: 0x0
+
[    5.733070] DWC3_OCTL: 0x40
+
[    5.735932] DWC3_OEVT: 0x80000000
+
[    5.739307] DWC3_OEVTEN: 0x0
+
[    5.742263] DWC3_OSTS: 0x1f
+
[    5.745122] DWC3_BCFG: 0x0
+
[    5.747905] DWC3_BCEVT: 0x0
+
[    5.750753] DWC3_BCEVTEN: 0x0
+
[    5.753793] [dwc3_otg_init]-
+
[    5.756779] dwc3 ff100000.dwc3: dwc3_host_init if otg, otg will do device_add.
+
[    5.765855] [USB3][hisi_dwc3_wake_lock]usb otg wake lock
+
[    5.771097] [USB3][hisi_dwc3_probe]init state: OFF
+
[    5.775932] [USB3][hisi_usb_otg_event]hisi_usb_otg_event in:1
+
[    5.781740] [USB3][hisi_usb_otg_event]hisi_usb_otg_event in otg:1
+
[    5.782111] ufs final power mode: gear = 3, lane = 2, pwr = 1, rate = 2
+
[    5.782118] ufshcd-hi3660 ff3b0000.ufs: set TX_EQUALIZER 3.5db
+
[    5.784429] ufshcd-hi3660 ff3b0000.ufs: check TX_EQUALIZER DB value lane0 = 0x1
+
[    5.784440] ufshcd-hi3660 ff3b0000.ufs: TX_EQUALIZER DB value lane1 = 0x1
+
[    5.784446] ufshcd-hi3660 ff3b0000.ufs: ufshcd_print_pwr_info:[RX, TX]: gear=[3, 3], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2
+
[    5.826670] [USB3][hisi_usb_otg_event]event: 1
+
[    5.831181] [USB3][hisi_dwc3_probe]-
+
[    5.831192] [USB3][event_work]+
+
[    5.831194] [USB3][handle_event][handle_event] type: 1
+
[    5.831196] [dwc3_otg_work]+
+
[    5.831196]  evt = 4
+
[    5.831198] [dwc3_otg_stop_peripheral]+
+
[    5.831200] [dwc3_otg_stop_peripheral]-
+
[    5.831201] [dwc3_suspend_device] +
+
[    5.831232] [dwc3_suspend_device] -
+
[    5.831233] [dwc3_otg_work]-
+
[    5.831234] [USB3][hisi_dwc3_wake_unlock]usb otg wake unlock
+
[    5.831238] [USB3][handle_event]hisi usb status: DEVICE -> OFF
+
[    5.831239] [USB3][event_work]-
+
[    5.881866] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
+
[    5.888310] ehci-pci: EHCI PCI platform driver
+
[   5.892851] ehci-platform: EHCI generic platform driver
+
[    5.898190] ehci-orion: EHCI orion driver
+
[    5.902234] ehci-exynos: EHCI EXYNOS driver
+
[    5.906478] ehci-msm: Qualcomm On-Chip EHCI Host Controller
+
[    5.912114] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
+
[    5.918313] ohci-pci: OHCI PCI platform driver
+
[    5.922844] ohci-platform: OHCI generic platform driver
+
[    5.928177] ohci-exynos: OHCI EXYNOS driver
+
[    5.932660] usbcore: registered new interface driver usb-storage
+
[    5.939398] [I/hisi_pd] pd_dpm_init
+
[    5.942941] [I/hisi_pd] pd_dpm_probe : +++++++++
+
[    5.947561] [I/hisi_pd] pd_dpm_probe ++++
+
[    5.947561]
+
[    5.953590] rt1711h_init (1.1.8_G): initializing...
+
[    5.958393] rt1711h node found...
+
[    5.962907] rtc-pl031 fff04000.rtc: rtc core: registered pl031 as rtc0
+
[    5.969836] i2c /dev entries driver
+
[    5.975063] hi3660_thermal fff30000.tsensor: failed to register thermal sensor0: -19
+
[    5.982745] hi3660_thermal fff30000.tsensor: failed to register thermal sensor1: -19
+
[    5.990528] hi3660_thermal fff30000.tsensor: failed to register thermal sensor2: -19
+
[    5.998342] hi3660_thermal fff30000.tsensor: failed to register thermal sensor3: -19
+
[    6.006135] hi3660_thermal fff30000.tsensor: failed to register thermal sensor4: -517
+
[    6.014033] hi3660_thermal fff30000.tsensor: failed to register thermal sensor5: -19
+
[    6.021826] hi3660_thermal fff30000.tsensor: Thermal Sensor Loaded
+
[    6.029081] cpu cpu0: failed to get clock: -2
+
[    6.033359] cpufreq-dt: probe of cpufreq-dt failed with error -2
+
[    6.039777] sdhci: Secure Digital Host Controller Interface driver
+
[    6.045865] sdhci: Copyright(c) Pierre Ossman
+
[    6.050444] Synopsys Designware Multimedia Card Interface Driver
+
[    6.056921] dwmmc_k3 ff37f000.dwmmc1: 'num-slots' was deprecated.
+
[    6.062939] dwmmc_k3 ff37f000.dwmmc1: fifo-depth property not found, using value of FIFOTH register as default
+
[    6.075269] dwmmc_k3 ff37f000.dwmmc1: IDMAC supports 64-bit address mode.
+
[    6.082263] dwmmc_k3 ff37f000.dwmmc1: Using internal DMA controller.
+
[    6.088533] dwmmc_k3 ff37f000.dwmmc1: Version ID is 270a
+
[    6.093956] dwmmc_k3 ff37f000.dwmmc1: DW MMC controller at irq 47,32 bit host data width,256 deep fifo
+
[    6.103544] dwmmc_k3 ff37f000.dwmmc1: Got CD GPIO
+
[    6.129490] mmc_host mmc0: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
+
[    6.157077] dwmmc_k3 ff3ff000.dwmmc2: 'num-slots' was deprecated.
+
[    6.163080] dwmmc_k3 ff3ff000.dwmmc2: fifo-depth property not found, using value of FIFOTH register as default
+
[    6.175311] dwmmc_k3 ff3ff000.dwmmc2: IDMAC supports 64-bit address mode.
+
[    6.182179] dwmmc_k3 ff3ff000.dwmmc2: Using internal DMA controller.
+
[    6.188450] dwmmc_k3 ff3ff000.dwmmc2: Version ID is 270a
+
[    6.193859] dwmmc_k3 ff3ff000.dwmmc2: DW MMC controller at irq 48,32 bit host data width,256 deep fifo
+
[    6.204000] sdhci-pltfm: SDHCI platform and OF driver helper
+
[    6.211267] ledtrig-cpu: registered to indicate activity on CPUs
+
[    6.218143] usbcore: registered new interface driver usbhid
+
[    6.223640] usbhid: USB HID core driver
+
[    6.228551] optee: probing for conduit method from DT.
+
(XEN) d0v3 Unhandled SMC/HVC: 0xbf00ff01
+
[    6.237244] optee: api uid mismatch
+
[    6.242123] NET: Registered protocol family 17
+
[    6.246557] 9pnet: Installing 9P2000 support
+
[    6.250877] Key type dns_resolver registered
+
[    6.255777] registered taskstats version 1
+
[    6.264765] ffd74000.serial: ttyAMA3 at MMIO 0xffd74000 (irq = 12, base_baud = 0) is a PL011 rev2
+
[    6.274244] fdf01000.serial: ttyAMA4 at MMIO 0xfdf01000 (irq = 13, base_baud = 0) is a PL011 rev2
+
[    6.283153] serial serial0: tty port ttyAMA4 registered
+
[    6.288932] ssp-pl022 ffd68000.spi: ARM PL022 driver, device ID: 0x00041022
+
[    6.295941] ssp-pl022 ffd68000.spi: mapped registers from 0x00000000ffd68000 to ffff00000980d000
+
[    6.304730] ssp-pl022 ffd68000.spi: setup for DMA on RX dma0chan0, TX dma0chan1
+
[    6.312353] ssp-pl022 ff3b3000.spi: ARM PL022 driver, device ID: 0x00041022
+
[    6.319335] ssp-pl022 ff3b3000.spi: mapped registers from 0x00000000ff3b3000 to ffff000009815000
+
[    6.328132] ssp-pl022 ff3b3000.spi: setup for DMA on RX dma0chan2, TX dma0chan3
+
[    6.337169] rt1711_i2c_probe
+
[    6.339999] I2C functionality : OK...
+
[    6.345341] rt_parse_dt
+
[    6.347706] rt1711h_chipID = 0x2171
+
[    6.351254] regmap_device_register: name = rt1711-4e
+
[    6.356310]  rt_regmap_rt1711-4e: rt register cache data init
+
[    6.362094]  rt_regmap_rt1711-4e: cache cata init successfully
+
[    6.368063] tcpc_device_register register tcpc device (type_c_port0)
+
[    6.374489] [I/hisi_pd] tcpc_device_register register_pd_wake_unlock_notifier OK
+
[    6.381863] PD Timer number = 37
+
[    6.385254] tcpci_timer_init : init OK
+
[    6.389057] pd_parse_pdata
+
[    6.391761] pd_parse_pdata src pdo data =
+
[    6.395826] pd_parse_pdata 0: 0x00019064
+
[    6.399813] pd_parse_pdata snk pdo data =
+
[    6.403889] pd_parse_pdata 0: 0x000190c8
+
[    6.407876] pd_parse_pdata 1: 0x0002d0c8
+
[    6.411868] pd_parse_pdata id vdos data =
+
[    6.415941] pd_parse_pdata 0: 0xd00029cf
+
[    6.419929] pd_parse_pdata 1: 0x00000000
+
[    6.423919] pd_parse_pdata 2: 0x00010000
+
[    6.427910] dpm_caps: local_dr_power
+
[    6.431552] dpm_caps: local_dr_data
+
[    6.435101] dpm_caps: local_ext_power
+
[    6.438832] dpm_caps: local_usb_comm
+
[    6.442476] dpm_caps: local_usb_suspend
+
[    6.446378] dpm_caps: local_high_cap
+
[    6.450019] dpm_caps: local_give_back
+
[    6.453749] dpm_caps: local_no_suspend
+
[    6.457565] dpm_caps: local_vconn_supply
+
[    6.461558] dpm_caps: attemp_discover_cable_dfp
+
[    6.466150] dpm_caps: attemp_enter_dp_mode
+
[    6.470311] dpm_caps: attemp_discover_cable
+
[    6.474561] dpm_caps: attemp_discover_id
+
[    6.478550] dpm_caps: pr_reject_as_source
+
[    6.482626] dpm_caps: pr_reject_as_sink
+
[    6.486528] dpm_caps: pr_check_gp_source
+
[    6.490518] dpm_caps: pr_check_gp_sink
+
[    6.494332] dpm_caps: dr_reject_as_dfp
+
[    6.498148] dpm_caps: dr_reject_as_ufp
+
[    6.501965] dpm_caps: snk_prefer_low_voltage
+
[    6.506300] dpm_caps: snk_ignore_mismatch_current
+
[    6.511076] dpm_caps = 0xc010c10b
+
[    6.514452] [I/hisi_pd] PE:pd_core_init
+
[    6.518735] rt1711_init_alert name = type_c_port0
+
[    6.523349] rt1711_init_alert gpio # = 291
+
[    6.527523] GPIO requested...
+
[    6.530576] rt1711_init_alert : IRQ number = 93
+
[    6.535134] rt1711_init_alert : irq initialized...
+
[    6.540079] IRQF_NO_THREAD Test
+
[    6.545345] [I/hisi_pd] TPC-I:typec_init: DRP
+
[    6.550116] [I/GPIO_HUB] gpio_hub_change_typec_power: set typec vbus gpio to 0
+
[    6.557242] [USB3][hisi_usb_otg_event]hisi_usb_otg_event in:1
+
[    6.563052] [USB3][hisi_usb_otg_event]hisi_usb_otg_event in otg:1
+
[    6.569210] [E/GPIO_HUB] gpio_hub_switch_to_hub: switch to hub
+
[    6.575102] [USB3][hisi_usb_otg_event]hisi_usb_otg_event in:2
+
[    6.580911] [USB3][hisi_usb_otg_event]hisi_usb_otg_event in otg:2
+
[    6.587069] [USB3][hisi_usb_otg_event]event: 2
+
[    6.591589] [I/hisi_pd] TPC-I:** Unattached.SNK
+
[    6.591599] [USB3][event_work]+
+
[    6.591601] [USB3][handle_event][handle_event] type: 2
+
[    6.591604] [USB3][set_vbus_power]set port power 1
+
[    6.591607] [dwc3_otg_work]+
+
[    6.591607]  evt = 2
+
[    6.591608] [dwc3_resume_device] +
+
[    6.591739] [dwc3_resume_device] -
+
[    6.591740] [dwc3_otg_start_host]+
+
[    6.592059] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
+
[    6.592071] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
+
[    6.592417] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220fe65 hci version 0x110 quirks 0x00010010
+
[    6.592455] xhci-hcd xhci-hcd.0.auto: irq 90, io mem 0xff100000
+
[    6.593039] hub 1-0:1.0: USB hub found
+
[    6.593081] hub 1-0:1.0: 1 port detected
+
[    6.593341] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
+
[    6.593347] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
+
[    6.593439] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
+
[    6.593945] hub 2-0:1.0: USB hub found
+
[    6.593974] hub 2-0:1.0: 1 port detected
+
[    6.594217] [dwc3_otg_start_host]-
+
[    6.594218] [dwc3_otg_work]-
+
[    6.594220] [USB3][hisi_dwc3_wake_lock]usb otg wake lock
+
[    6.594223] [USB3][handle_event]hisi usb_status: OFF -> HOST
+
[    6.594224] [USB3][event_work]-
+
[    6.710898] [E/hisi_pd] typec_wait_ps_change: typec_wait_ps_change!!!+++++++++++
+
[    6.718363] [E/hisi_pd] typec_wait_ps_change: typec_wait_ps_change!!!-----------
+
[    6.726066] tcpc_device_irq_enable : tcpc irq enable OK!
+
[    6.726947] [I/hisi_pd] TPC-I:[CC_Alert] 5/5
+
[    6.726951] [I/hisi_pd] TPC-I:** AttachWait.SNK
+
[    6.740385] rt1711_i2c_probe probe OK!
+
[    6.745596] [drm] +.
+
[    6.747822] [drm] wait for external HDMI bridge driver.
+
[    6.754353] dwmmc_k3 ff3ff000.dwmmc2: 'num-slots' was deprecated.
+
[    6.760368] dwmmc_k3 ff3ff000.dwmmc2: fifo-depth property not found, using value of FIFOTH register as default
+
[    6.772609] dwmmc_k3 ff3ff000.dwmmc2: IDMAC supports 64-bit address mode.
+
[    6.779383] dwmmc_k3 ff3ff000.dwmmc2: Using internal DMA controller.
+
[    6.785738] dwmmc_k3 ff3ff000.dwmmc2: Version ID is 270a
+
[    6.791120] dwmmc_k3 ff3ff000.dwmmc2: DW MMC controller at irq 48,32 bit host data width,128 deep fifo
+
[    6.800647] mmc_host mmc1: card is non-removable.
+
[    6.846996] [I/hisi_pd] TPC-I:[CC_Change] 5/5
+
[    6.851357] [E/hisi_pd] typec_wait_ps_change: typec_wait_ps_change!!!+++++++++++
+
[    6.858809] [E/hisi_pd] typec_wait_ps_change: typec_wait_ps_change!!!-----------
+
[    6.866268] [I/hisi_pd] TPC-I:** Custom.SRC
+
[    6.870607] [I/GPIO_HUB] gpio_hub_power_off: gpio hub hub vbus no power set success
+
[    6.870612] [I/GPIO_HUB] gpio_hub_change_typec_power: typec power no change
+
[    6.885344] [USB3][hisi_usb_otg_event]hisi_usb_otg_event in:3
+
[    6.891153] [USB3][hisi_usb_otg_event]hisi_usb_otg_event in otg:3
+
[    6.897318] [USB3][hisi_usb_otg_event]event: 3
+
[    6.901832] [USB3][hisi_usb_otg_event]hisi_usb_otg_event in:0
+
[    6.901838] [USB3][event_work]+
+
[    6.901841] [USB3][handle_event][handle_event] type: 3
+
[    6.901842] [USB3][set_vbus_power]set port power 0
+
[    6.901845] [I/hisi_pd] pd_dpm_report_bc12 : PD_WAKE_UNLOCK
+
[    6.901848] [I/hisi_pd] pd_dpm_report_bc12 : event (4)
+
[    6.901850] [E/hisi_pd] pd_dpm_vbus_notifier_call: pd_dpm_vbus_notifier_call!!!,++++
+
[    6.901851] [dwc3_otg_work]+
+
[    6.901851]  evt = 1
+
[    6.901853] [dwc3_otg_stop_host]+
+
[    6.901902] xhci-hcd xhci-hcd.0.auto: remove, state 1
+
[    6.901914] usb usb2: USB disconnect, device number 1
+
[    6.905481] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
+
[    6.924031] [drm] +.
+
[    6.924059] [drm] wait for external HDMI bridge driver.
+
[    6.924940] input: keys as /devices/platform/keys/input/input0
+
[    6.926540] rtc-pl031 fff04000.rtc: setting system clock to 1970-01-01 00:00:18 UTC (18)
+
[    6.926776] ALSA device list:
+
[    6.926777]  No soundcards found.
+
[    6.927092] [drm] +.
+
[    6.927100] [drm] wait for external HDMI bridge driver.
+
[    6.930712] dwmmc_k3 ff3ff000.dwmmc2: card claims to support voltages below defined range
+
[    6.935443] usb 1-1: new high-speed USB device number 2 using xhci-hcd
+
[    6.935448] usb 1-1: hub failed to enable device, error -108
+
[    6.942513] mmc_host mmc1: Bus speed (slot 0) = 25000000Hz (slot req 25000000Hz, actual 25000000HZ div = 0)
+
[    6.945677] mmc1: new SDIO card at address 0001
+
[    7.038410] [USB3][hisi_usb_otg_event]hisi_usb_otg_event in otg:0
+
[    7.038412] [USB3][hisi_usb_otg_event]event: 0
+
[    7.038425] [I/hisi_pd] TPC-I:Attached-> CUSTOM_SRC
+
[    7.038428] [E/hisi_pd] pd_dpm_handle_pe_event:!!!,event=7,+++
+
[    7.038430] [I/hisi_pd] pd_dpm_handle_pe_event can not detect typec state
+
[    7.038432] [I/hisi_pd] pd_dpm_set_typec_state = 0
+
[    7.038433] [I/hisi_pd] [TCPC-I]usb_port_attached
+
[    7.295448] ufshcd-hi3660 ff3b0000.ufs: ufshcd_query_flag: Sending flag query for idn 3 failed, err = -11
+
[    7.692053] xhci-hcd xhci-hcd.0.auto: USB bus 2 deregistered
+
[    7.697638] xhci-hcd xhci-hcd.0.auto: remove, state 1
+
[    7.702752] usb usb1: USB disconnect, device number 1
+
[    7.728055] xhci-hcd xhci-hcd.0.auto: USB bus 1 deregistered
+
[    7.733689] [dwc3_otg_stop_host]-
+
[    7.736999] [dwc3_suspend_device] +
+
[    7.740575] [dwc3_suspend_device] -
+
[    7.744112] [dwc3_otg_work]-
+
[    7.747053] [USB3][hisi_dwc3_wake_unlock]usb otg wake unlock
+
[    7.752793] [USB3][handle_event]hiusb_status: HOST -> OFF
+
[    7.758251] [USB3][handle_event][handle_event] type: 0
+
[    8.075421] [USB3][detect_charger_type]DCD done
+
[    8.107421] [USB3][detect_charger_type]Primary Detection done
+
[    8.113069] [USB3][detect_charger_type]Secondary Detection done
+
[    8.143422] [USB3][detect_charger_type]type: 0
+
[    8.147770] [I/hisi_pd] pd_dpm_report_bc12 : event (0)
+
[    8.152970] [E/hisi_pd] pd_dpm_vbus_notifier_call: pd_dpm_vbus_notifier_call!!!,++++
+
[    8.160777] [dwc3_otg_work]+
+
[    8.160777]  evt = 3
+
[    8.160780] [dwc3_resume_device] +
+
[    8.169559] [dwc3_resume_device] -
+
[    8.172916] [dwc3_otg_start_peripheral]+
+
[    8.176904] [dwc3_otg_start_peripheral]-
+
[    8.180892] [dwc3_otg_work]-
+
[    8.183841] [USB3][hisi_dwc3_wake_lock]usb otg wake lock
+
[    8.189219] [USB3][handle_event]hisi usb status: OFF -> DEVICE
+
[    8.195116] [USB3][event_work]-
+
[    8.198323] [USB3][event_work]+
+
[    8.201535] [USB3][event_work]-
+
[    8.832523] ufshcd-hi3660 ff3b0000.ufs: ufshcd_query_flag: Sending flag query for idn 3 failed, err = -11
+
[  10.368494] ufshcd-hi3660 ff3b0000.ufs: ufshcd_query_flag: Sending flag query for idn 3 failed, err = -11
+
[  10.377967] ufshcd-hi3660 ff3b0000.ufs: ufshcd_query_flag_retry: query attribute, opcode 5, idn 3, failed with error -11 after 3 retires
+
[  11.904492] ufshcd-hi3660 ff3b0000.ufs: __ufshcd_query_descriptor: opcode 0x01 for idn 8 failed, index 0, err = -11
+
[  13.440491] ufshcd-hi3660 ff3b0000.ufs: __ufshcd_query_descriptor: opcode 0x01 for idn 8 failed, index 0, err = -11
+
[  14.976486] ufshcd-hi3660 ff3b0000.ufs: __ufshcd_query_descriptor: opcode 0x01 for idn 8 failed, index 0, err = -11
+
[  14.986824] ufshcd-hi3660 ff3b0000.ufs: ufshcd_read_desc_param: Failed reading descriptor. desc_id 8, desc_index 0, param_offset 0, ret -11
+
[  14.999402] ufshcd-hi3660 ff3b0000.ufs: ufshcd_init_icc_levels: Failed reading power descriptor.len = 98 ret = -11
+
[  36.480911] ufshcd-hi3660 ff3b0000.ufs: ufshcd_print_pwr_info:[RX, TX]: gear=[1, 1], lane[1, 1], pwr[SLOWAUTO_MODE, SLOWAUTO_MODE], rate = 0
+
[  36.493893] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - issue time 14654581 us
+
[  36.500491] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - Transfer Request Descriptor phys@0xdf058000
+
[  36.509083] UPIU TRD: 00000000: 15000000 00000000 0000000f 00000000
+
[   36.515407] UPIU TRD: 00000010: df040000 00000000 00800080 01000001
+
[   36.521740] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - Request UPIU phys@0xdf040000
+
[   36.529022] UPIU REQ: 00000000: 00d04001 00000000 00000000 24000000
+
[  36.535352] UPIU REQ: 00000010: 00000012 00000024 00000000 00000000
+
[  36.541685] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - Response UPIU phys@0xdf040200
+
[  36.549054] UPIU RSP: 00000000: 00000000 00000000 00000000 00000000
+
[  36.555383] UPIU RSP: 00000010: 00000000 00000000 00000000 00000000
+
[  36.561718] UPIU RSP: 00000020: 00000000 00000000 00000000 00000000
+
[  36.568042] UPIU RSP: 00000030: 00000000
+
[  36.572036] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - PRDT - 1 entries  phys@0xdf040400
+
[  36.579753] UPIU PRDT: 00000000: db939600 00000000 00000000 00000023
+
[  36.728730] ufs final power mode: gear = 3, lane = 2, pwr = 1, rate = 2
+
[  36.735247] ufshcd-hi3660 ff3b0000.ufs: set TX_EQUALIZER 3.5db
+
[  36.743489] ufshcd-hi3660 ff3b0000.ufs: check TX_EQUALIZER DB value lane0 = 0x1
+
[  36.750709] ufshcd-hi3660 ff3b0000.ufs: TX_EQUALIZER DB value lane1 = 0x1
+
[  36.757552] ufshcd-hi3660 ff3b0000.ufs: ufshcd_print_pwr_info:[RX, TX]: gear=[3, 3], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2
+
[  36.769752] VFS: Cannot open root device "sdd10" or unknown-block(0,0): error -6
+
[  36.777071] Please append a correct "root=" boot option; here are the available partitions:
+
[  36.785478] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
+
[  36.793786] CPU: 7 PID: 1 Comm: swapper/0 Tainted: G S              4.14.0-rc7-linaro-hikey960+ #2
+
[  36.802802] Hardware name: HiKey960 (DT)
+
[  36.806789] Call trace:
+
[  36.809316] [<ffff000008088be0>] dump_backtrace+0x0/0x370
+
[  36.814770] [<ffff000008088f64>] show_stack+0x14/0x20
+
[  36.819887] [<ffff000008a72780>] dump_stack+0x9c/0xbc
+
[  36.825003] [<ffff0000080c78d8>] panic+0x11c/0x28c
+
[  36.829861] [<ffff000008f41158>] mount_block_root+0x190/0x264
+
[  36.835667] [<ffff000008f41348>] mount_root+0x11c/0x134
+
[  36.840962] [<ffff000008f41498>] prepare_namespace+0x138/0x180
+
[  36.846854] [<ffff000008f40d8c>] kernel_init_freeable+0x208/0x22c
+
[  36.853013] [<ffff000008a84c68>] kernel_init+0x10/0x100
+
[  36.858301] [<ffff000008084b58>] ret_from_fork+0x10/0x18
+
[  36.863683] SMP: stopping secondary CPUs
+
[  36.867703] Kernel Offset: disabled
+
[  36.871221] CPU features: 0x082004
+
[  36.874688] Memory Limit: none
+
[  36.877816] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
+
  
 
</source>
 
</source>
第476行: 第63行:
 
init\do_mount.c
 
init\do_mount.c
 
<source lang="c">
 
<source lang="c">
void __init mount_block_root(char *name, int flags) //name shouldn't be sdd10
+
void __init prepare_namespace(void)
struct page *page = alloc_page(GFP_KERNEL |
+
{
__GFP_NOTRACK_FALSE_POSITIVE);
+
        ROOT_DEV = name_to_dev_t(root_device_name);
char *fs_names = page_address(page);
+
        root_device_name += 5; //remove /dev/
char *p;
+
mount_root();
#ifdef CONFIG_BLOCK
+
}
char b[BDEVNAME_SIZE];
+
#else
+
const char *b = name;
+
#endif
+
  
get_fs_names(fs_names);
+
void __init mount_root(void)
retry:
+
{
 +
int err = create_dev("/dev/root", ROOT_DEV); (= mknod (/dev/root->ROOT_DEV)
 +
mount_block_root("/dev/root", root_mountflags/=0x8000/);
 +
}
 +
 
 +
void __init mount_block_root(char *name, int flags) //name shouldn't be sdd10
 
for (p = fs_names; *p; p += strlen(p)+1) {
 
for (p = fs_names; *p; p += strlen(p)+1) {
int err = do_mount_root(name, p, flags, root_mount_data);//SYS_MOUNT(name, "/root",fs) error
+
int err = do_mount_root(name, p, flags, root_mount_data);
switch (err) {
+
                //SYS_MOUNT("/dev/root", "/root","ext3") error = -6
case 0:
+
goto out;
+
__bdevname(ROOT_DEV, b); //ROOT_DEV=0
case -EACCES:
+
case -EINVAL:
+
continue;
+
}
+
        /*
+
* Allow the user to distinguish between failed sys_open
+
* and bad superblock on root device.
+
* and give them a list of the available devices
+
*/
+
#ifdef CONFIG_BLOCK
+
__bdevname(ROOT_DEV, b);
+
#endif
+
 
printk("VFS: Cannot open root device \"%s\" or %s: error %d\n",
 
printk("VFS: Cannot open root device \"%s\" or %s: error %d\n",
 
root_device_name, b, err);
 
root_device_name, b, err);
 
//VFS: Cannot open root device "sdd10" or unknown-block(0,0): error -6
 
//VFS: Cannot open root device "sdd10" or unknown-block(0,0): error -6
 +
//root_device_name = sdd10 跟 /dev/root 有什麼關係?
 +
//why ROOT_DEV = 0,0: node created but not mount
  
 
printk("Please append a correct \"root=\" boot option; here are the available partitions:\n");
 
printk("Please append a correct \"root=\" boot option; here are the available partitions:\n");
                      //Please append a correct "root=" boot option; here are the available partitions:
 
 
 
printk_all_partitions();//NO OUTPUT
 
printk_all_partitions();//NO OUTPUT
#ifdef CONFIG_DEBUG_BLOCK_EXT_DEVT
 
printk("DEBUG_BLOCK_EXT_DEVT is enabled, you need to specify "
 
      "explicit textual name for \"root=\" boot option.\n");
 
#endif
 
 
panic("VFS: Unable to mount root fs on %s", b);
 
panic("VFS: Unable to mount root fs on %s", b);
 
                 // VFS: Unable to mount root fs on unknown-block(0,0)
 
                 // VFS: Unable to mount root fs on unknown-block(0,0)
}
 
if (!(flags & SB_RDONLY)) {
 
flags |= SB_RDONLY;
 
goto retry;
 
 
}
 
}
  
printk("List of all partitions:\n");
 
printk_all_partitions();
 
printk("No filesystem could mount root, tried: ");
 
for (p = fs_names; *p; p += strlen(p)+1)
 
printk(" %s", p);
 
printk("\n");
 
#ifdef CONFIG_BLOCK
 
__bdevname(ROOT_DEV, b);
 
#endif
 
panic("VFS: Unable to mount root fs on %s", b);
 
out:
 
put_page(page);
 
 
}
 
}
  
void __init mount_root(void)
+
static int __init do_mount_root(char *name, char *fs, int flags, void *data)
 
{
 
{
#ifdef CONFIG_ROOT_NFS
+
struct super_block *s;
if (ROOT_DEV == Root_NFS) {
+
int err = sys_mount(name, "/root", fs, flags, data);
if (mount_nfs_root())
+
if (err)
return;
+
return err;
  
printk(KERN_ERR "VFS: Unable to mount root fs via NFS, trying floppy.\n");
+
sys_chdir("/root");
ROOT_DEV = Root_FD0;
+
s = current->fs->pwd.dentry->d_sb;
}
+
ROOT_DEV = s->s_dev;
#endif
+
printk(KERN_INFO
#ifdef CONFIG_BLK_DEV_FD
+
      "VFS: Mounted root (%s filesystem)%s on device %u:%u.\n",
if (MAJOR(ROOT_DEV) == FLOPPY_MAJOR) {
+
      s->s_type->name,
/* rd_doload is 2 for a dual initrd/ramload setup */
+
      sb_rdonly(s) ? " readonly" : "",
if (rd_doload==2) {
+
      MAJOR(ROOT_DEV), MINOR(ROOT_DEV));
if (rd_load_disk(1)) {
+
return 0;
ROOT_DEV = Root_RAM1;
+
}
root_device_name = NULL;
+
}
+
} else
+
change_floppy("root floppy");
+
}
+
#endif
+
#ifdef CONFIG_BLOCK
+
{
+
int err = create_dev("/dev/root", ROOT_DEV);
+
  
if (err < 0)
 
pr_emerg("Failed to create /dev/root: %d\n", err);
 
mount_block_root("/dev/root", root_mountflags);
 
}
 
#endif
 
  
void __init prepare_namespace(void)
+
 
 +
dev_t name_to_dev_t(const char *name)
 
{
 
{
 +
char s[32];
 +
char *p;
 +
dev_t res = 0;
 +
int part;
 +
 +
strcpy(s, name);
 +
for (p = s; *p; p++)
 +
if (*p == '/')
 +
*p = '!';
 +
printk("--- blk_lookup_edvt(%s)\n", s);//s="sdd10"
 +
res = blk_lookup_devt(s, 0);
 +
if (res)
 +
goto done;
 +
 +
/*
 +
* try non-existent, but valid partition, which may only exist
 +
* after revalidating the disk, like partitioned md devices
 +
*/
 +
while (p > s && isdigit(p[-1]))
 +
p--;
 +
if (p == s || !*p || *p == '0')
 +
goto fail;
 +
 +
/* try disk name without <part number> */
 +
part = simple_strtoul(p, NULL, 10);
 +
*p = '\0';
 +
printk("--CJ 2nd blk_lookup_dvt(%s)\n", s);//s=sdd, part=10
 +
res = blk_lookup_devt(s, part);
 +
if (res)
 +
goto done;
 +
 +
/* try disk name without p<part number> */
 +
if (p < s + 2 || !isdigit(p[-2]) || p[-1] != 'p')
 +
goto fail;
 +
p[-1] = '\0';
 +
printk("--CJ 3rd bLk_lookup %s\n", s);
 +
res = blk_lookup_devt(s, part);
 +
if (res)
 +
goto done;
 +
 +
fail:
 +
return 0;
 +
done:
 +
return res;
 
}
 
}
 +
 +
</source>
 +
./block/genhd.c
 +
<source lang="c">
 +
void __init printk_all_partitions(void)
 +
{
 +
struct class_dev_iter iter;
 +
struct device *dev;
 +
printk("--CJ printk_all_partitions: \n");
 +
class_dev_iter_init(&iter, &block_class, NULL, &disk_type);
 +
while ((dev = class_dev_iter_next(&iter))) {
 +
struct gendisk *disk = dev_to_disk(dev);
 +
struct disk_part_iter piter;
 +
struct hd_struct *part;
 +
char name_buf[BDEVNAME_SIZE];
 +
char devt_buf[BDEVT_SIZE];
 +
printk("-- -- CJ loop 1\n");
 +
/*
 +
* Don't show empty devices or things that have been
 +
* suppressed
 +
*/
 +
if (get_capacity(disk) == 0 ||
 +
    (disk->flags & GENHD_FL_SUPPRESS_PARTITION_INFO))
 +
continue;
 +
 +
/*
 +
* Note, unlike /proc/partitions, I am showing the
 +
* numbers in hex - the same format as the root=
 +
* option takes.
 +
*/
 +
disk_part_iter_init(&piter, disk, DISK_PITER_INCL_PART0);
 +
while ((part = disk_part_iter_next(&piter))) {
 +
bool is_part0 = part == &disk->part0;
 +
 +
printk("%s%s %10llu %s %s", is_part0 ? "" : "  ",
 +
      bdevt_str(part_devt(part), devt_buf),
 +
      (unsigned long long)part_nr_sects_read(part) >> 1
 +
      , disk_name(disk, part->partno, name_buf),
 +
      part->info ? part->info->uuid : "");
 +
if (is_part0) {
 +
if (dev->parent && dev->parent->driver)
 +
printk(" driver: %s\n",
 +
      dev->parent->driver->name);
 +
else
 +
printk(" (driver?)\n");
 +
} else
 +
printk("\n");
 +
}
 +
disk_part_iter_exit(&piter);
 +
}
 +
class_dev_iter_exit(&iter);
 
}
 
}
 +
dev_t blk_lookup_devt(const char *name, int partno)
 +
{
 +
dev_t devt = MKDEV(0, 0);
 +
struct class_dev_iter iter;
 +
struct device *dev;
 +
 +
class_dev_iter_init(&iter, &block_class, NULL, &disk_type);
 +
while ((dev = class_dev_iter_next(&iter))) {
 +
struct gendisk *disk = dev_to_disk(dev);
 +
struct hd_struct *part;
 +
 +
if (strcmp(dev_name(dev), name))
 +
continue;
 +
 +
if (partno < disk->minors) {
 +
/* We need to return the right devno, even
 +
* if the partition doesn't exist yet.
 +
*/
 +
devt = MKDEV(MAJOR(dev->devt),
 +
    MINOR(dev->devt) + partno);
 +
break;
 +
}
 +
part = disk_get_part(disk, partno);
 +
if (part) {
 +
devt = part_devt(part);
 +
disk_put_part(part);
 +
break;
 +
}
 +
disk_put_part(part);
 +
}
 +
class_dev_iter_exit(&iter);
 +
return devt;
 +
}
 +
</source>

2019年11月21日 (四) 10:25的最后版本

error

(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading d0 kernel from boot module @ 00000000b936c000
(XEN) Allocating 1:1 mappings totalling 512MB for dom0:
(XEN) BANK[0] 0x000000c0000000-0x000000e0000000 (512MB)
(XEN) Grant table range: 0x000000b921c000-0x000000b925c000
(XEN) Allocating PPI 16 for event channel interrupt
(XEN) Loading zImage from 00000000b936c000 to 00000000c0080000-00000000c1187200
(XEN) Loading d0 DTB to 0x00000000c8000000-0x00000000c800a813
...
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] Machine model: HiKey960
[    0.000000] Xen 4.13 support found
[    0.000000] Kernel command line: console=tty0 console=hvc0 root=/dev/sdd10 rw efi=noruntime
[    0.000000] PID hash table entries: 2048 (order: 2, 16384 bytes)
[    0.000000] Memory: 456156K/525312K available (10364K kernel code, 1180K rwdata, 4664K rodata, 1152K init, 405K bss, 52772K reserved, 16384K cma-reserved)
...
[    7.067414] --CJ  enter prepare_namespace: root_delay=0
[    7.294633] ufshcd-hi3660 ff3b0000.ufs: ufshcd_query_flag: Sending flag query for idn 3 failed, err = -11
[    7.683146] xhci-hcd xhci-hcd.0.auto: USB bus 2 deregistered
[    7.688722] xhci-hcd xhci-hcd.0.auto: remove, state 1
...
[   14.998578] ufshcd-hi3660 ff3b0000.ufs: ufshcd_init_icc_levels: Failed reading power descriptor.len = 98 ret = -11
[   36.480083] ufshcd-hi3660 ff3b0000.ufs: ufshcd_print_pwr_info:[RX, TX]: gear=[1, 1], lane[1, 1], pwr[SLOWAUTO_MODE, SLOWAUTO_MODE], rate = 0
[   36.493073] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - issue time 14654573 us
...
[   36.755689] ufshcd-hi3660 ff3b0000.ufs: ufshcd_print_pwr_info:[RX, TX]: gear=[3, 3], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2
[   36.767798] --CJ in mount_root: entering mount_block_root(/dev/root, 0x8000)
[   36.774793] --CJ mount_block_root: name=/dev/root, fs_names = 
[   36.862337] -CJ do_mount_root (/dev/root, ext3)
 
[   36.866925] VFS: Cannot open root device "sdd10" or unknown-block(0,0): error -6 //ENXIO = /* No such device or address */
[   36.874332] Please append a correct "root=" boot option; here are the available partitions:
[   36.882734] --CJ printk_all_partitions: 
[   36.886730] -- -- CJ loop 1
[   36.889578] -- -- CJ loop 1
[   36.892442] -- -- CJ loop 1
[   36.895304] -- -- CJ loop 1
[   36.898157] -- -- CJ loop 1
[   36.901025] -- -- CJ loop 1
[   36.903889] -- -- CJ loop 1
[   36.906751] -- -- CJ loop 1
[   36.909613] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[   36.930939] Call trace:
[   36.933464] [<ffff000008088be0>] dump_backtrace+0x0/0x370
[   36.938925] [<ffff000008088f64>] show_stack+0x14/0x20
[   36.944037] [<ffff000008a71200>] dump_stack+0x9c/0xbc
[   36.949159] [<ffff0000080c78d8>] panic+0x11c/0x28c
[   36.954011] [<ffff000008f41184>] mount_block_root+0x1bc/0x290
[   36.959817] [<ffff000008f41384>] mount_root+0x12c/0x144
[   36.965107] [<ffff000008f414e4>] prepare_namespace+0x148/0x190
[   36.971005] [<ffff000008f40d8c>] kernel_init_freeable+0x208/0x22c
[   36.977163] [<ffff000008a836e8>] kernel_init+0x10/0x100
[   36.982451] [<ffff000008084b58>] ret_from_fork+0x10/0x18
[   36.987832] SMP: stopping secondary CPUs

init\do_mount.c

void __init prepare_namespace(void)
{
        ROOT_DEV = name_to_dev_t(root_device_name);
        root_device_name += 5; //remove /dev/
	mount_root();
}
 
void __init mount_root(void)
{
		int err = create_dev("/dev/root", ROOT_DEV); (= mknod (/dev/root->ROOT_DEV)
		mount_block_root("/dev/root", root_mountflags/=0x8000/);
}
 
void __init mount_block_root(char *name, int flags) //name shouldn't be sdd10
	for (p = fs_names; *p; p += strlen(p)+1) {
		int err = do_mount_root(name, p, flags, root_mount_data);
                //SYS_MOUNT("/dev/root", "/root","ext3") error = -6
 
		__bdevname(ROOT_DEV, b); //ROOT_DEV=0
		printk("VFS: Cannot open root device \"%s\" or %s: error %d\n",
				root_device_name, b, err);
//VFS: Cannot open root device "sdd10" or unknown-block(0,0): error -6
//root_device_name = sdd10 跟 /dev/root 有什麼關係?
//why ROOT_DEV = 0,0: node created but not mount 
 
		printk("Please append a correct \"root=\" boot option; here are the available partitions:\n");
		printk_all_partitions();//NO OUTPUT
		panic("VFS: Unable to mount root fs on %s", b);
                // VFS: Unable to mount root fs on unknown-block(0,0)
	}
 
}
 
static int __init do_mount_root(char *name, char *fs, int flags, void *data)
{
	struct super_block *s;
	int err = sys_mount(name, "/root", fs, flags, data);
	if (err)
		return err;
 
	sys_chdir("/root");
	s = current->fs->pwd.dentry->d_sb;
	ROOT_DEV = s->s_dev;
	printk(KERN_INFO
	       "VFS: Mounted root (%s filesystem)%s on device %u:%u.\n",
	       s->s_type->name,
	       sb_rdonly(s) ? " readonly" : "",
	       MAJOR(ROOT_DEV), MINOR(ROOT_DEV));
	return 0;
}
 
 
 
dev_t name_to_dev_t(const char *name)
{
	char s[32];
	char *p;
	dev_t res = 0;
	int part;
 
	strcpy(s, name);
	for (p = s; *p; p++)
		if (*p == '/')
			*p = '!';
printk("--- blk_lookup_edvt(%s)\n", s);//s="sdd10"
	res = blk_lookup_devt(s, 0);
	if (res)
		goto done;
 
	/*
	 * try non-existent, but valid partition, which may only exist
	 * after revalidating the disk, like partitioned md devices
	 */
	while (p > s && isdigit(p[-1]))
		p--;
	if (p == s || !*p || *p == '0')
		goto fail;
 
	/* try disk name without <part number> */
	part = simple_strtoul(p, NULL, 10);
	*p = '\0';
printk("--CJ 2nd blk_lookup_dvt(%s)\n", s);//s=sdd, part=10
	res = blk_lookup_devt(s, part);
	if (res)
		goto done;
 
	/* try disk name without p<part number> */
	if (p < s + 2 || !isdigit(p[-2]) || p[-1] != 'p')
		goto fail;
	p[-1] = '\0';
printk("--CJ 3rd bLk_lookup %s\n", s);
	res = blk_lookup_devt(s, part);
	if (res)
		goto done;
 
fail:
	return 0;
done:
	return res;
}

./block/genhd.c

void __init printk_all_partitions(void)
{
	struct class_dev_iter iter;
	struct device *dev;
printk("--CJ printk_all_partitions: \n");
	class_dev_iter_init(&iter, &block_class, NULL, &disk_type);
	while ((dev = class_dev_iter_next(&iter))) {
		struct gendisk *disk = dev_to_disk(dev);
		struct disk_part_iter piter;
		struct hd_struct *part;
		char name_buf[BDEVNAME_SIZE];
		char devt_buf[BDEVT_SIZE];
printk("-- -- CJ loop 1\n");
		/*
		 * Don't show empty devices or things that have been
		 * suppressed
		 */
		if (get_capacity(disk) == 0 ||
		    (disk->flags & GENHD_FL_SUPPRESS_PARTITION_INFO))
			continue;
 
		/*
		 * Note, unlike /proc/partitions, I am showing the
		 * numbers in hex - the same format as the root=
		 * option takes.
		 */
		disk_part_iter_init(&piter, disk, DISK_PITER_INCL_PART0);
		while ((part = disk_part_iter_next(&piter))) {
			bool is_part0 = part == &disk->part0;
 
			printk("%s%s %10llu %s %s", is_part0 ? "" : "  ",
			       bdevt_str(part_devt(part), devt_buf),
			       (unsigned long long)part_nr_sects_read(part) >> 1
			       , disk_name(disk, part->partno, name_buf),
			       part->info ? part->info->uuid : "");
			if (is_part0) {
				if (dev->parent && dev->parent->driver)
					printk(" driver: %s\n",
					      dev->parent->driver->name);
				else
					printk(" (driver?)\n");
			} else
				printk("\n");
		}
		disk_part_iter_exit(&piter);
	}
	class_dev_iter_exit(&iter);
}
dev_t blk_lookup_devt(const char *name, int partno)
{
	dev_t devt = MKDEV(0, 0);
	struct class_dev_iter iter;
	struct device *dev;
 
	class_dev_iter_init(&iter, &block_class, NULL, &disk_type);
	while ((dev = class_dev_iter_next(&iter))) {
		struct gendisk *disk = dev_to_disk(dev);
		struct hd_struct *part;
 
		if (strcmp(dev_name(dev), name))
			continue;
 
		if (partno < disk->minors) {
			/* We need to return the right devno, even
			 * if the partition doesn't exist yet.
			 */
			devt = MKDEV(MAJOR(dev->devt),
				     MINOR(dev->devt) + partno);
			break;
		}
		part = disk_get_part(disk, partno);
		if (part) {
			devt = part_devt(part);
			disk_put_part(part);
			break;
		}
		disk_put_part(part);
	}
	class_dev_iter_exit(&iter);
	return devt;
}