Min linuxkärna startar inte rootfs på / - Något är fel?

Permalänk
Medlem

Verkar finnas lika många debug-sätt som det finns ARM-embedded-miljöer. Du får kolla din miljö och se om du kan sätta en breakpoint i kärnan och sedan låta den gå tills felet uppstår och då förhoppningsvis få en adress. Kanske en symbol/stacktrace till och med. Beror ju på hur den är byggd.

En annan tanke har flygit förbi när jag läst runt. De verkar köra ARM-boot under QMU, då skulle du kunna testa direkt på din linux-burk. Men det kanske är mer jobb än att köra direkt på hårdvaran.

Permalänk
Skrivet av mc68000:

Verkar finnas lika många debug-sätt som det finns ARM-embedded-miljöer. Du får kolla din miljö och se om du kan sätta en breakpoint i kärnan och sedan låta den gå tills felet uppstår och då förhoppningsvis få en adress. Kanske en symbol/stacktrace till och med. Beror ju på hur den är byggd.

En annan tanke har flygit förbi när jag läst runt. De verkar köra ARM-boot under QMU, då skulle du kunna testa direkt på din linux-burk. Men det kanske är mer jobb än att köra direkt på hårdvaran.

Nu använder jag inte yocto som det ska användas. Jag har STM32CubeIDE som bygger allt åt mig, förutom operativsystemet.
STM32CubeIDE bygger: Linux, optee, ARM Trusted Firmware och U-boot.

Jag tänkte så här: Jag har ju möjlighet att använda funktionen DMSG i Linux och skriva in lite överallt. Men jag vet inte vart jag ska skriva in det. DMSG är alltså Debug Message.

När jag testar min kod, så laddar jag över koden till mitt opensource kretskort som jag byggde. Kretskortet har följande:

  • 1 x Ethernet Gigabit

  • 4 x USB

  • 1 x USB OTG

  • 1 x 4 GB RAM

  • 1 x 8 GB eMMC

  • 1 x HDMI

Men har du några förslag på vart man kan peta in lite meddelanden i LInux-kärnan? Detta är alltså sista loggarna.
Dom där D:TC eller F:TC är debuggmeddelanden från Optee OS. Något skräp som jag ogillar, men tydligen så måste den vara med. Helt onödig.

D/TC:0 pwr_scv_handler:56 PWR service: set 0x40000000 at offset 0xc F/TC:0 pwr_scv_handler:77 set off c=40000000 => 40000000 D/TC:0 pwr_scv_handler:56 PWR service: set 0x10000000 at offset 0xc F/TC:0 pwr_scv_handler:77 set off c=10000000 => d0000000 F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:472 SCMI clock 13 disable F/TC:0 0 __clk_disable:1187 Clock 140 has been disabled [ 5.639818] dwc2 49000000.usb-otg: EPs: 9, dedicated fifos, 952 entries in SPRAM F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:466 SCMI clock 13 enable F/TC:0 0 __clk_enable:1174 Clock 140 has been enabled D/TC:0 pwr_scv_handler:56 PWR service: clear 0x10000000 at offset 0xc F/TC:0 pwr_scv_handler:82 clr off c=10000000 => c0000000 D/TC:0 pwr_scv_handler:56 PWR service: clear 0x40000000 at offset 0xc F/TC:0 pwr_scv_handler:82 clr off c=40000000 => 0 D/TC:0 pwr_scv_handler:56 PWR service: set 0x40000000 at offset 0xc F/TC:0 pwr_scv_handler:77 set off c=40000000 => 40000000 D/TC:0 pwr_scv_handler:56 PWR service: set 0x10000000 at offset 0xc F/TC:0 pwr_scv_handler:77 set off c=10000000 => d0000000 [ 5.715295] ohci-platform 5800c000.usb: Generic Platform OHCI controller [ 5.721048] ohci-platform 5800c000.usb: new USB bus registered, assigned bus number 1 [ 5.728487] ehci-platform 5800d000.usb: EHCI Host Controller [ 5.734179] ehci-platform 5800d000.usb: new USB bus registered, assigned bus number 2 [ 5.742407] ohci-platform 5800c000.usb: irq 53, io mem 0x5800c000 [ 5.750701] ehci-platform 5800d000.usb: irq 52, io mem 0x5800d000 [ 5.758841] mmc0: new DDR MMC card at address 0001 [ 5.763497] mmcblk0: mmc0:0001 008GB0 7.28 GiB [ 5.776897] ehci-platform 5800d000.usb: USB 2.0 started, EHCI 1.00 [ 5.783104] hub 2-0:1.0: USB hub found [ 5.785803] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 [ 5.790259] hub 2-0:1.0: 2 ports detected [ 5.797231] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB [ 5.806076] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB [ 5.812150] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (244:0) [ 5.822551] hub 1-0:1.0: USB hub found [ 5.824957] hub 1-0:1.0: 2 ports detected F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:472 SCMI clock 13 disable F/TC:0 0 __clk_disable:1187 Clock 140 has been disabled

Så efter den har läst USB...vilka funktioner anropar den då?
LED-lampan utför heartbeat just nu. Så på något sätt så har den anropat en funktion för att aktivera heartbeat antar jag?

Permalänk
Medlem

Ska gräva lite i min source. När den hänger sig, fortsätter heartbeat då?

Permalänk
Skrivet av mc68000:

Ska gräva lite i min source. När den hänger sig, fortsätter heartbeat då?

Nu vet vi inte om den hänger sig. Ja, Heartbeat fortsätter ändå.
Jag tror att vi gissar mest bara om vi antar att initrd filen är fel på. Jag tror att vi måste buggtesta lite med loggar.

Men går det inte "simulera" mitt linux på något sätt? Jag kan ju tilldela dig koden om du så önskar. Eller enklare om jag ger dig bara Device Tree och konfigurationsfilerna.

Permalänk
Medlem

Den här verkar bra, från init/main.c
Lägg till "initcall_debug" på APPEND raden tilsammans med de andra parametrarna.

USB medelandena kommer oftast från drivers/usb/core/hub.c där du har usb_hub_init() och usb_hub_cleanup(). Straxt ovanför har du strukturen med alla usb-funktionerna som används i olika scenarier.

usb_hub_init(void) drivers/usb/core/hub.c usb_init(void) drivers/usb/core/usb.c

Permalänk
Skrivet av mc68000:

Den här verkar bra, från init/main.c
Lägg till "initcall_debug" på APPEND raden tilsammans med de andra parametrarna.

USB medelandena kommer oftast från drivers/usb/core/hub.c där du har usb_hub_init() och usb_hub_cleanup(). Straxt ovanför har du strukturen med alla usb-funktionerna som används i olika scenarier.

usb_hub_init(void) drivers/usb/core/hub.c usb_init(void) drivers/usb/core/usb.c

Vart finns APPEND raden? Jag hittar inte den.
Kan du länka via github?

Permalänk
Medlem

Din första post i denna tråd: "APPEND root=/dev/mmcblk0p8 ...".
Bra du skrev, undrar lite över kärnan. Den vi kör nu kommer den från leverantören, eller har du byggt den själv? Har du allt så att du kan bygga en ny kärna?
Oavsett, har du tillgång till .config-filen med alla CONFIG_* direktiv som använts? Den vore intressant.

CONFIG_EXT4_FS=y CONFIG_BLK_DEV_INITRD=y

Permalänk
Skrivet av mc68000:

Din första post i denna tråd: "APPEND root=/dev/mmcblk0p8 ...".
Bra du skrev, undrar lite över kärnan. Den vi kör nu kommer den från leverantören, eller har du byggt den själv? Har du allt så att du kan bygga en ny kärna?
Oavsett, har du tillgång till .config-filen med alla CONFIG_* direktiv som använts? Den vore intressant.

CONFIG_EXT4_FS=y CONFIG_BLK_DEV_INITRD=y

Jag har allt för att bygga kärnan och allt annat.
Koden kommer från leverantören, men det är samma kod som finns på github.

Här är .config filen för Linux.
https://pastebin.com/zQcCvNnz

# # File systems # CONFIG_DCACHE_WORD_ACCESS=y # CONFIG_VALIDATE_FS_PARSER is not set CONFIG_FS_IOMAP=y # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXT4_FS_POSIX_ACL=y # CONFIG_EXT4_FS_SECURITY is not set # CONFIG_EXT4_DEBUG is not set CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=y # CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set # CONFIG_XFS_FS is not set # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_BTRFS_FS is not set # CONFIG_NILFS2_FS is not set # CONFIG_F2FS_FS is not set CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y # CONFIG_EXPORTFS_BLOCK_OPS is not set CONFIG_FILE_LOCKING=y # CONFIG_FS_ENCRYPTION is not set # CONFIG_FS_VERITY is not set CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y CONFIG_INOTIFY_USER=y # CONFIG_FANOTIFY is not set # CONFIG_QUOTA is not set CONFIG_AUTOFS4_FS=y CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=y # CONFIG_CUSE is not set # CONFIG_VIRTIO_FS is not set CONFIG_OVERLAY_FS=y # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y # CONFIG_OVERLAY_FS_INDEX is not set # CONFIG_OVERLAY_FS_METACOPY is not set

Permalänk

Nu har jag kommit igång med debuggandet. Denna funktion retunerar 0! Så det är bra. Men vart koden går någonstans nu är svårt att veta!

Klicka för mer information

static int hub_probe(struct usb_interface *intf, const struct usb_device_id *id) { struct usb_host_interface *desc; struct usb_device *hdev; struct usb_hub *hub; desc = intf->cur_altsetting; hdev = interface_to_usbdev(intf); /* * Set default autosuspend delay as 0 to speedup bus suspend, * based on the below considerations: * * - Unlike other drivers, the hub driver does not rely on the * autosuspend delay to provide enough time to handle a wakeup * event, and the submitted status URB is just to check future * change on hub downstream ports, so it is safe to do it. * * - The patch might cause one or more auto supend/resume for * below very rare devices when they are plugged into hub * first time: * * devices having trouble initializing, and disconnect * themselves from the bus and then reconnect a second * or so later * * devices just for downloading firmware, and disconnects * themselves after completing it * * For these quite rare devices, their drivers may change the * autosuspend delay of their parent hub in the probe() to one * appropriate value to avoid the subtle problem if someone * does care it. * * - The patch may cause one or more auto suspend/resume on * hub during running 'lsusb', but it is probably too * infrequent to worry about. * * - Change autosuspend delay of hub can avoid unnecessary auto * suspend timer for hub, also may decrease power consumption * of USB bus. * * - If user has indicated to prevent autosuspend by passing * usbcore.autosuspend = -1 then keep autosuspend disabled. */ #ifdef CONFIG_PM if (hdev->dev.power.autosuspend_delay >= 0) pm_runtime_set_autosuspend_delay(&hdev->dev, 0); #endif /* * Hubs have proper suspend/resume support, except for root hubs * where the controller driver doesn't have bus_suspend and * bus_resume methods. */ if (hdev->parent) { /* normal device */ usb_enable_autosuspend(hdev); } else { /* root hub */ const struct hc_driver *drv = bus_to_hcd(hdev->bus)->driver; if (drv->bus_suspend && drv->bus_resume) usb_enable_autosuspend(hdev); } if (hdev->level == MAX_TOPO_LEVEL) { dev_err(&intf->dev, "Unsupported bus topology: hub nested too deep\n"); return -E2BIG; } #ifdef CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB if (hdev->parent) { dev_warn(&intf->dev, "ignoring external hub\n"); return -ENODEV; } #endif if (!hub_descriptor_is_sane(desc)) { dev_err(&intf->dev, "bad descriptor, ignoring hub\n"); return -EIO; } /* We found a hub */ dev_info(&intf->dev, "USB hub found\n"); hub = kzalloc(sizeof(*hub), GFP_KERNEL); if (!hub) return -ENOMEM; dev_info(&intf->dev, "kzalloc OK\n"); kref_init(&hub->kref); dev_info(&intf->dev, "kref_init OK\n"); hub->intfdev = &intf->dev; hub->hdev = hdev; INIT_DELAYED_WORK(&hub->leds, led_work); dev_info(&intf->dev, "init delayed work OK\n"); INIT_DELAYED_WORK(&hub->init_work, NULL); dev_info(&intf->dev, "init delayed work OK\n"); INIT_WORK(&hub->events, hub_event); dev_info(&intf->dev, "init work OK\n"); INIT_LIST_HEAD(&hub->onboard_hub_devs); dev_info(&intf->dev, "init least head OK\n"); spin_lock_init(&hub->irq_urb_lock); dev_info(&intf->dev, "spin spin lock init OK\n"); timer_setup(&hub->irq_urb_retry, hub_retry_irq_urb, 0); dev_info(&intf->dev, "timer setup OK\n"); usb_get_intf(intf); dev_info(&intf->dev, "usb get intf OK\n"); usb_get_dev(hdev); dev_info(&intf->dev, "usb get dev OK\n"); usb_set_intfdata(intf, hub); dev_info(&intf->dev, "usb set intfdata OK\n"); intf->needs_remote_wakeup = 1; pm_suspend_ignore_children(&intf->dev, true); dev_info(&intf->dev, "pm suspend ignore children OK\n"); if (hdev->speed == USB_SPEED_HIGH) highspeed_hubs++; if (id->driver_info & HUB_QUIRK_CHECK_PORT_AUTOSUSPEND) hub->quirk_check_port_auto_suspend = 1; if (id->driver_info & HUB_QUIRK_DISABLE_AUTOSUSPEND) { dev_info(&intf->dev, "HUB quirk disable autosuspend\n"); hub->quirk_disable_autosuspend = 1; usb_autopm_get_interface_no_resume(intf); } if ((id->driver_info & HUB_QUIRK_REDUCE_FRAME_INTR_BINTERVAL) && desc->endpoint[0].desc.bInterval > USB_REDUCE_FRAME_INTR_BINTERVAL) { dev_info(&intf->dev, "if statement USB Reduce Frame Initr Binterval OK\n"); desc->endpoint[0].desc.bInterval = USB_REDUCE_FRAME_INTR_BINTERVAL; /* Tell the HCD about the interrupt ep's new bInterval */ usb_set_interface(hdev, 0, 0); dev_info(&intf->dev, "usb set interface OK\n"); } if (hub_configure(hub, &desc->endpoint[0].desc) >= 0) { dev_info(&intf->dev, "hub configure OK\n"); onboard_hub_create_pdevs(hdev, &hub->onboard_hub_devs); dev_info(&intf->dev, "onboard hub create pdevs OK\n"); <- Denna funktion anropas utan problem! return 0; } hub_disconnect(intf); dev_info(&intf->dev, "hub disconnect OK\n"); return -ENODEV; }

Visa mer

Denna kod retunerar noll. Notera att dev_dgb anropas inte!!!

Klicka för mer information

static int hub_suspend(struct usb_interface *intf, pm_message_t msg) { dev_info(&intf->dev, "calling hub_suspend\n"); struct usb_hub *hub = usb_get_intfdata(intf); struct usb_device *hdev = hub->hdev; unsigned port1; /* * Warn if children aren't already suspended. * Also, add up the number of wakeup-enabled descendants. */ dev_info(&intf->dev, "hub->wakeup_enabled_descendants = 0;\n"); hub->wakeup_enabled_descendants = 0; for (port1 = 1; port1 <= hdev->maxchild; port1++) { struct usb_port *port_dev = hub->ports[port1 - 1]; struct usb_device *udev = port_dev->child; if (udev && udev->can_submit) { dev_warn(&port_dev->dev, "device %s not suspended yet\n", dev_name(&udev->dev)); if (PMSG_IS_AUTO(msg)) return -EBUSY; } if (udev) hub->wakeup_enabled_descendants += usb_wakeup_enabled_descendants(udev); } if (hdev->do_remote_wakeup && hub->quirk_check_port_auto_suspend) { dev_info(&intf->dev, "calling hdev->do_remote_wakeup && hub->quirk_check_port_auto_suspend OK\n"); /* check if there are changes pending on hub ports */ if (check_ports_changed(hub)) { if (PMSG_IS_AUTO(msg)) return -EBUSY; pm_wakeup_event(&hdev->dev, 2000); } } if (hub_is_superspeed(hdev) && hdev->do_remote_wakeup) { dev_info(&intf->dev, "calling hub_is_superspeed(hdev) && hdev->do_remote_wakeup OK\n"); /* Enable hub to send remote wakeup for all ports. */ for (port1 = 1; port1 <= hdev->maxchild; port1++) { set_port_feature(hdev, port1 | USB_PORT_FEAT_REMOTE_WAKE_CONNECT | USB_PORT_FEAT_REMOTE_WAKE_DISCONNECT | USB_PORT_FEAT_REMOTE_WAKE_OVER_CURRENT, USB_PORT_FEAT_REMOTE_WAKE_MASK); } } dev_dbg(&intf->dev, "%s\n", __func__); <--- Denna anropas inte! dev_info(&intf->dev, "calling dev_dbg\n"); <--- Denna anropas utan problem :) /* stop hub_wq and related activity */ hub_quiesce(hub, HUB_SUSPEND); dev_info(&intf->dev, "calling hub_quiesce(hub, HUB_SUSPEND);\n"); <--- Denna också. return 0; <---Funktionen retunerar 0. }

Visa mer

Det finns en struct som jag antar initsaliseras vid start

static struct usb_driver hub_driver = { .name = "hub", .probe = hub_probe, .disconnect = hub_disconnect, .suspend = hub_suspend, .resume = hub_resume, .reset_resume = hub_reset_resume, .pre_reset = hub_pre_reset, .post_reset = hub_post_reset, .unlocked_ioctl = hub_ioctl, .id_table = hub_id_table, .supports_autosuspend = 1, };

Jag har satt lite meddelanden i alla dessa funktioner men det är bara funktionen hub_suspend som är den sista som skickar ut meddelanden. Det händer inget på t.ex. hub_resume och nedåt.

Här är hela hub.c https://pastebin.com/gfFLsHBB

Permalänk
Medlem

Den där strukturen är ingenting som nödvändigtvis exekveras linjärt. Det beror på hur drivern används. Bättre att börja uppifrån; init/main.c och se hur långt den kommer: Där har du starten av /init och allt annat som skall ske innan. Prova att debugga kernel_init_freeable()

static char *ramdisk_execute_command = "/init";

kernel_init(void)

static int __ref kernel_init(void *unused) { int ret; /* * Wait until kthreadd is all set-up. */ wait_for_completion(&kthreadd_done); kernel/sched/completion.c kernel_init_freeable(); <<<<<<<<<<<<<<<<<<< Här inne startas initrd. /* need to finish all async __init code before freeing the memory */ async_synchronize_full(); system_state = SYSTEM_FREEING_INITMEM; kprobe_free_init_mem(); ftrace_free_init_mem(); kgdb_free_init_mem(); exit_boot_config(); free_initmem(); mark_readonly(); ............................... Starten av riktiga /sbin/init kommer här nere.

kernel_init_freeable(void)

............................ Når vi till dessa trakter? do_basic_setup(); kunit_run_all_tests(); wait_for_initramfs(); ./init/initramfs.c console_on_rootfs(); /* * check if there is an early userspace init. If yes, let it do all * the work */ if (init_eaccess(ramdisk_execute_command) != 0) { /init ramdisk_execute_command = NULL; prepare_namespace(); } /* * Ok, we have completed the initial bootup, and * we're essentially up and running. Get rid of the * initmem segments and start the user-mode stuff.. * * rootfs is available now, try loading the public keys * and default modules */ integrity_load_keys(); }

Tillbaka till kernel_init()

Om du vill leta i källkoden kan du köra:

$ find . -type f -name "*.c" -exec grep -i "ramdisk_execute_command" {} \+

Jag har även letat efter de två felmedelandena, men de verkar komma från uBoot direkt?
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid

Permalänk
Skrivet av mc68000:

Den där strukturen är ingenting som nödvändigtvis exekveras linjärt. Det beror på hur drivern används. Bättre att börja uppifrån; init/main.c och se hur långt den kommer: Där har du starten av /init och allt annat som skall ske innan. Prova att debugga kernel_init_freeable()

static char *ramdisk_execute_command = "/init";

kernel_init(void)

static int __ref kernel_init(void *unused) { int ret; /* * Wait until kthreadd is all set-up. */ wait_for_completion(&kthreadd_done); kernel/sched/completion.c kernel_init_freeable(); <<<<<<<<<<<<<<<<<<< Här inne startas initrd. /* need to finish all async __init code before freeing the memory */ async_synchronize_full(); system_state = SYSTEM_FREEING_INITMEM; kprobe_free_init_mem(); ftrace_free_init_mem(); kgdb_free_init_mem(); exit_boot_config(); free_initmem(); mark_readonly(); ............................... Starten av riktiga /sbin/init kommer här nere.

kernel_init_freeable(void)

............................ Når vi till dessa trakter? do_basic_setup(); kunit_run_all_tests(); wait_for_initramfs(); ./init/initramfs.c console_on_rootfs(); /* * check if there is an early userspace init. If yes, let it do all * the work */ if (init_eaccess(ramdisk_execute_command) != 0) { /init ramdisk_execute_command = NULL; prepare_namespace(); } /* * Ok, we have completed the initial bootup, and * we're essentially up and running. Get rid of the * initmem segments and start the user-mode stuff.. * * rootfs is available now, try loading the public keys * and default modules */ integrity_load_keys(); }

Tillbaka till kernel_init()

Om du vill leta i källkoden kan du köra:

$ find . -type f -name "*.c" -exec grep -i "ramdisk_execute_command" {} \+

Jag har även letat efter de två felmedelandena, men de verkar komma från uBoot direkt?
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid

Jag har petat in lite informationsmeddelanden. Men jag noterade att min loglevel var ganska låg. 7, 3, 4 stod det på den. Så jag ändrade det till 15, 15, 7 i build/.config. Det verkar ta lång tid att kompilera.

# # Kernel hacking # # # printk and dmesg options # CONFIG_PRINTK_TIME=y # CONFIG_PRINTK_CALLER is not set # CONFIG_STACKTRACE_BUILD_ID is not set CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15 CONFIG_CONSOLE_LOGLEVEL_QUIET=15 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 # CONFIG_BOOT_PRINTK_DELAY is not set CONFIG_DYNAMIC_DEBUG=y CONFIG_DYNAMIC_DEBUG_CORE=y CONFIG_SYMBOLIC_ERRNAME=y CONFIG_DEBUG_BUGVERBOSE=y # end of printk and dmesg options CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_MISC=y

Permalänk

@mc68000
Nej du. Jag får inga meddelanden från init/kernel_init funktionen. Så detta kan vara en förklaring.
Här är min sista log, den är samma som ovan.

Klicka för mer information

F/TC:0 pwr_scv_handler:77 set off c=10000000 => d0000000 [ 5.729031] ohci-platform 5800c000.usb: Generic Platform OHCI controller [ 5.735798] ohci-platform 5800c000.usb: new USB bus registered, assigned bus number 1 [ 5.742329] ehci-platform 5800d000.usb: EHCI Host Controller [ 5.748388] ohci-platform 5800c000.usb: irq 53, io mem 0x5800c000 [ 5.755219] ehci-platform 5800d000.usb: new USB bus registered, assigned bus number 2 [ 5.762418] ehci-platform 5800d000.usb: irq 52, io mem 0x5800d000 [ 5.768805] mmc0: new DDR MMC card at address 0001 [ 5.774065] mmcblk0: mmc0:0001 008GB0 7.28 GiB [ 5.788435] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 [ 5.794690] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB [ 5.798423] ehci-platform 5800d000.usb: USB 2.0 started, EHCI 1.00 [ 5.807494] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB [ 5.813406] hub 2-0:1.0: USB hub found [ 5.815777] hub 2-0:1.0: kzalloc OK [ 5.820508] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (244:0) [ 5.825618] hub 2-0:1.0: kref_init OK [ 5.833377] hub 2-0:1.0: init delayed work OK [ 5.836330] hub 2-0:1.0: init delayed work OK [ 5.840722] hub 2-0:1.0: init work OK [ 5.844369] hub 2-0:1.0: init least head OK [ 5.848536] hub 2-0:1.0: spin spin lock init OK [ 5.852988] hub 2-0:1.0: timer setup OK [ 5.856835] hub 2-0:1.0: usb get intf OK F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u [ 5.867673] hub 2-0:1.0: usb get dev OK [ 5.870125] hub 2-0:1.0: usb set intfdata OK [ 5.874375] hub 2-0:1.0: pm suspend ignore children OK F/TC:? 0 plat_scmi_clock_set_state:472 SCMI clock 13 disable F/TC:0 0 __clk_disable:1187 Clock 140 has been disabled [ 5.891322] hub 2-0:1.0: 2 ports detected [ 5.893876] hub 2-0:1.0: Calling kcalloc...allocating memory [ 5.899942] hub 2-0:1.0: Memory allocated! [ 5.903696] hub 2-0:1.0: le16_to_cpu OK [ 5.907568] hub 2-0:1.0: calling hub_is_superspeed [ 5.912324] hub 2-0:1.0: spin lock init OK [ 5.916371] hub 2-0:1.0: init list head OK [ 5.920536] hub 2-0:1.0: init work OK [ 5.924080] hub 2-0:1.0: switch statement wHubCharacteristics [ 5.930376] hub 2-0:1.0: hub configure OK [ 5.935485] hub 2-0:1.0: onboard hub create pdevs OK [ 5.940673] hub 1-0:1.0: USB hub found [ 5.943036] hub 1-0:1.0: kzalloc OK [ 5.946481] hub 1-0:1.0: kref_init OK [ 5.950651] hub 1-0:1.0: init delayed work OK [ 5.954512] hub 1-0:1.0: init delayed work OK [ 5.959059] hub 2-0:1.0: calling hub_suspend [ 5.963116] hub 2-0:1.0: hub->wakeup_enabled_descendants = 0; [ 5.968927] hub 1-0:1.0: init work OK [ 5.972575] hub 1-0:1.0: init least head OK [ 5.976723] hub 1-0:1.0: spin spin lock init OK [ 5.981298] hub 2-0:1.0: calling dev_dbg [ 5.985174] hub 2-0:1.0: calling hub_quiesce(hub, HUB_SUSPEND); [ 5.991164] hub 1-0:1.0: timer setup OK [ 5.995013] hub 1-0:1.0: usb get intf OK [ 5.999083] hub 1-0:1.0: usb get dev OK [ 6.002731] hub 1-0:1.0: usb set intfdata OK [ 6.006980] hub 1-0:1.0: pm suspend ignore children OK [ 6.012192] hub 1-0:1.0: 2 ports detected [ 6.016145] hub 1-0:1.0: Calling kcalloc...allocating memory [ 6.021823] hub 1-0:1.0: Memory allocated! [ 6.025872] hub 1-0:1.0: le16_to_cpu OK [ 6.029729] hub 1-0:1.0: calling hub_is_superspeed [ 6.034484] hub 1-0:1.0: spin lock init OK [ 6.038645] hub 1-0:1.0: init list head OK [ 6.042693] hub 1-0:1.0: init work OK [ 6.046337] hub 1-0:1.0: switch statement wHubCharacteristics [ 6.052609] hub 1-0:1.0: hub configure OK [ 6.056166] hub 1-0:1.0: onboard hub create pdevs OK [ 6.067447] hub 1-0:1.0: calling hub_suspend [ 6.070304] hub 1-0:1.0: hub->wakeup_enabled_descendants = 0; [ 6.076065] hub 1-0:1.0: calling dev_dbg [ 6.080063] hub 1-0:1.0: calling hub_quiesce(hub, HUB_SUSPEND);

Visa mer

Så detta betyder att den anropade denna kodrad sist och sedan hände det absolut inget mer i hub.c filen.

hub_quiesce(hub, HUB_SUSPEND);

Men då vet vi vart den slutade i alla fall!
Men jag kan säga dig att dessa meddelanden skrivs INTE ut. Inte ett enda

int usb_hub_init(void) { pr_err("calling usb_register\n"); pr_err("calling usb_register\n"); if (usb_register(&hub_driver) < 0) { printk(KERN_ERR "%s: can't register hub driver\n", usbcore_name); return -1; } /* * The workqueue needs to be freezable to avoid interfering with * USB-PERSIST port handover. Otherwise it might see that a full-speed * device was gone before the EHCI controller had handed its port * over to the companion full-speed controller. */ pr_err("alloc workqueue\n"); hub_wq = alloc_workqueue("usb_hub_wq", WQ_FREEZABLE, 0); pr_err("alloc workqueue OK\n"); if (hub_wq) return 0; /* Fall through if kernel_thread failed */ usb_deregister(&hub_driver); pr_err("%s: can't allocate workqueue for usb hub\n", usbcore_name); return -1; }

Permalänk
Medlem

Oui, även sista livstecknet från Hub 2 är hub_quiesce(). Betyder det att det är någon mismatch i dts-filen, eller är det något som inte stämmer i kärnan?
Du kan ju för säkerhets skull ringa in alla fyra hub_quiesce() callen med utskrifter före och efter. Tvättar idag, så har inte så mycket tid förrän ikväll. Tänkte dra igång min maskin med samma debug som du kör och spara loggen för framtida bruk.

Permalänk
Skrivet av mc68000:

Oui, även sista livstecknet från Hub 2 är hub_quiesce(). Betyder det att det är någon mismatch i dts-filen, eller är det något som inte stämmer i kärnan?
Du kan ju för säkerhets skull ringa in alla fyra hub_quiesce() callen med utskrifter före och efter. Tvättar idag, så har inte så mycket tid förrän ikväll. Tänkte dra igång min maskin med samma debug som du kör och spara loggen för framtida bruk.

Jag har inte lödit fast min USB hub än. Den finns inte. Jag har testat avaktiverat igenom ta bort kod, men det sker samma sak ändå. Meddelande för USB hubben framkommer då inte på skärmen. Men LED-lampan blinkar som vanligt vid start.

Jag har kommit långt nu när det kommer till debug.
Här är ett fint framsteg.

asmlinkage __visible void __init __no_sanitize_address start_kernel(void) { char *command_line; char *after_dashes; .... .... .... acpi_subsystem_init(); arch_post_acpi_subsys_init(); pr_notice("arch_post_acpi_subsys_init();"); kcsan_init(); pr_notice("kcsan_init();"); <--- Denna visas på min serial /* Do the rest non-__init'ed, we're now alive */ arch_call_rest_init(); pr_notice("arch_call_rest_init();"); <--- Denna körs INTE prevent_tail_call_optimization(); pr_notice("prevent_tail_call_optimization();"); <--- Denna körs INTE }

Så alltså betyder detta att arch_call_rest_init(); körs.
Så detta betyder att funktionen asmlinkage __visible void __init __no_sanitize_address start_kernel(void) anropas inte klart.

Så då har vi ett spår!

Edit:
Vidare har vi när arch_call_rest_init(void); anropas. Då befinner vi oss i schedule_preempt_disabled(); funktionen.

noinline void __ref rest_init(void) { struct task_struct *tsk; int pid; rcu_scheduler_starting(); pr_notice("reset_init(void): rcu_scheduler_starting();"); /* * We need to spawn init first so that it obtains pid 1, however * the init task will end up wanting to create kthreads, which, if * we schedule it before we create kthreadd, will OOPS. */ pid = user_mode_thread(kernel_init, NULL, CLONE_FS); pr_notice("reset_init(void): pid = user_mode_thread(kernel_init, NULL, CLONE_FS);"); /* * Pin init on the boot CPU. Task migration is not properly working * until sched_init_smp() has been run. It will set the allowed * CPUs for init to the non isolated CPUs. */ rcu_read_lock(); pr_notice("reset_init(void): rcu_read_lock();"); tsk = find_task_by_pid_ns(pid, &init_pid_ns); pr_notice("reset_init(void): tsk = find_task_by_pid_ns(pid, &init_pid_ns);"); tsk->flags |= PF_NO_SETAFFINITY; set_cpus_allowed_ptr(tsk, cpumask_of(smp_processor_id())); pr_notice("reset_init(void): set_cpus_allowed_ptr(tsk, cpumask_of(smp_processor_id()));"); rcu_read_unlock(); pr_notice("reset_init(void): rcu_read_unlock();"); numa_default_policy(); pr_notice("reset_init(void): numa_default_policy();"); pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES); pr_notice("reset_init(void): pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);"); rcu_read_lock(); pr_notice("reset_init(void): pid = rcu_read_lock();"); kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns); pr_notice("reset_init(void): kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns);"); rcu_read_unlock(); pr_notice("reset_init(void): rcu_read_unlock();"); /* * Enable might_sleep() and smp_processor_id() checks. * They cannot be enabled earlier because with CONFIG_PREEMPTION=y * kernel_thread() would trigger might_sleep() splats. With * CONFIG_PREEMPT_VOLUNTARY=y the init task might have scheduled * already, but it's stuck on the kthreadd_done completion. */ system_state = SYSTEM_SCHEDULING; complete(&kthreadd_done); pr_notice("reset_init(void): complete(&kthreadd_done);"); <--- Denna anropas! /* * The boot idle thread must execute schedule() * at least once to get things moving: */ schedule_preempt_disabled(); <--- Vi är här nu! pr_notice("reset_init(void): schedule_preempt_disabled();"); <-- Denna anropas INTE! /* Call into cpu_idle with preempt disabled */ cpu_startup_entry(CPUHP_ONLINE); pr_notice("reset_init(void): cpu_startup_entry(CPUHP_ONLINE);"); }

Edit:
Ännu mera framsteg.
Nu ser jag att jag har fastnat i en do-while-loop. Som tydligen är en tråd, kanske.
I filen kernel/sched/core.c så finns denna funktion

asmlinkage __visible void __sched schedule(void) { struct task_struct *tsk = current; sched_submit_work(tsk); pr_info("asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk);"); do { preempt_disable(); pr_info("asmlinkage __visible void __sched schedule(void): preempt_disable();"); __schedule(SM_NONE); pr_info("asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE);"); sched_preempt_enable_no_resched(); pr_info("asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched();"); } while (need_resched()); sched_update_worker(tsk); pr_info("asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk);"); }

Alla pr_info funktioner anropas. Att avgöra från denna log så verkar det som att functionen asmlinkage __visible void __sched schedule(void) anropas hela tiden så fort den har anropats klar.

[ 35.001756] asmlinkage __visible void __sched schedule(void): preempt_disable(); [ 35.009659] asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE); [ 35.017032] asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched(); [ 35.024619] asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk); [ 35.033414] void __sched schedule_preempt_disabled(void): schedule(); [ 35.041400] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 35.047864] reset_init(void): schedule_preempt_disabled(); [ 35.388974] asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE); [ 35.393030] asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched(); [ 35.400618] asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk); [ 35.409422] asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk); [ 35.417400] asmlinkage __visible void __sched schedule(void): preempt_disable(); [ 35.688978] asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE); [ 35.694947] asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched(); [ 35.702538] asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk); [ 35.711349] asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk); [ 35.719343] asmlinkage __visible void __sched schedule(void): preempt_disable(); [ 35.918975] asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE); [ 35.924944] asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched(); [ 35.932532] asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk); [ 35.941331] asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk); [ 35.949324] asmlinkage __visible void __sched schedule(void): preempt_disable(); [ 36.268979] asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE); [ 36.274948] asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched(); [ 36.282538] asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk); [ 36.291341] asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk); [ 36.299334] asmlinkage __visible void __sched schedule(void): preempt_disable(); ... ... ... [ 239.291326] asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk); [ 239.299317] asmlinkage __visible void __sched schedule(void): preempt_disable(); [ 239.798968] asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE); [ 239.804937] asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched(); [ 239.812524] asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk); [ 239.821322] asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk); [ 239.829313] asmlinkage __visible void __sched schedule(void): preempt_disable(); [ 240.318975] asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE); [ 240.324944] asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched(); [ 240.332542] asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE); [ 240.341344] asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk); [ 240.348923] asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk); [ 240.356921] asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched(); [ 240.364714] asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk); [ 240.373516] asmlinkage __visible void __sched schedule(void): preempt_disable(); [ 240.381615] asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk); [ 240.389002] asmlinkage __visible void __sched schedule(void): preempt_disable(); [ 240.888972] asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE); [ 240.894942] asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched(); [ 240.902529] asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk); [ 240.911327] asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk); [ 240.919318] asmlinkage __visible void __sched schedule(void): preempt_disable(); [ 241.418971] asmlinkage __visible void __sched schedule(void): __schedule(SM_NONE); [ 241.424940] asmlinkage __visible void __sched schedule(void): sched_preempt_enable_no_resched(); [ 241.432527] asmlinkage __visible void __sched schedule(void): sched_update_worker(tsk); [ 241.441325] asmlinkage __visible void __sched schedule(void): sched_submit_work(tsk);

Hela loggen är här: https://pastebin.com/YvtgTY51

Så detta kan bara betyda att antingen har kärnan körts klart, eller så är det vissa sakner som är kvar som ska köras. Vad det nu ska vara?

Man kanske ska kolla om något av initrd anropas? Om inte, ja, då har vi svaret på varför den inte går vidare.

Permalänk

Problemet hittat!
Funktionen kernel_init_freeable(); anropas inte klart!

Denna funktion saknar helt enkelt funktionsanrop.

Klicka för mer information

static int __ref kernel_init(void *unused) { int ret; /* * Wait until kthreadd is all set-up. */ pr_info("static int __ref kernel_init(void *unused) - Function call"); <-- Denna anropas wait_for_completion(&kthreadd_done); pr_info("static int __ref kernel_init(void *unused): wait_for_completion(&kthreadd_done); OK"); <--- Denna anropas kernel_init_freeable(); pr_info("static int __ref kernel_init(void *unused): kernel_init_freeable();"); <-- Denna anropas inte /* need to finish all async __init code before freeing the memory */ async_synchronize_full(); pr_info("static int __ref kernel_init(void *unused): async_synchronize_full();"); system_state = SYSTEM_FREEING_INITMEM; kprobe_free_init_mem(); ftrace_free_init_mem(); kgdb_free_init_mem(); .... .... .... pr_info("!try_to_run_init_process(/sbin/init)"); if (!try_to_run_init_process("/sbin/init") || !try_to_run_init_process("/etc/init") || !try_to_run_init_process("/bin/init") || !try_to_run_init_process("/bin/sh")) return 0; panic("No working init found. Try passing init= option to kernel. " "See Linux Documentation/admin-guide/init.rst for guidance."); }

Visa mer

Här är lite output

Klicka för mer information

[ 0.003284] reset_init(void): kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns); [ 0.003288] reset_init(void): rcu_read_unlock(); [ 0.003293] reset_init(void): complete(&kthreadd_done); [ 0.003333] static int __ref kernel_init(void *unused) - Function call [ 0.003340] static int __ref kernel_init(void *unused): wait_for_completion(&kthreadd_done); OK [ 0.003345] gfp_allowed_mask = __GFP_BITS_MASK; [ 0.003349] set_mems_allowed(node_states[N_MEMORY]); [ 0.003629] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.003642] void __sched schedule_preempt_disabled(void): schedule(); [ 0.003647] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.003799] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.003810] void __sched schedule_preempt_disabled(void): schedule(); [ 0.003814] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.003952] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.003963] void __sched schedule_preempt_disabled(void): schedule(); [ 0.003968] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.004120] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.004132] void __sched schedule_preempt_disabled(void): schedule(); [ 0.004137] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.004298] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.004308] void __sched schedule_preempt_disabled(void): schedule(); [ 0.004313] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.004465] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.004476] void __sched schedule_preempt_disabled(void): schedule(); [ 0.004481] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.004684] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.004695] void __sched schedule_preempt_disabled(void): schedule(); [ 0.004700] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.004754] cblist_init_generic: Setting adjustable number of callback queues. [ 0.004763] cblist_init_generic: Setting shift to 0 and lim to 1. [ 0.004908] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.004920] void __sched schedule_preempt_disabled(void): schedule(); [ 0.004924] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.004968] cblist_init_generic: Setting adjustable number of callback queues. [ 0.004975] cblist_init_generic: Setting shift to 0 and lim to 1. [ 0.005111] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.005121] void __sched schedule_preempt_disabled(void): schedule(); [ 0.005127] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.005202] Setting up static identity map for 0xc0100000 - 0xc0100060 [ 0.005356] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.005368] void __sched schedule_preempt_disabled(void): schedule(); [ 0.005373] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.005410] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.005418] void __sched schedule_preempt_disabled(void): schedule(); [ 0.005423] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.005441] rcu: Hierarchical SRCU implementation. [ 0.005446] rcu: Max phase no-delay instances is 1000. [ 0.005581] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.005591] void __sched schedule_preempt_disabled(void): schedule(); [ 0.005596] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.006622] EFI services will not be available. [ 0.006725] if (!early_page_ext_enabled()); [ 0.007125] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.007142] void __sched schedule_preempt_disabled(void): schedule(); [ 0.007147] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.007186] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.007194] void __sched schedule_preempt_disabled(void): schedule(); [ 0.007199] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.007412] devtmpfs: initialized [ 0.030115] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [ 0.030467] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.030500] futex hash table entries: 256 (order: -1, 3072 bytes, linear) [ 0.033842] pinctrl core: initialized pinctrl subsystem [ 0.035354] DMI not present or invalid. [ 0.036672] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.037279] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.037297] void __sched schedule_preempt_disabled(void): schedule(); [ 0.037303] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.037396] void __sched schedule_preempt_disabled(void): sched_preempt_enable_no_resched(); [ 0.037406] void __sched schedule_preempt_disabled(void): schedule(); [ 0.037411] void __sched schedule_preempt_disabled(void): preempt_disable(); [ 0.039474] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.041147] thermal_sys: Registered thermal governor 'step_wise' [ 0.041281] cpuidle: using governor menu

Visa mer

Vi kollar vidare vad funktionen gör som anropas, men inte helt klart.

Klicka för mer information

static noinline void __init kernel_init_freeable(void) { /* Now the scheduler is fully set up and can do blocking allocations */ pr_info("gfp_allowed_mask = __GFP_BITS_MASK;"); gfp_allowed_mask = __GFP_BITS_MASK; /* * init can allocate pages on any node */ pr_info(" set_mems_allowed(node_states[N_MEMORY]);"); set_mems_allowed(node_states[N_MEMORY]); cad_pid = get_pid(task_pid(current)); smp_prepare_cpus(setup_max_cpus); workqueue_init(); init_mm_internals(); rcu_init_tasks_generic(); do_pre_smp_initcalls(); lockup_detector_init(); smp_init(); sched_init_smp(); padata_init(); page_alloc_init_late(); /* Initialize page ext after all struct pages are initialized. */ pr_info("if (!early_page_ext_enabled());"); <--- Denna anropas! if (!early_page_ext_enabled()) page_ext_init(); do_basic_setup(); pr_info("do_basic_setup();"); <--- Men inte denna! .. .. .. /* * Ok, we have completed the initial bootup, and * we're essentially up and running. Get rid of the * initmem segments and start the user-mode stuff.. * * rootfs is available now, try loading the public keys * and default modules */ integrity_load_keys(); pr_info("integrity_load_keys();"); }

Visa mer

Så det betyder att detta kan vara problemet

/* Initialize page ext after all struct pages are initialized. */ pr_info("if (!early_page_ext_enabled());"); <--- Denna anropas! if (!early_page_ext_enabled()) page_ext_init(); do_basic_setup(); pr_info("do_basic_setup();"); <--- Men inte denna!

Vi kollar vad funktionen early_page_ext_enabled som finns i include/linux/page_ext.h säger

extern bool early_page_ext; extern unsigned long page_ext_size; extern void pgdat_page_ext_init(struct pglist_data *pgdat); static inline bool early_page_ext_enabled(void) { return early_page_ext; }

Uppdaterar....
Edit:
Nu är jag här

static void __init do_basic_setup(void) { pr_info("static void __init do_basic_setup(void): Function call"); cpuset_init_smp(); pr_info("static void __init do_basic_setup(void): cpuset_init_smp();"); driver_init(); pr_info("static void __init do_basic_setup(void): driver_init();"); init_irq_proc(); pr_info("static void __init do_basic_setup(void): init_irq_proc();"); do_ctors(); pr_info("static void __init do_basic_setup(void): do_ctors();"); do_initcalls(); <--- Här är jag nu! pr_info("static void __init do_basic_setup(void): do_initcalls();"); }

Edit:
Nu är jag här

Klicka för mer information

static void __init do_initcalls(void) { pr_info("static void __init do_initcalls(void): Function call"); int level; size_t len = strlen(saved_command_line) + 1; char *command_line; command_line = kzalloc(len, GFP_KERNEL); pr_info("static void __init do_initcalls(void): command_line = kzalloc(len, GFP_KERNEL);"); if (!command_line) panic("%s: Failed to allocate %zu bytes\n", __func__, len); pr_info("static void __init do_initcalls(void): for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++) "); for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++) { /* Parser modifies command_line, restore it each time */ strcpy(command_line, saved_command_line); pr_info("static void __init do_initcalls(void): Calling do_initcall_level"); do_initcall_level(level, command_line); <----- Nu är jag här pr_info("static void __init do_initcalls(void): Calling do_initcall_level OK"); } pr_info("static void __init do_initcalls(void): kfree(command_line);"); kfree(command_line); pr_info("static void __init do_initcalls(void): kfree(command_line); OK"); }

Visa mer

Sedan här:

Klicka för mer information

static void __init do_initcall_level(int level, char *command_line) { initcall_entry_t *fn; pr_info("static void __init do_initcall_level(int level, char *command_line): Function call"); parse_args(initcall_level_names[level], command_line, __start___param, __stop___param - __start___param, level, level, NULL, ignore_unknown_bootoption); pr_info("static void __init do_initcall_level(int level, char *command_line): parse_args(initcall_level_names[level],"); trace_initcall_level(initcall_level_names[level]); pr_info("static void __init do_initcall_level(int level, char *command_line): trace_initcall_level"); for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++){ pr_info("static void __init do_initcall_level(int level, char *command_line): Calling do_one_initcall"); do_one_initcall(initcall_from_entry(fn)); <---- Här! } }

Visa mer

Sedan här

Klicka för mer information

int __init_or_module do_one_initcall(initcall_t fn) { int count = preempt_count(); char msgbuf[64]; int ret; pr_info("int __init_or_module do_one_initcall(initcall_t fn): Function call"); if (initcall_blacklisted(fn)) return -EPERM; do_trace_initcall_start(fn); pr_info("int __init_or_module do_one_initcall(initcall_t fn): do_trace_initcall_start"); ret = fn(); do_trace_initcall_finish(fn, ret); pr_info("int __init_or_module do_one_initcall(initcall_t fn): do_trace_initcall_finish"); msgbuf[0] = 0; pr_info("int __init_or_module do_one_initcall(initcall_t fn): if (preempt_count() != count) {"); if (preempt_count() != count) { sprintf(msgbuf, "preemption imbalance "); preempt_count_set(count); pr_info("int __init_or_module do_one_initcall(initcall_t fn): preempt_count_set"); } pr_info("int __init_or_module do_one_initcall(initcall_t fn): if (irqs_disabled()) {"); if (irqs_disabled()) { strlcat(msgbuf, "disabled interrupts ", sizeof(msgbuf)); local_irq_enable(); pr_info("int __init_or_module do_one_initcall(initcall_t fn): local_irq_enable();"); } WARN(msgbuf[0], "initcall %pS returned with %s\n", fn, msgbuf); add_latent_entropy(); pr_info("int __init_or_module do_one_initcall(initcall_t fn): add_latent_entropy();"); return ret; <--- Denna funktion retunerar }

Visa mer

Men som du ser så är funktionen iterativ och anropas flera gånger. Sista meddelandet är

pr_info("int __init_or_module do_one_initcall(initcall_t fn): do_trace_initcall_start"); <--- Denna ret = fn(); do_trace_initcall_finish(fn, ret); pr_info("int __init_or_module do_one_initcall(initcall_t fn): do_trace_initcall_finish");

Uppdaterar mera....

Permalänk
Medlem

Jag har en tanke på att prova att slå av CONFIG_PREEMPT=y när du närmar dig orsaken. Det blir enklare för din kärna. Nu tillåts den få interupt för att "göra andra saker" mitt i kernel-körningen. Visserligen så skall preemption vara avstångt när den gör känsliga saker (som att initiera hårdvara), men man vet ju aldrig.. (I princip kan avsaknaden av en utskrift vara ett interupt som far iväg och fastnar någon annan stans.)
Bara en tanke, igen Många bollar på väg mot mål!
https://en.wikipedia.org/wiki/Kernel_preemption
https://cateee.net/lkddb/web-lkddb/PREEMPT.html

Permalänk
Skrivet av mc68000:

Jag har en tanke på att prova att slå av CONFIG_PREEMPT=y när du närmar dig orsaken. Det blir enklare för din kärna. Nu tillåts den få interupt för att "göra andra saker" mitt i kernel-körningen. Visserligen så skall preemption vara avstångt när den gör känsliga saker (som att initiera hårdvara), men man vet ju aldrig.. (I princip kan avsaknaden av en utskrift vara ett interupt som far iväg och fastnar någon annan stans.)
Bara en tanke, igen Många bollar på väg mot mål!
https://en.wikipedia.org/wiki/Kernel_preemption
https://cateee.net/lkddb/web-lkddb/PREEMPT.html

Jag testar detta i build/.config

CONFIG_PREEMPT_BUILD=n # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=n CONFIG_PREEMPT_COUNT=n CONFIG_PREEMPTION=n

Permalänk

Nej du! Tror jag måste ändra tillbaka som det var (=y) för nu fungerar det inte boota alls

Klicka för mer information

switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /mmc0_extlinux/extlinux.conf Retrieving file: /mmc0_extlinux/extlinux.conf 1: UUID Retrieving file: /uImage Retrieving file: /uInitrd append: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200 loglevel=15 earlyprintk debug Retrieving file: /stm32mp151a-stm32-computer-firmware-mx.dtb ## Booting kernel from Legacy Image at c2000000 ... Image Name: Linux-6.1.82 Created: 2024-09-01 17:49:49 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 7991808 Bytes = 7.6 MiB Load Address: c2000040 Entry Point: c2000040 Verifying Checksum ... OK ## Flattened Device Tree blob at c6000000 Booting using the fdt blob at 0xc6000000 XIP Kernel Image Loading Ramdisk to cfa0b000, end cffff31a ... OK Loading Device Tree to cf9f4000, end cfa0a4a9 ... OK D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 0 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 0 bsec_read_mem:86 Read shadow 1 val: 0x802f F/TC:? 0 bsec_read_mem:148 Buffer orig 0xdbc01808, size 4 D/TC:? 0 tee_ta_close_session:451 csess 0xde051270 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 0 plat_prng_add_jitter_entropy:73 0x09 F/TC:? 0 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 0 bsec_read_mem:86 Read shadow 1 val: 0x802f F/TC:? 0 bsec_read_mem:148 Buffer orig 0xdbc017d8, size 4 D/TC:? 0 tee_ta_close_session:451 csess 0xde051270 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 0 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 0 bsec_read_mem:86 Read shadow 16 val: 0x1355761f F/TC:? 0 bsec_read_mem:148 Buffer orig 0xdbc017e0, size 4 D/TC:? 0 tee_ta_close_session:451 csess 0xde051270 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 0 plat_prng_add_jitter_entropy:73 0xC7 F/TC:? 0 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 0 bsec_read_mem:86 Read shadow 16 val: 0x1355761f F/TC:? 0 bsec_read_mem:148 Buffer orig 0xdbc01810, size 4 D/TC:? 0 tee_ta_close_session:451 csess 0xde051270 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session Starting kernel ... D/TC:0 pwr_scv_handler:56 PWR service: write 0x0 at offset 0x28 F/TC:0 pwr_scv_handler:72 wrt off 28=0 => 0 D/TC:0 pwr_scv_handler:56 PWR service: set 0x3f at offset 0x20 F/TC:0 pwr_scv_handler:77 set off 20=3f => 0 D/TC:0 tee_entry_exchange_capabilities:101 Asynchronous notifications are disabled D/TC:0 tee_entry_exchange_capabilities:110 Dynamic shared memory is enabled D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 7011a688-ddde-4053-a5a9-7b3c4ddf13b8 D/TC:? 0 tee_ta_close_session:451 csess 0xde051208 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA a8cfe406-d4f5-4a2e-9f8d-a25dc754c099 F/TC:? 0 plat_prng_add_jitter_entropy:73 0xDD F/TC:? 0 pta_scmi_invoke_command:390 SCMI command 0 ptypes 0x2 D/TC:? 0 tee_ta_close_session:451 csess 0xde051208 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 D/TC:? 0 tee_ta_close_session:451 csess 0xde051208 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA a8cfe406-d4f5-4a2e-9f8d-a25dc754c099 F/TC:? 0 plat_prng_add_jitter_entropy:73 0x9A F/TC:? 0 pta_scmi_invoke_command:390 SCMI command 0x3 ptypes 0x3 F/TC:? 0 pta_scmi_invoke_command:390 SCMI command 0x801 ptypes 0x651 F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u D/TC:? 1 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 1 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 1 bsec_read_mem:86 Read shadow 1 val: 0x802f F/TC:? 1 bsec_read_mem:148 Buffer orig 0xdbc03004, size 4 D/TC:? 1 tee_ta_close_session:451 csess 0xde051070 id 2 D/TC:? 1 tee_ta_close_session:470 Destroy session F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 stm32_etzpc_has_access:393 Check Access 7 - attr 3 - requested 3 F/TC:? 0 plat_scmi_rd_set_state:588 SCMI reset 8 set F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 stm32_etzpc_has_access:393 Check Access 7 - attr 3 - requested 3 F/TC:? 0 plat_scmi_rd_set_state:591 SCMI reset 8 release F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u

Visa mer

Edit:
Jag testade att ändra tillbaka, men nu anropas inte ens funktionen start_kernel.

Det låter som att det är något interruptproblem här!
Jag tror jag måste nollställa builden och kompilera om igen med standard .config

Permalänk

Okej. Jag gjorde om ALLT från början. Tog bort hela linuxkällkoden och tankade ned nytt. Kompilerade med samma kommandon och satte ut samma pr_info-meddelanden.

Det problem som jag har nu är att min buffert är full

F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:472 SCMI clock 8 disable F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u ** 7952 printk messages dropped ** [ 0.665947] int __init_or_module do_one_initcall(initcall_t fn): add_latent_entropy(); OK [ 0.665952] static void __init do_initcall_level(int level, char *command_line): do_one_initcall(initcall_from_entry(fn)); OK [ 0.665958] static void __init do_initcall_level(int level, char *command_line): do_one_initcall(initcall_from_entry(fn)); [ 0.665964] int __init_or_module do_one_initcall(initcall_t fn): int count = preempt_count(); [ 0.665969] int __init_or_module do_one_initcall(initcall_t fn): ret = initcall_blacklisted(fn) [ 0.665975] int __init_or_module do_one_initcall(initcall_t fn): ret = initcall_blacklisted(fn); OK [ 0.665980] int __init_or_module do_one_initcall(initcall_t fn): do_trace_initcall_start(fn);

Jag har loglevel=8.
Jag använder pr_info för att skriva ut saker.

Permalänk

Nu fixade jag till så jag kunde se alla meddelanden. Även dom jag inte har sett tidigare. Skumma igenom dom.
Allt finns här

Klicka för mer information

Retrieving file: /uInitrd append: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200 loglevel=8 earlyprintk debug log_buf_len=4M Retrieving file: /stm32mp151a-stm32-computer-firmware-mx.dtb ## Booting kernel from Legacy Image at c2000000 ... Image Name: Linux-6.1.82 Created: 2024-09-01 22:39:21 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 8249856 Bytes = 7.9 MiB Load Address: c2000040 Entry Point: c2000040 Verifying Checksum ... OK ## Flattened Device Tree blob at c6000000 Booting using the fdt blob at 0xc6000000 XIP Kernel Image Loading Ramdisk to cfa0b000, end cffff31a ... OK Loading Device Tree to cf9f4000, end cfa0a4a9 ... OK D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 0 plat_prng_add_jitter_entropy:73 0x5E F/TC:? 0 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 0 bsec_read_mem:86 Read shadow 1 val: 0x802f F/TC:? 0 bsec_read_mem:148 Buffer orig 0xdbc01ba0, size 4 D/TC:? 0 tee_ta_close_session:451 csess 0xde051270 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 0 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 0 bsec_read_mem:86 Read shadow 1 val: 0x802f F/TC:? 0 bsec_read_mem:148 Buffer orig 0xdbc01b70, size 4 D/TC:? 0 tee_ta_close_session:451 csess 0xde051270 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 0 plat_prng_add_jitter_entropy:73 0x73 F/TC:? 0 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 0 bsec_read_mem:86 Read shadow 16 val: 0x1355761f F/TC:? 0 bsec_read_mem:148 Buffer orig 0xdbc01b78, size 4 D/TC:? 0 tee_ta_close_session:451 csess 0xde051270 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 0 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 0 bsec_read_mem:86 Read shadow 16 val: 0x1355761f F/TC:? 0 bsec_read_mem:148 Buffer orig 0xdbc01ba8, size 4 D/TC:? 0 tee_ta_close_session:451 csess 0xde051270 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session Starting kernel ... D/TC:0 pwr_scv_handler:56 PWR service: write 0x0 at offset 0x28 F/TC:0 pwr_scv_handler:72 wrt off 28=0 => 0 D/TC:0 pwr_scv_handler:56 PWR service: set 0x3f at offset 0x20 F/TC:0 pwr_scv_handler:77 set off 20=3f => 0 D/TC:0 tee_entry_exchange_capabilities:101 Asynchronous notifications are disabled D/TC:0 tee_entry_exchange_capabilities:110 Dynamic shared memory is enabled D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 7011a688-ddde-4053-a5a9-7b3c4ddf13b8 F/TC:? 0 plat_prng_add_jitter_entropy:73 0x9F D/TC:? 0 tee_ta_close_session:451 csess 0xde051208 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA a8cfe406-d4f5-4a2e-9f8d-a25dc754c099 F/TC:? 0 pta_scmi_invoke_command:390 SCMI command 0 ptypes 0x2 D/TC:? 0 tee_ta_close_session:451 csess 0xde051208 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 0 plat_prng_add_jitter_entropy:73 0xE8 D/TC:? 0 tee_ta_close_session:451 csess 0xde051208 id 1 D/TC:? 0 tee_ta_close_session:470 Destroy session D/TC:? 0 tee_ta_init_session_with_context:549 Re-open TA a8cfe406-d4f5-4a2e-9f8d-a25dc754c099 F/TC:? 0 pta_scmi_invoke_command:390 SCMI command 0x3 ptypes 0x3 F/TC:? 0 pta_scmi_invoke_command:390 SCMI command 0x801 ptypes 0x651 F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u D/TC:? 1 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 1 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 1 bsec_read_mem:86 Read shadow 1 val: 0x802f F/TC:? 1 bsec_read_mem:148 Buffer orig 0xdbc03004, size 4 F/TC:? 1 plat_prng_add_jitter_entropy:73 0x13 D/TC:? 1 tee_ta_close_session:451 csess 0xde051070 id 2 D/TC:? 1 tee_ta_close_session:470 Destroy session F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 stm32_etzpc_has_access:393 Check Access 7 - attr 3 - requested 3 F/TC:? 0 plat_scmi_rd_set_state:588 SCMI reset 8 set F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 stm32_etzpc_has_access:393 Check Access 7 - attr 3 - requested 3 F/TC:? 0 plat_scmi_rd_set_state:591 SCMI reset 8 release F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:472 SCMI clock 8 disable F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): Start kernel [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): set_task_stack_end_magic [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): smp_setup_processor_id [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): debug_objects_early_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): init_vmlinux_build_id [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): cgroup_init_early [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): local_irq_disable [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): boot_cpu_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): page_address_init [ 0.000000] Linux version 6.1.82 (lubuntu@lubuntu-20bg001kms) (arm-ostl-linux-gnueabi-gcc (GCC) 12.3.0, GNU ld (GNU Binutils) 2.40.0.20230703) #5 PREEMPT Mon Sep 2 00:35:47 CEST 2024 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): early_security_init [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.1-yocto-mickledore-mpu-v24.06.26 [ 0.000000] Memory policy: Data cache writeback [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created DMA memory pool at 0x10000000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node mcuram2@10000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10040000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node vdev0vring0@10040000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10041000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node vdev0vring1@10041000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10042000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node vdev0buffer@10042000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10048000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node mcu-rsc-table@10048000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x30000000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node mcuram@30000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x38000000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node retram@38000000, compatible id shared-dma-pool [ 0.000000] cma: Reserved 64 MiB at 0xda000000 [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000c0000000-0x00000000ddffffff] [ 0.000000] HighMem [mem 0x00000000de000000-0x00000000dfffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000c0000000-0x00000000ddffffff] [ 0.000000] node 0: [mem 0x00000000de000000-0x00000000dfffffff] [ 0.000000] Initmem setup node 0 [mem 0x00000000c0000000-0x00000000dfffffff] [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.0 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.1 [ 0.000000] CPU: All CPU(s) started in SVC mode. [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_arch [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_boot_config [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_command_line [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_nr_cpu_ids [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_per_cpu_areas [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): smp_prepare_boot_cpu [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): boot_cpu_hotplug_init [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129992 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): build_all_zonelists [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): page_alloc_init [ 0.000000] Kernel command line: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200 loglevel=8 earlyprintk debug log_buf_len=4M [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): jump_label_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): parse_early_param [ 0.000000] Unknown kernel command line parameters "earlyprintk", will be passed to user space. [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): print_unknown_bootoptions [ 0.000000] printk: log_buf_len: 4194304 bytes [ 0.000000] printk: early log buf free: 60560(92%) [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_log_buf [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear) [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): vfs_caches_init_early [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): sort_main_extable [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): trap_init [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off [ 0.000000] Memory: 377452K/524288K available (12288K kernel code, 1393K rwdata, 3824K rodata, 1024K init, 223K bss, 81300K reserved, 65536K cma-reserved, 0K highmem) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): mm_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): poking_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): ftrace_init [ 0.000000] trace event string verifier disabled [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): early_trace_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): radix_tree_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): maple_tree_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): housekeeping_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): workqueue_init_early [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): rcu_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): trace_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): context_tracking_init [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): early_irq_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): init_IRQ [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): tick_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): rcu_init_nohz [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): init_timers [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): srcu_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): hrtimers_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): softirq_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): timekeeping_init [ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns [ 0.000001] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns [ 0.000021] Switching to timer-based delay loop, resolution 41ns [ 0.000853] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): time_init [ 0.000866] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): random_init [ 0.001198] Console: colour dummy device 80x30 [ 0.001256] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) [ 0.001279] CPU: Testing write buffer coherency: ok [ 0.001349] pid_max: default: 32768 minimum: 301 [ 0.001638] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.001665] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.002460] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): proc_root_init [ 0.002530] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): cpuset_init [ 0.002850] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): kcsan_init [ 0.003227] static int __ref kernel_init(void *unused): wait_for_completion(&kthreadd_done); [ 0.003240] static int __ref kernel_init(void *unused): kernel_init_freeable(); [ 0.004471] cblist_init_generic: Setting adjustable number of callback queues. [ 0.004490] cblist_init_generic: Setting shift to 0 and lim to 1. [ 0.004676] cblist_init_generic: Setting adjustable number of callback queues. [ 0.004687] cblist_init_generic: Setting shift to 0 and lim to 1. [ 0.004894] Setting up static identity map for 0xc0100000 - 0xc0100060 [ 0.005101] rcu: Hierarchical SRCU implementation. [ 0.005110] rcu: Max phase no-delay instances is 1000. [ 0.006259] EFI services will not be available. [ 0.006364] static noinline void __init kernel_init_freeable(void): do_basic_setup(); [ 0.007009] devtmpfs: initialized [ 0.029066] static void __init do_basic_setup(void): do_initcalls(); [ 0.029090] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.029223] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.029230] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.029662] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.029674] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.029681] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.029771] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.029776] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.029852] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [ 0.030194] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.030228] futex hash table entries: 256 (order: -1, 3072 bytes, linear) [ 0.033593] pinctrl core: initialized pinctrl subsystem [ 0.035090] DMI not present or invalid. [ 0.036414] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.036537] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.036547] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.036554] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.036682] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.036689] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.039214] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.040873] thermal_sys: Registered thermal governor 'step_wise' [ 0.041002] cpuidle: using governor menu [ 0.041190] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.041198] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.041205] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.041322] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.041329] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.041368] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.041383] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.041758] Serial: AMBA PL011 UART driver [ 0.044750] stm32-pm-domain pm_domain: domain core-ret-power-domain registered [ 0.044786] stm32-pm-domain pm_domain: subdomain core-power-domain registered [ 0.044799] stm32-pm-domain pm_domain: domains probed [ 0.080119] platform 5a001000.display-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39 [ 0.082976] platform 4000b000.audio-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39 [ 0.091159] platform connector: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39 [ 0.091870] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.091881] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.091889] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.092017] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.092024] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.108605] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible. [ 0.131744] SCSI subsystem initialized [ 0.132196] libata version 3.00 loaded. [ 0.132639] usbcore: registered new interface driver usbfs [ 0.132714] usbcore: registered new interface driver hub [ 0.132779] usbcore: registered new device driver usb [ 0.133275] pps_core: LinuxPPS API ver. 1 registered [ 0.133288] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.133319] PTP clock support registered [ 0.133592] EDAC MC: Ver: 3.0.0 [ 0.134642] Driver 'scmi-optee' was unable to register with bus_type 'tee' because the bus was not initialized. [ 0.146835] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.146853] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.146860] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.146988] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.146995] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.147169] clocksource: Switched to clocksource arch_sys_counter [ 0.162743] NET: Registered PF_INET protocol family [ 0.163118] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.177901] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.177952] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.177980] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear) [ 0.178040] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.178131] TCP: Hash tables configured (established 4096 bind 4096) [ 0.178269] UDP hash table entries: 256 (order: 0, 4096 bytes, linear) [ 0.178308] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear) [ 0.178619] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.179429] RPC: Registered named UNIX socket transport module. [ 0.179447] RPC: Registered udp transport module. [ 0.179454] RPC: Registered tcp transport module. [ 0.179459] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.179489] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.179496] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.179503] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.179632] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.179638] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.180049] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available [ 0.182112] Initialise system trusted keyrings [ 0.182715] workingset: timestamp_bits=14 max_order=17 bucket_order=3 [ 0.187651] Trying to unpack rootfs image as initramfs... [ 0.204379] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.227974] NFS: Registering the id_resolver key type [ 0.228078] Key type id_resolver registered [ 0.228087] Key type id_legacy registered [ 0.228262] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.228275] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 0.228452] ntfs: driver 2.1.32 [Flags: R/O]. [ 0.228751] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. [ 0.229477] fuse: init (API version 7.37) [ 0.230563] NET: Registered PF_ALG protocol family [ 0.230585] Key type asymmetric registered [ 0.230593] Asymmetric key parser 'x509' registered [ 0.230860] bounce: pool size: 64 pages [ 0.231048] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246) [ 0.231064] io scheduler mq-deadline registered [ 0.231075] io scheduler kyber registered [ 0.260719] STM32 USART driver initialized [ 0.322087] brd: module loaded [ 0.351705] loop: module loaded [ 0.369956] CAN device driver interface [ 0.372117] pegasus: Pegasus/Pegasus II USB Ethernet driver [ 0.372205] usbcore: registered new interface driver pegasus [ 0.372280] usbcore: registered new interface driver asix [ 0.372336] usbcore: registered new interface driver ax88179_178a [ 0.372392] usbcore: registered new interface driver cdc_ether [ 0.372463] usbcore: registered new interface driver smsc75xx [ 0.372547] usbcore: registered new interface driver smsc95xx [ 0.372606] usbcore: registered new interface driver net1080 [ 0.372663] usbcore: registered new interface driver cdc_subset [ 0.372718] usbcore: registered new interface driver zaurus [ 0.372846] usbcore: registered new interface driver cdc_ncm [ 0.388136] usbcore: registered new interface driver usb-storage [ 0.388387] usbcore: registered new device driver onboard-usb-hub [ 0.399217] i2c_dev: i2c /dev entries driver [ 0.402402] cpu cpu0: _of_add_opp_table_v2: no supported OPPs [ 0.402477] cpu cpu0: OPP table can't be empty [ 0.427408] sdhci: Secure Digital Host Controller Interface driver [ 0.427427] sdhci: Copyright(c) Pierre Ossman [ 0.427433] Synopsys Designware Multimedia Card Interface Driver [ 0.427980] sdhci-pltfm: SDHCI platform and OF driver helper [ 0.428919] ledtrig-cpu: registered to indicate activity on CPUs [ 0.429443] usbcore: registered new interface driver usbhid [ 0.429455] usbhid: USB HID core driver [ 0.433334] optee: probing for conduit method. [ 0.433370] optee: revision 3.19 (0f6e5b02) [ 0.488074] optee: dynamic shared memory is enabled [ 0.547441] optee: initialized driver [ 0.548756] NET: Registered PF_PACKET protocol family [ 0.548779] can: controller area network core [ 0.549069] NET: Registered PF_CAN protocol family [ 0.549087] can: raw protocol [ 0.549100] can: broadcast manager protocol [ 0.549115] can: netlink gateway - max_hops=1 [ 0.557913] Key type dns_resolver registered [ 0.557937] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.557943] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.557950] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.558078] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.558085] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.558120] ThumbEE CPU extension supported. [ 0.558142] Registering SWP/SWPB emulation handler [ 0.558797] registered taskstats version 1 [ 0.558854] Loading compiled-in X.509 certificates [ 1.385103] Freeing initrd memory: 6100K [ 1.416893] Loaded X.509 cert 'Build time autogenerated kernel key: 96c9d5901f398595f8d0147113c422cf9d80a5c4' [ 1.603354] arm-scmi firmware:scmi: Enabled polling mode TX channel - prot_id:16 [ 1.603620] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled. [ 1.662635] arm-scmi firmware:scmi: SCMI Protocol v2.0 'ST:' Firmware version 0x0 [ 1.751744] sysfs: cannot create duplicate filename '/devices/platform/cpufreq-dt' [ 1.751770] CPU: 0 PID: 33 Comm: kworker/u2:2 Not tainted 6.1.82 #5 [ 1.751792] Hardware name: STM32 (Device Tree Support) [ 1.751804] Workqueue: events_unbound deferred_probe_work_func [ 1.751861] unwind_backtrace from show_stack+0x10/0x14 [ 1.751898] show_stack from dump_stack_lvl+0x24/0x2c [ 1.751934] dump_stack_lvl from sysfs_warn_dup+0x58/0x64 [ 1.751977] sysfs_warn_dup from sysfs_create_dir_ns+0xf4/0x104 [ 1.752016] sysfs_create_dir_ns from create_dir+0x1c/0x150 [ 1.752059] create_dir from kobject_add_internal+0xac/0x1f4 [ 1.752098] kobject_add_internal from kobject_add+0x60/0xc4 [ 1.752138] kobject_add from device_add+0xcc/0x6d4 [ 1.752179] device_add from platform_device_add+0x100/0x244 [ 1.752212] platform_device_add from platform_device_register_full+0x108/0x158 [ 1.752244] platform_device_register_full from stm32_cpufreq_probe+0xfc/0x19c [ 1.752283] stm32_cpufreq_probe from platform_probe+0x5c/0xb0 [ 1.752315] platform_probe from really_probe+0xe0/0x40c [ 1.752341] really_probe from __driver_probe_device+0x9c/0x130 [ 1.752363] __driver_probe_device from driver_probe_device+0x30/0xc0 [ 1.752386] driver_probe_device from __device_attach_driver+0xa8/0x120 [ 1.752410] __device_attach_driver from bus_for_each_drv+0x88/0xd4 [ 1.752441] bus_for_each_drv from __device_attach+0xa8/0x1ec [ 1.752471] __device_attach from bus_probe_device+0x84/0x8c [ 1.752502] bus_probe_device from deferred_probe_work_func+0x8c/0xd4 [ 1.752543] deferred_probe_work_func from process_one_work+0x1d0/0x4c8 [ 1.752583] process_one_work from worker_thread+0x21c/0x580 [ 1.752614] worker_thread from kthread+0xd8/0xf4 [ 1.752643] kthread from ret_from_fork+0x14/0x28 [ 1.752666] Exception stack(0xde8b1fb0 to 0xde8b1ff8) [ 1.752680] 1fa0: 00000000 00000000 00000000 00000000 [ 1.752695] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 1.752709] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 1.752721] kobject_add_internal failed for cpufreq-dt with -EEXIST, don't try to register things with the same name in the same directory. [ 2.957289] random: crng init done [ 3.049169] stm32-dma 48000000.dma-controller: STM32 DMA driver registered [ 3.057242] 8<--- cut here --- [ 3.057257] Unhandled fault: imprecise external abort (0x1c06) at 0xdeb10588 [ 3.057272] [deb10588] *pgd=c3487811, *pte=c348f24f, *ppte=c348f01f [ 3.057310] Internal error: : 1c06 [#1] PREEMPT ARM [ 3.057323] Modules linked in: [ 3.057334] CPU: 0 PID: 9 Comm: kworker/u2:0 Not tainted 6.1.82 #5 [ 3.057348] Hardware name: STM32 (Device Tree Support) [ 3.057357] Workqueue: eval_map_wq eval_map_work_func [ 3.057385] PC is at update_event_printk+0x148/0x1c0 [ 3.057413] LR is at update_event_printk+0x8c/0x1c0 [ 3.057434] pc : [<c01e2914>] lr : [<c01e2858>] psr: 20000053 [ 3.057445] sp : de831ee8 ip : 00000043 fp : 0000014c [ 3.057454] r10: 000002d4 r9 : c13b9118 r8 : 00000014 [ 3.057463] r7 : 00000000 r6 : c123ef44 r5 : c0e4b56c r4 : c1393030 [ 3.057473] r3 : 00000001 r2 : c1393030 r1 : c1393027 r0 : ffffffff [ 3.057484] Flags: nzCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment none [ 3.057497] Control: 10c5387d Table: c293c059 DAC: 00000051 [ 3.057503] Register r0 information: non-paged memory [ 3.057516] Register r1 information: non-slab/vmalloc memory [ 3.057529] Register r2 information: non-slab/vmalloc memory [ 3.057540] Register r3 information: non-paged memory [ 3.057550] Register r4 information: non-slab/vmalloc memory [ 3.057560] Register r5 information: non-slab/vmalloc memory [ 3.057571] Register r6 information: non-slab/vmalloc memory [ 3.057581] Register r7 information: NULL pointer [ 3.057591] Register r8 information: non-paged memory [ 3.057601] Register r9 information: non-slab/vmalloc memory [ 3.057612] Register r10 information: non-paged memory [ 3.057623] Register r11 information: non-paged memory [ 3.057633] Register r12 information: non-paged memory [ 3.057643] Process kworker/u2:0 (pid: 9, stack limit = 0x(ptrval)) [ 3.057655] Stack: (0xde831ee8 to 0xde832000) [ 3.057671] 1ee0: 00000175 c124cb70 c13b90cc c0d32eb4 c13513f0 c01e6c00 [ 3.057688] 1f00: de831f24 c124c598 c1a3e780 c123c7fc c1803780 c142e560 c180f200 00000000 [ 3.057704] 1f20: c18cc200 c180f205 c1805400 c013dcb4 c1805444 c18cc200 c1805400 c1803780 [ 3.057721] 1f40: c1805400 c1803798 c1805418 c13468e0 c18cc200 00000088 c1805400 c013dff0 [ 3.057737] 1f60: de811ee8 c13468e0 60000053 c1896940 c1896e80 c18cc200 de811ee8 c013dfac [ 3.057753] 1f80: c1803780 00000000 00000000 c01450f0 c1896940 c0145018 00000000 00000000 [ 3.057768] 1fa0: 00000000 00000000 00000000 c010014c 00000000 00000000 00000000 00000000 [ 3.057783] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 3.057798] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 [ 3.057818] update_event_printk from trace_event_eval_update+0xb4/0xf8 [ 3.057856] trace_event_eval_update from process_one_work+0x1d0/0x4c8 [ 3.057890] process_one_work from worker_thread+0x44/0x580 [ 3.057922] worker_thread from kthread+0xd8/0xf4 [ 3.057953] kthread from ret_from_fork+0x14/0x28 [ 3.057976] Exception stack(0xde831fb0 to 0xde831ff8) [ 3.057989] 1fa0: 00000000 00000000 00000000 00000000 [ 3.058005] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 3.058018] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 3.058036] Code: e7f43002 e3530000 08bd81f0 e1a02004 (e5f4c001) [ 3.058045] ---[ end trace 0000000000000000 ]--- [ 3.058053] note: kworker/u2:0[9] exited with irqs disabled [ 3.070326] stm32-mdma 58000000.dma-controller: STM32 MDMA driver registered [ 3.077394] /soc/interrupt-controller@5000d000: bank0 [ 3.077432] /soc/interrupt-controller@5000d000: bank1 [ 3.077450] /soc/interrupt-controller@5000d000: bank2 [ 3.099739] stm32_rtc 5c004000.rtc: registered as rtc0 [ 3.099786] stm32_rtc 5c004000.rtc: setting system clock to 2000-01-01T00:00:17 UTC (946684817) [ 3.100064] stm32_rtc 5c004000.rtc: Date/Time must be initialized [ 3.100080] stm32_rtc 5c004000.rtc: registered rev:1.2 [ 3.103399] stm32-rproc 10000000.m4: wdg irq registered [ 3.103688] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property [ 3.103709] remoteproc remoteproc0: cannot get vq0 mbox [ 3.103720] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property [ 3.103730] remoteproc remoteproc0: cannot get vq1 mbox [ 3.103739] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property [ 3.103749] remoteproc remoteproc0: cannot get shutdown mbox [ 3.103759] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property [ 3.103769] remoteproc remoteproc0: cannot get detach mbox [ 3.103914] remoteproc remoteproc0: m4 is available [ 3.107578] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOA bank added [ 3.108258] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOB bank added [ 3.108916] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOC bank added [ 3.109508] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOD bank added [ 3.110230] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOE bank added [ 3.110881] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOF bank added [ 3.111618] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOG bank added [ 3.112269] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOH bank added [ 3.112898] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOI bank added [ 3.112945] stm32mp157-pinctrl soc:pinctrl@50002000: Pinctrl STM32 initialized [ 3.114667] stm32mp157-pinctrl soc:pinctrl@54004000: error -ENOENT: failed to get clk [ 3.114692] stm32mp157-pinctrl: probe of soc:pinctrl@54004000 failed with error -2 [ 3.122843] stm32-usart 40010000.serial: interrupt mode for rx (no dma) [ 3.122866] stm32-usart 40010000.serial: interrupt mode for tx (no dma) [ 3.122898] 40010000.serial: ttySTM0 at MMIO 0x40010000 (irq = 33, base_baud = 4000000) is a stm32-usart [ 5.915038] printk: console [ttySTM0] enabled [ 5.925148] stm32-dwmac 5800a000.ethernet: IRQ eth_lpi not found D/TC:? 1 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 1 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 1 bsec_read_mem:86 Read shadow 57 val: 0 F/TC:? 1 bsec_read_mem:86 Read shadow 58 val: 0 F/TC:? 1 bsec_read_mem:148 Buffer orig 0xdbc03008, size 8 D/TC:? 1 tee_ta_close_session:451 csess 0xde051070 id 2 D/TC:? 1 tee_ta_close_session:470 Destroy session F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:466 SCMI clock 8 enable [ 5.980429] stm32-dwmac 5800a000.ethernet: User ID: 0x40, Synopsys ID: 0x42 [ 5.986033] stm32-dwmac 5800a000.ethernet: DWMAC4/5 [ 5.991069] stm32-dwmac 5800a000.ethernet: DMA HW capability register supported [ 5.998262] stm32-dwmac 5800a000.ethernet: RX Checksum Offload Engine supported [ 6.005638] stm32-dwmac 5800a000.ethernet: TX Checksum insertion supported [ 6.012539] stm32-dwmac 5800a000.ethernet: Wake-Up On Lan supported [ 6.018865] stm32-dwmac 5800a000.ethernet: TSO supported [ 6.024029] stm32-dwmac 5800a000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 6.032002] stm32-dwmac 5800a000.ethernet: device MAC address 26:55:31:ea:0d:c4 [ 6.039203] stm32-dwmac 5800a000.ethernet: Enabled L3L4 Flow TC (entries=2) [ 6.046179] stm32-dwmac 5800a000.ethernet: Enabled RFS Flow TC (entries=10) [ 6.053173] stm32-dwmac 5800a000.ethernet: TSO feature enabled [ 6.058949] stm32-dwmac 5800a000.ethernet: Using 32/32 bits DMA host/device width [ 6.100007] stm32f7-i2c 40012000.i2c: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers [ 6.108091] stm32f7-i2c 40012000.i2c: STM32F7 I2C-0 bus adapter F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 stm32_etzpc_has_access:393 Check Access 5 - attr 3 - requested 3 F/TC:? 0 plat_scmi_rd_set_state:588 SCMI reset 1 set F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 stm32_etzpc_has_access:393 Check Access 5 - attr 3 - requested 3 F/TC:? 0 plat_scmi_rd_set_state:591 SCMI reset 1 release F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u [ 6.181575] platform 4000b000.audio-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39 [ 6.192215] platform 5a001000.display-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39 [ 6.204189] i2c 1-0039: Fixed dependency cycle(s) with /soc/etzpc@5c007000/audio-controller@4000b000 [ 6.213520] i2c 1-0039: Fixed dependency cycle(s) with /soc/display-controller@5a001000 [ 6.223011] stpmic1 1-0033: PMIC Chip Version: 0x21 D/TC:0 pwr_scv_handler:56 PWR service: write 0x100 at offset 0x20 F/TC:0 pwr_scv_handler:72 wrt off 20=100 => 100 D/TC:0 pwr_scv_handler:56 PWR service: set 0x1 at offset 0x28 F/TC:0 pwr_scv_handler:77 set off 28=1 => 1 D/TC:0 pwr_scv_handler:56 PWR service: set 0x1 at offset 0x20 F/TC:0 pwr_scv_handler:77 set off 20=1 => 100 [ 6.259181] platform 5c002000.i2c:stpmic@33:regulators: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/stpmic@33/regulators/buck4 [ 6.270995] platform 5c002000.i2c:stpmic@33:regulators: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/stpmic@33/regulators/buck2 [ 6.315681] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033 [ 6.324680] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033 [ 6.334908] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033 [ 6.345129] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033 [ 6.355804] stm32f7-i2c 5c002000.i2c: STM32F7 I2C-1 bus adapter [ 6.372866] mmci-pl18x 58007000.mmc: mmc0: PL180 manf 53 rev2 at 0x58007000 irq 45,0 (pio) [ 6.386019] i2c i2c-1: Added multiplexed i2c bus 2 [ 6.392199] input: pmic_onkey as /devices/platform/soc/5c007000.etzpc/5c002000.i2c/i2c-1/1-0033/5c002000.i2c:stpmic@33:onkey/input/input0 D/TC:0 pwr_scv_handler:56 PWR service: set 0x40000000 at offset 0xc F/TC:0 pwr_scv_handler:77 set off c=40000000 => 40000000 D/TC:0 pwr_scv_handler:56 PWR service: set 0x10000000 at offset 0xc F/TC:0 pwr_scv_handler:77 set off c=10000000 => d0000000 D/TC:0 pwr_scv_handler:56 PWR service: clear 0x10000000 at offset 0xc F/TC:0 pwr_scv_handler:82 clr off c=10000000 => c0000000 D/TC:0 pwr_scv_handler:56 PWR service: clear 0x40000000 at offset 0xc F/TC:0 pwr_scv_handler:82 clr off c=40000000 => 0 [ 6.454522] stm32-usbphyc 5a006000.usbphyc: registered rev:1.0 [ 6.465630] [drm] Initialized stm 1.0.0 20170330 for 5a001000.display-controller on minor 0 [ 6.474411] dwc2 49000000.usb-otg: supply vusb_d not found, using dummy regulator [ 6.480906] dwc2 49000000.usb-otg: supply vusb_a not found, using dummy regulator D/TC:0 pwr_scv_handler:56 PWR service: set 0x40000000 at offset 0xc F/TC:0 pwr_scv_handler:77 set off c=40000000 => 40000000 D/TC:0 pwr_scv_handler:56 PWR service: set 0x10000000 at offset 0xc F/TC:0 pwr_scv_handler:77 set off c=10000000 => d0000000 F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:472 SCMI clock 13 disable F/TC:0 0 __clk_disable:1187 Clock 140 has been disabled [ 6.530861] dwc2 49000000.usb-otg: EPs: 9, dedicated fifos, 952 entries in SPRAM F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:466 SCMI clock 13 enable F/TC:0 0 __clk_enable:1174 Clock 140 has been enabled D/TC:0 pwr_scv_handler:56 PWR service: clear 0x10000000 at offset 0xc F/TC:0 pwr_scv_handler:82 clr off c=10000000 => c0000000 D/TC:0 pwr_scv_handler:56 PWR service: clear 0x40000000 at offset 0xc F/TC:0 pwr_scv_handler:82 clr off c=40000000 => 0 D/TC:0 pwr_scv_handler:56 PWR service: set 0x40000000 at offset 0xc F/TC:0 pwr_scv_handler:77 set off c=40000000 => 40000000 D/TC:0 pwr_scv_handler:56 PWR service: set 0x10000000 at offset 0xc F/TC:0 pwr_scv_handler:77 set off c=10000000 => d0000000 [ 6.608439] ohci-platform 5800c000.usb: Generic Platform OHCI controller [ 6.615207] ohci-platform 5800c000.usb: new USB bus registered, assigned bus number 1 [ 6.621743] ehci-platform 5800d000.usb: EHCI Host Controller [ 6.627805] ohci-platform 5800c000.usb: irq 53, io mem 0x5800c000 [ 6.634638] ehci-platform 5800d000.usb: new USB bus registered, assigned bus number 2 [ 6.641844] ehci-platform 5800d000.usb: irq 52, io mem 0x5800d000 [ 6.648238] mmc0: new DDR MMC card at address 0001 [ 6.653474] mmcblk0: mmc0:0001 008GB0 7.28 GiB [ 6.667799] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 [ 6.674014] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB [ 6.677744] ehci-platform 5800d000.usb: USB 2.0 started, EHCI 1.00 [ 6.686655] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB [ 6.691582] hub 2-0:1.0: USB hub found [ 6.695158] hub 2-0:1.0: 2 ports detected [ 6.699329] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (244:0) [ 6.712432] hub 1-0:1.0: USB hub found [ 6.714847] hub 1-0:1.0: 2 ports detected F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:472 SCMI clock 13 disable F/TC:0 0 __clk_disable:1187 Clock 140 has been disabled

Visa mer

Men vi ska gå igenom flödet för att komma till felet. Som tur så verkar felet finnas i init/main.c filen.
Vi börjar först med funktionen kernel_init. Denna funktion kommer anropa kernel_init_freeable();

static int __ref kernel_init(void *unused) { int ret; /* * Wait until kthreadd is all set-up. */ pr_info("static int __ref kernel_init(void *unused): wait_for_completion(&kthreadd_done);"); wait_for_completion(&kthreadd_done); pr_info("static int __ref kernel_init(void *unused): kernel_init_freeable();"); kernel_init_freeable(); pr_info("static int __ref kernel_init(void *unused): kernel_init_freeable(); OK"); /* need to finish all async __init code before freeing the memory */ async_synchronize_full();

Detta kan vi även se i loggen

[ 0.003240] static int __ref kernel_init(void *unused): kernel_init_freeable();

När funktionen anropas

static noinline void __init kernel_init_freeable(void) { /* Now the scheduler is fully set up and can do blocking allocations */ gfp_allowed_mask = __GFP_BITS_MASK; ... ... ... pr_info("static noinline void __init kernel_init_freeable(void): do_basic_setup();"); do_basic_setup(); pr_info("static noinline void __init kernel_init_freeable(void): do_basic_setup(); OK");

Så är det denna funktion som anropas: do_basic_setup();
Vi kan se detta i loggen:

[ 0.006364] static noinline void __init kernel_init_freeable(void): do_basic_setup();

I denna kod

static void __init do_basic_setup(void) { cpuset_init_smp(); driver_init(); init_irq_proc(); do_ctors(); pr_info("static void __init do_basic_setup(void): do_initcalls();"); do_initcalls(); pr_info("static void __init do_basic_setup(void): do_initcalls(); OK"); }

Då är det funktionen do_initcalls(); som anropas.
Loggen visar:

[ 0.029066] static void __init do_basic_setup(void): do_initcalls();

Och här kommer problemet.

static void __init do_initcalls(void) { int level; size_t len = strlen(saved_command_line) + 1; char *command_line; command_line = kzalloc(len, GFP_KERNEL); if (!command_line) panic("%s: Failed to allocate %zu bytes\n", __func__, len); for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++) { /* Parser modifies command_line, restore it each time */ strcpy(command_line, saved_command_line); pr_info("static void __init do_initcalls(void): do_initcall_level(level, command_line);"); do_initcall_level(level, command_line); pr_info("static void __init do_initcalls(void): do_initcall_level(level, command_line); OK"); } pr_info("static void __init do_initcalls(void) - For loop done"); kfree(command_line); pr_info("static void __init do_initcalls(void) - kfree(command_line); Leaving function"); }

När vi tittar i loggen så ser vi följande.

[ 0.029223] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.029230] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.029662] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.029674] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.029681] static void __init do_initcalls(void): do_initcall_level(level, command_line); <--- Här börjar vi alltså om igen i for-satsen

Så det fula är att for-satsen som du ser ovan, avslutas aldrig. Denna kod-rad körs inte

pr_info("static void __init do_initcalls(void) - For loop done");

Notera att det finns två for-satser. Nämligen denna, som också anropas, inuti for-satsen som jag besriver ovan. Men denna for-sats nedan avslutas och funktionen retuneras tillbaka

static void __init do_initcall_level(int level, char *command_line) { initcall_entry_t *fn; parse_args(initcall_level_names[level], command_line, __start___param, __stop___param - __start___param, level, level, NULL, ignore_unknown_bootoption); pr_info("static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]);"); trace_initcall_level(initcall_level_names[level]); pr_info("static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK"); for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++){ //pr_info("static void __init do_initcall_level(int level, char *command_line): do_one_initcall(initcall_from_entry(fn));"); do_one_initcall(initcall_from_entry(fn)); //pr_info("static void __init do_initcall_level(int level, char *command_line): do_one_initcall(initcall_from_entry(fn)); OK"); } pr_info("static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function"); }

Som vi kan se i loggen (skrev "Fo loop" när det ska vara "For loop").

[ 0.029662] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function

Slutsats:
Så detta betyder att funktionen static void __init do_initcalls(void) i init/main.c har alltså en for-sats som aldrig avslutas.
Troligvis så har det med något som säger att den inväntar svar på något, för att kunna fortsätta.

for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++) { /* Parser modifies command_line, restore it each time */ strcpy(command_line, saved_command_line); pr_info("static void __init do_initcalls(void): do_initcall_level(level, command_line);"); do_initcall_level(level, command_line); pr_info("static void __init do_initcalls(void): do_initcall_level(level, command_line); OK"); }

Tittar vi på den sista loggen för static void __init så säger den

[ 0.179489] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.179496] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.179503] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.179632] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.179638] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK

Vilket är för detta kodstycke, som beskriver den andra for-satsen ovan.

pr_info("static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]);"); trace_initcall_level(initcall_level_names[level]); pr_info("static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK"); for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++){ //pr_info("static void __init do_initcall_level(int level, char *command_line): do_one_initcall(initcall_from_entry(fn));"); do_one_initcall(initcall_from_entry(fn)); //pr_info("static void __init do_initcall_level(int level, char *command_line): do_one_initcall(initcall_from_entry(fn)); OK"); } pr_info("static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function");

Jag avkommenderande för annars skulle jag få enormt mycket kommenarer. Det skulle bli grötigt. Jag tror du förtstår vad jag menar. Men hur som helst så verkar denna funktion anropas

do_one_initcall(initcall_from_entry(fn));

Och mer än så vet jag inte.
Det är liksom här som boven i dramat är. Någonstans här så måste koden fastna någonstans.

int __init_or_module do_one_initcall(initcall_t fn) { int count = preempt_count(); //pr_info("int __init_or_module do_one_initcall(initcall_t fn): int count = preempt_count();"); char msgbuf[64]; int ret; //pr_info("int __init_or_module do_one_initcall(initcall_t fn): ret = initcall_blacklisted(fn)"); ret = initcall_blacklisted(fn); //pr_info("int __init_or_module do_one_initcall(initcall_t fn): ret = initcall_blacklisted(fn); OK"); if (ret) return -EPERM; //pr_info("int __init_or_module do_one_initcall(initcall_t fn): do_trace_initcall_start(fn);"); do_trace_initcall_start(fn); //pr_info("int __init_or_module do_one_initcall(initcall_t fn): do_trace_initcall_start(fn); OK"); ret = fn(); //pr_info("int __init_or_module do_one_initcall(initcall_t fn): ret = fn(); OK"); do_trace_initcall_finish(fn, ret); //pr_info("int __init_or_module do_one_initcall(initcall_t fn): do_trace_initcall_finish(fn, ret); OK"); msgbuf[0] = 0; if (preempt_count() != count) { sprintf(msgbuf, "preemption imbalance "); preempt_count_set(count); } if (irqs_disabled()) { strlcat(msgbuf, "disabled interrupts ", sizeof(msgbuf)); local_irq_enable(); } WARN(msgbuf[0], "initcall %pS returned with %s\n", fn, msgbuf); //pr_info("int __init_or_module do_one_initcall(initcall_t fn): add_latent_entropy();"); add_latent_entropy(); //pr_info("int __init_or_module do_one_initcall(initcall_t fn): add_latent_entropy(); OK"); return ret; }

Jag tror att nästa steg för att hitta felet, är att få pr_debug och WARN samt printk att skriva ut. Men jag har satt loglevel=8 utan något resultat. Några förslag? För då kan vi verkligen hitta felet

Permalänk
Medlem

Nu är du i koden som kommer att leda ned till USB så småningom. Listan på initcall kan du hitta i System.log som genereras när du bygger kärnan.

ffffffff82d9bbd8 D __initcall_start ffffffff82d9bc44 D __initcall0_start ffffffff82d9bc54 D __initcall1_start ffffffff82d9bd08 D __initcall2_start ffffffff82d9bd68 D __initcall3_start ffffffff82d9bdac D __initcall4_start Här finns bl.a. USB. ffffffff82d9bf54 D __initcall5_start ffffffff82d9c044 D __initcallrootfs_start ffffffff82d9c04c D __initcall6_start ffffffff82d9c4e0 D __initcall7_start ffffffff82d9c600 D __con_initcall_end

Du har nog det mesta av tillgängliga debug-meddelanden aktiverade redan, om inte så finns det en komplett lista av kernel-direktiv här:
Under källkoden till Linux: ./Documentation/admin-guide/kernel-parameters.txt
https://www.kernel.org/doc/Documentation/admin-guide/kernel-p...

Där fångade jag upp dessa direktiv som kan vara av intresse:

initcall_debug initcall_blacklist= user_debug=

Kan du på något sätt förhindra initializationen av USB?
https://lore.kernel.org/lkml/534D3D4E.9080408@redhat.com/T/

Usage: initcall_blacklist=<list of comma separated initcalls> ex) added "initcall_blacklist=foo_bar,sgi_uv_sysfs_init" as a kernel parameter and the log contains: initcall blacklisted foo_bar initcall blacklisted sgi_uv_sysfs_init ... ... function sgi_uv_sysfs_init returning without executing

Se första svaret i
https://unix.stackexchange.com/questions/276392/how-to-block-...
https://unix.stackexchange.com/questions/615332/how-can-i-dis...

Gissningsvis:

ffffffff817aa500 t ohci_start ffffffff817addb0 t uhci_start ffffffff817b1ae0 T xhci_start ffffffff81b44100 t ahci_port_start.cold ffffffff81b51bdc t ohci_restart.cold ffffffff81b51c23 t ohci_start.cold ffffffff81b51dba t uhci_start.cold ffffffff81b52272 t xhci_start.cold

https://en.wikipedia.org/wiki/Extensible_Host_Controller_Inte...
1.0 OHCI / UHCI 2.0 EHCI 3.0 XHCI
Rör inte AHCI, det är SATA-relaterat.

Permalänk
Medlem

https://raspberrypi.stackexchange.com/questions/122104/disabl...
Dessa är kanske bättre att använda:

ffffffff82ce5175 t ehci_hcd_init ffffffff82ce52b3 t uhci_hcd_init ffffffff82ce5332 t xhci_hcd_init

Permalänk

@mc68000

Jag skulle kunna ändra i DeviceTree? Kanske jag avvaktiverar ALLT, utom PMIC? Sedan aktiverar jag enhet efter enhet?

Klicka för mer information

// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) /* * Copyright (C) 2024, STMicroelectronics - All Rights Reserved * Author: STM32CubeMX code generation for STMicroelectronics. */ /* For more information on Device Tree configuration, please refer to * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_config... */ /dts-v1/; #include <dt-bindings/pinctrl/stm32-pinfunc.h> #include "stm32mp151.dtsi" #include "stm32mp15xa.dtsi" #include "stm32mp15xxac-pinctrl.dtsi" #include "stm32mp15-m4-srm.dtsi" /* USER CODE BEGIN includes */ #include "stm32mp15-scmi.dtsi" #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/mfd/st,stpmic1.h> /* USER CODE END includes */ / { model = "STMicroelectronics custom STM32CubeMX board - openstlinux-6.1-yocto-mickledore-mpu-v24.06.26"; compatible = "st,stm32mp151a-stm32-computer-firmware-mx", "st,stm32mp151"; memory@c0000000 { device_type = "memory"; reg = <0xc0000000 0x20000000>; /* USER CODE BEGIN memory */ /* USER CODE END memory */ }; reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; /* USER CODE BEGIN reserved-memory */ optee@de000000 { reg = <0xde000000 0x2000000>; no-map; }; mcuram2:mcuram2@10000000{ compatible = "shared-dma-pool"; reg = <0x10000000 0x40000>; no-map; }; vdev0vring0:vdev0vring0@10040000{ compatible = "shared-dma-pool"; reg = <0x10040000 0x1000>; no-map; }; vdev0vring1:vdev0vring1@10041000{ compatible = "shared-dma-pool"; reg = <0x10041000 0x1000>; no-map; }; vdev0buffer:vdev0buffer@10042000{ compatible = "shared-dma-pool"; reg = <0x10042000 0x4000>; no-map; }; mcu_rsc_table:mcu-rsc-table@10048000{ compatible = "shared-dma-pool"; reg = <0x10048000 0x8000>; no-map; }; mcuram:mcuram@30000000{ compatible = "shared-dma-pool"; reg = <0x30000000 0x40000>; no-map; }; retram:retram@38000000{ compatible = "shared-dma-pool"; reg = <0x38000000 0x10000>; no-map; }; /* USER CODE END reserved-memory */ }; /* USER CODE BEGIN root */ aliases{ ethernet0 = &ethernet0; serial0 = &uart4; }; hdmi:connector{ compatible = "hdmi-connector"; label = "hdmi"; type = "a"; port{ hdmi_connector_in:endpoint{ remote-endpoint = <&sii9022_out>; }; }; }; config { u-boot,boot-led = "heartbeat"; u-boot,error-led = "error"; u-boot,mmc-env-partition = "u-boot-env"; st,fastboot-gpios = <&gpioa 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; st,stm32prog-gpios = <&gpioa 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; }; led{ compatible = "gpio-leds"; led-blue{ label = "heartbeat"; gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; linux,default-trigger = "heartbeat"; default-state = "off"; }; led-red { label = "error"; gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; default-state = "off"; }; }; vin:vin{ compatible = "regulator-fixed"; regulator-name = "vin"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; }; chosen{ stdout-path = "serial0:115200n8"; }; /* USER CODE END root */ clocks{ /* USER CODE BEGIN clocks */ clk_csi: clk-csi { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <4000000>; }; clk_hse: clk-hse { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <24000000>; }; clk_hsi: clk-hsi { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <64000000>; }; clk_lse: clk-lse { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <32768>; }; clk_lsi: clk-lsi { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <32000>; }; /* USER CODE END clocks */ }; }; /*root*/ &pinctrl { eth1_pins_mx: eth1_mx-0 { pins1 { pinmux = <STM32_PINMUX('A', 1, AF11)>, /* ETH1_RX_CLK */ <STM32_PINMUX('A', 7, AF11)>, /* ETH1_RX_CTL */ <STM32_PINMUX('B', 0, AF11)>, /* ETH1_RXD2 */ <STM32_PINMUX('C', 4, AF11)>, /* ETH1_RXD0 */ <STM32_PINMUX('C', 5, AF11)>, /* ETH1_RXD1 */ <STM32_PINMUX('H', 7, AF11)>; /* ETH1_RXD3 */ bias-disable; }; pins2 { pinmux = <STM32_PINMUX('A', 2, AF11)>; /* ETH1_MDIO */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins3 { pinmux = <STM32_PINMUX('B', 11, AF11)>, /* ETH1_TX_CTL */ <STM32_PINMUX('C', 1, AF11)>, /* ETH1_MDC */ <STM32_PINMUX('C', 2, AF11)>, /* ETH1_TXD2 */ <STM32_PINMUX('E', 2, AF11)>, /* ETH1_TXD3 */ <STM32_PINMUX('G', 4, AF11)>, /* ETH1_GTX_CLK */ <STM32_PINMUX('G', 5, AF11)>, /* ETH1_CLK125 */ <STM32_PINMUX('G', 13, AF11)>, /* ETH1_TXD0 */ <STM32_PINMUX('G', 14, AF11)>; /* ETH1_TXD1 */ bias-disable; drive-push-pull; slew-rate = <2>; }; pins4 { pinmux = <STM32_PINMUX('B', 5, AF0)>; /* ETH1_CLK */ bias-disable; drive-push-pull; slew-rate = <1>; }; }; eth1_sleep_pins_mx: eth1_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('A', 1, ANALOG)>, /* ETH1_RX_CLK */ <STM32_PINMUX('A', 2, ANALOG)>, /* ETH1_MDIO */ <STM32_PINMUX('A', 7, ANALOG)>, /* ETH1_RX_CTL */ <STM32_PINMUX('B', 0, ANALOG)>, /* ETH1_RXD2 */ <STM32_PINMUX('B', 5, ANALOG)>, /* ETH1_CLK */ <STM32_PINMUX('B', 11, ANALOG)>, /* ETH1_TX_CTL */ <STM32_PINMUX('C', 1, ANALOG)>, /* ETH1_MDC */ <STM32_PINMUX('C', 2, ANALOG)>, /* ETH1_TXD2 */ <STM32_PINMUX('C', 4, ANALOG)>, /* ETH1_RXD0 */ <STM32_PINMUX('C', 5, ANALOG)>, /* ETH1_RXD1 */ <STM32_PINMUX('E', 2, ANALOG)>, /* ETH1_TXD3 */ <STM32_PINMUX('G', 4, ANALOG)>, /* ETH1_GTX_CLK */ <STM32_PINMUX('G', 5, ANALOG)>, /* ETH1_CLK125 */ <STM32_PINMUX('G', 13, ANALOG)>, /* ETH1_TXD0 */ <STM32_PINMUX('G', 14, ANALOG)>, /* ETH1_TXD1 */ <STM32_PINMUX('H', 7, ANALOG)>; /* ETH1_RXD3 */ }; }; hdmi_cec_pins_mx: hdmi_cec_mx-0 { pins { pinmux = <STM32_PINMUX('B', 6, AF5)>; /* CEC */ bias-disable; drive-open-drain; slew-rate = <0>; }; }; hdmi_cec_sleep_pins_mx: hdmi_cec_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('B', 6, ANALOG)>; /* CEC */ }; }; i2c1_pins_mx: i2c1_mx-0 { pins { pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */ <STM32_PINMUX('D', 13, AF5)>; /* I2C1_SDA */ bias-disable; drive-open-drain; slew-rate = <0>; }; }; i2c1_sleep_pins_mx: i2c1_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('D', 12, ANALOG)>, /* I2C1_SCL */ <STM32_PINMUX('D', 13, ANALOG)>; /* I2C1_SDA */ }; }; i2c4_pins_mx: i2c4_mx-0 { pins { pinmux = <STM32_PINMUX('F', 14, AF4)>, /* I2C4_SCL */ <STM32_PINMUX('F', 15, AF4)>; /* I2C4_SDA */ bias-disable; drive-open-drain; slew-rate = <0>; }; }; i2c4_sleep_pins_mx: i2c4_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('F', 14, ANALOG)>, /* I2C4_SCL */ <STM32_PINMUX('F', 15, ANALOG)>; /* I2C4_SDA */ }; }; i2s2_pins_mx: i2s2_mx-0 { pins { pinmux = <STM32_PINMUX('A', 9, AF5)>, /* I2S2_CK */ <STM32_PINMUX('B', 12, AF5)>, /* I2S2_WS */ <STM32_PINMUX('I', 3, AF5)>; /* I2S2_SDO */ bias-disable; drive-push-pull; slew-rate = <1>; }; }; i2s2_sleep_pins_mx: i2s2_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('A', 9, ANALOG)>, /* I2S2_CK */ <STM32_PINMUX('B', 12, ANALOG)>, /* I2S2_WS */ <STM32_PINMUX('I', 3, ANALOG)>; /* I2S2_SDO */ }; }; ltdc_pins_mx: ltdc_mx-0 { pins1 { pinmux = <STM32_PINMUX('A', 3, AF14)>, /* LTDC_B5 */ <STM32_PINMUX('B', 1, AF14)>, /* LTDC_G0 */ <STM32_PINMUX('B', 8, AF14)>, /* LTDC_B6 */ <STM32_PINMUX('C', 0, AF14)>, /* LTDC_R5 */ <STM32_PINMUX('D', 8, AF14)>, /* LTDC_B7 */ <STM32_PINMUX('D', 9, AF14)>, /* LTDC_B0 */ <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */ <STM32_PINMUX('E', 6, AF14)>, /* LTDC_G1 */ <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */ <STM32_PINMUX('F', 10, AF14)>, /* LTDC_DE */ <STM32_PINMUX('G', 10, AF14)>, /* LTDC_B2 */ <STM32_PINMUX('G', 12, AF14)>, /* LTDC_B1 */ <STM32_PINMUX('H', 2, AF14)>, /* LTDC_R0 */ <STM32_PINMUX('H', 3, AF14)>, /* LTDC_R1 */ <STM32_PINMUX('H', 8, AF14)>, /* LTDC_R2 */ <STM32_PINMUX('H', 9, AF14)>, /* LTDC_R3 */ <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */ <STM32_PINMUX('H', 12, AF14)>, /* LTDC_R6 */ <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */ <STM32_PINMUX('H', 14, AF14)>, /* LTDC_G3 */ <STM32_PINMUX('H', 15, AF14)>, /* LTDC_G4 */ <STM32_PINMUX('I', 0, AF14)>, /* LTDC_G5 */ <STM32_PINMUX('I', 1, AF14)>, /* LTDC_G6 */ <STM32_PINMUX('I', 2, AF14)>, /* LTDC_G7 */ <STM32_PINMUX('I', 4, AF14)>, /* LTDC_B4 */ <STM32_PINMUX('I', 9, AF14)>, /* LTDC_VSYNC */ <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { pinmux = <STM32_PINMUX('G', 7, AF14)>; /* LTDC_CLK */ bias-disable; drive-push-pull; slew-rate = <1>; }; }; ltdc_sleep_pins_mx: ltdc_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('A', 3, ANALOG)>, /* LTDC_B5 */ <STM32_PINMUX('B', 1, ANALOG)>, /* LTDC_G0 */ <STM32_PINMUX('B', 8, ANALOG)>, /* LTDC_B6 */ <STM32_PINMUX('C', 0, ANALOG)>, /* LTDC_R5 */ <STM32_PINMUX('D', 8, ANALOG)>, /* LTDC_B7 */ <STM32_PINMUX('D', 9, ANALOG)>, /* LTDC_B0 */ <STM32_PINMUX('D', 10, ANALOG)>, /* LTDC_B3 */ <STM32_PINMUX('E', 6, ANALOG)>, /* LTDC_G1 */ <STM32_PINMUX('E', 15, ANALOG)>, /* LTDC_R7 */ <STM32_PINMUX('F', 10, ANALOG)>, /* LTDC_DE */ <STM32_PINMUX('G', 7, ANALOG)>, /* LTDC_CLK */ <STM32_PINMUX('G', 10, ANALOG)>, /* LTDC_B2 */ <STM32_PINMUX('G', 12, ANALOG)>, /* LTDC_B1 */ <STM32_PINMUX('H', 2, ANALOG)>, /* LTDC_R0 */ <STM32_PINMUX('H', 3, ANALOG)>, /* LTDC_R1 */ <STM32_PINMUX('H', 8, ANALOG)>, /* LTDC_R2 */ <STM32_PINMUX('H', 9, ANALOG)>, /* LTDC_R3 */ <STM32_PINMUX('H', 10, ANALOG)>, /* LTDC_R4 */ <STM32_PINMUX('H', 12, ANALOG)>, /* LTDC_R6 */ <STM32_PINMUX('H', 13, ANALOG)>, /* LTDC_G2 */ <STM32_PINMUX('H', 14, ANALOG)>, /* LTDC_G3 */ <STM32_PINMUX('H', 15, ANALOG)>, /* LTDC_G4 */ <STM32_PINMUX('I', 0, ANALOG)>, /* LTDC_G5 */ <STM32_PINMUX('I', 1, ANALOG)>, /* LTDC_G6 */ <STM32_PINMUX('I', 2, ANALOG)>, /* LTDC_G7 */ <STM32_PINMUX('I', 4, ANALOG)>, /* LTDC_B4 */ <STM32_PINMUX('I', 9, ANALOG)>, /* LTDC_VSYNC */ <STM32_PINMUX('I', 10, ANALOG)>; /* LTDC_HSYNC */ }; }; sdmmc2_pins_mx: sdmmc2_mx-0 { pins1 { pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */ <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */ <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */ <STM32_PINMUX('B', 9, AF10)>, /* SDMMC2_D5 */ <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */ <STM32_PINMUX('C', 7, AF10)>, /* SDMMC2_D7 */ <STM32_PINMUX('E', 5, AF9)>; /* SDMMC2_D6 */ bias-disable; drive-push-pull; slew-rate = <1>; }; pins2 { pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */ <STM32_PINMUX('E', 3, AF9)>, /* SDMMC2_CK */ <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */ bias-pull-up; drive-push-pull; slew-rate = <1>; }; }; sdmmc2_opendrain_pins_mx: sdmmc2_opendrain_mx-0 { pins1 { pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */ <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */ <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */ <STM32_PINMUX('B', 9, AF10)>, /* SDMMC2_D5 */ <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */ <STM32_PINMUX('C', 7, AF10)>, /* SDMMC2_D7 */ <STM32_PINMUX('E', 5, AF9)>; /* SDMMC2_D6 */ bias-disable; drive-push-pull; slew-rate = <1>; }; pins2 { pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */ <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */ bias-pull-up; drive-push-pull; slew-rate = <1>; }; pins3 { pinmux = <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */ bias-pull-up; drive-open-drain; slew-rate = <1>; }; }; sdmmc2_sleep_pins_mx: sdmmc2_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */ <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */ <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */ <STM32_PINMUX('B', 9, ANALOG)>, /* SDMMC2_D5 */ <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */ <STM32_PINMUX('B', 15, ANALOG)>, /* SDMMC2_D1 */ <STM32_PINMUX('C', 7, ANALOG)>, /* SDMMC2_D7 */ <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */ <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC2_D6 */ <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */ }; }; uart4_pins_mx: uart4_mx-0 { pins1 { pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ bias-disable; }; pins2 { pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; }; uart4_idle_pins_mx: uart4_idle_mx-0 { pins1 { pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ bias-disable; }; pins2 { pinmux = <STM32_PINMUX('G', 11, ANALOG)>; /* UART4_TX */ }; }; uart4_sleep_pins_mx: uart4_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('B', 2, ANALOG)>, /* UART4_RX */ <STM32_PINMUX('G', 11, ANALOG)>; /* UART4_TX */ }; }; usb_otg_hs_pins_mx: usb_otg_hs_mx-0 { pins { pinmux = <STM32_PINMUX('A', 10, ANALOG)>; /* USB_OTG_HS_ID */ }; }; usb_otg_hs_sleep_pins_mx: usb_otg_hs_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('A', 10, ANALOG)>; /* USB_OTG_HS_ID */ }; }; /* USER CODE BEGIN pinctrl */ /* USER CODE END pinctrl */ }; &pinctrl_z { /* USER CODE BEGIN pinctrl_z */ /* USER CODE END pinctrl_z */ }; &m4_rproc{ status = "okay"; /* USER CODE BEGIN m4_rproc */ resets = <&scmi_reset RST_SCMI_MCU>, <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>; reset-names = "mcu_rst", "hold_boot"; /delete-property/ st,syscfg-holdboot; memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, <&vdev0vring1>, <&vdev0buffer>, <&mcu_rsc_table>; interrupt-parent = <&exti>; interrupts = <68 1>; wakeup-source; /* USER CODE END m4_rproc */ m4_system_resources{ status = "okay"; /* USER CODE BEGIN m4_system_resources */ /* USER CODE END m4_system_resources */ }; }; &bsec{ status = "okay"; /* USER CODE BEGIN bsec */ /* USER CODE END bsec */ }; &cec{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&hdmi_cec_pins_mx>; pinctrl-1 = <&hdmi_cec_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN cec */ /* USER CODE END cec */ }; &dma1{ status = "okay"; /* USER CODE BEGIN dma1 */ resets = <&scmi_reset RST_SCMI_MDMA>; /* USER CODE END dma1 */ }; &dma2{ status = "disabled"; /* USER CODE BEGIN dma2 */ /* USER CODE END dma2 */ }; &dmamux1{ status = "okay"; dma-masters = <&dma1>; dma-channels = <8>; /* USER CODE BEGIN dmamux1 */ /* USER CODE END dmamux1 */ }; &ethernet0{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&eth1_pins_mx>; pinctrl-1 = <&eth1_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN ethernet0 */ phy-mode = "rgmii-id"; max-speed = <1000>; phy-handle = <&phy0>; nvmem-cells = <&ethernet_mac_address>; nvmem-cell-names = "mac-address"; mdio{ #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; phy0:ethernet-phy@0{ reg = <0>; }; }; /* USER CODE END ethernet0 */ }; &hsem{ status = "okay"; /* USER CODE BEGIN hsem */ /* USER CODE END hsem */ }; &i2c1{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c1_pins_mx>; pinctrl-1 = <&i2c1_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN i2c1 */ /* USER CODE END i2c1 */ }; &i2c4{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c4_pins_mx>; pinctrl-1 = <&i2c4_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN i2c4 */ clocks = <&scmi_clk CK_SCMI_I2C4>; resets = <&scmi_reset RST_SCMI_I2C4>; i2c-scl-rising-time-ns = <185>; i2c-scl-falling-time-ns = <20>; clock-frequency = <400000>; /delete-property/ dmas; /delete-property/ dma-names; hdmi-transmitter@39{ compatible = "sil,sii9022"; reg = <0x39>; iovcc-supply = <&v3v3_hdmi>; cvcc12-supply = <&v1v2_hdmi>; reset-gpios = <&gpioe 8 GPIO_ACTIVE_LOW>; interrupts = <1 IRQ_TYPE_EDGE_FALLING>; interrupt-parent = <&gpiog>; #sound-dai-cells = <0>; status = "okay"; ports{ #address-cells = <1>; #size-cells = <0>; port@0{ reg = <0>; sii9022_in:endpoint{ remote-endpoint = <&ltdc_ep0_out>; }; }; port@1{ reg = <1>; sii9022_out:endpoint{ remote-endpoint = <&hdmi_connector_in>; }; }; port@3{ reg = <3>; sii9022_tx_endpoint:endpoint{ remote-endpoint = <&i2s2_endpoint>; }; }; }; }; pmic:stpmic@33{ compatible = "st,stpmic1"; reg = <0x33>; interrupts-extended = <&exti 55 IRQ_TYPE_EDGE_FALLING>; interrupt-controller; #interrupt-cells = <2>; status = "okay"; regulators{ compatible = "st,stpmic1-regulators"; buck1-supply = <&vin>; buck2-supply = <&vin>; buck3-supply = <&vin>; buck4-supply = <&vin>; /*ldo1-supply = <&v3v3>;*/ ldo2-supply = <&vin>; ldo3-supply = <&vdd_ddr>; ldo4-supply = <&vin>; ldo5-supply = <&vin>; ldo6-supply = <&v3v3>; vref_ddr-supply = <&vin>; /*boost-supply = <&vin>; pwr_sw1-supply = <&bst_out>; pwr_sw2-supply = <&bst_out>;*/ vddcore:buck1{ regulator-name = "vddcore"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1350000>; regulator-always-on; regulator-initial-mode = <0>; regulator-over-current-protection; }; vdd_ddr:buck2{ regulator-name = "vdd_ddr"; regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; regulator-always-on; regulator-initial-mode = <0>; regulator-over-current-protection; }; vdd:buck3{ regulator-name = "vdd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; st,mask-reset; regulator-initial-mode = <0>; regulator-over-current-protection; }; v3v3:buck4{ regulator-name = "v3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-over-current-protection; regulator-initial-mode = <0>; }; /* v1v8_audio:ldo1{ regulator-name = "v1v8_audio"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; interrupts = <IT_CURLIM_LDO1 0>; };*/ v3v3_hdmi:ldo2{ regulator-name = "v3v3_hdmi"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; interrupts = <IT_CURLIM_LDO2 0>; }; vtt_ddr:ldo3{ regulator-name = "vtt_ddr"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <750000>; regulator-always-on; regulator-over-current-protection; }; vdd_usb:ldo4{ regulator-name = "vdd_usb"; interrupts = <IT_CURLIM_LDO4 0>; }; vdda:ldo5{ regulator-name = "vdda"; regulator-min-microvolt = <2900000>; regulator-max-microvolt = <2900000>; interrupts = <IT_CURLIM_LDO5 0>; regulator-boot-on; }; v1v2_hdmi:ldo6{ regulator-name = "v1v2_hdmi"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; interrupts = <IT_CURLIM_LDO6 0>; }; vref_ddr:vref-ddr{ regulator-name = "vref_ddr"; regulator-always-on; }; /* bst_out:boost{ regulator-name = "bst_out"; interrupts = <IT_OCP_BOOST 0>; }; vbus_otg:pwr-sw1{ regulator-name = "vbus_otg"; interrupts = <IT_OCP_OTG 0>; }; vbus_sw:pwr-sw2{ regulator-name = "vbus_sw"; interrupts = <IT_OCP_SWOUT 0>; regulator-active-discharge = <1>; }; */ }; onkey{ compatible = "st,stpmic1-onkey"; interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>; interrupt-names = "onkey-falling", "onkey-rising"; power-off-time-sec = <10>; status = "okay"; }; }; /* USER CODE END i2c4 */ }; &i2s2{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2s2_pins_mx>; pinctrl-1 = <&i2s2_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN i2s2 */ clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>; clock-names = "pclk", "i2sclk", "x8k", "x11k"; i2s2_port:port{ i2s2_endpoint:endpoint{ remote-endpoint = <&sii9022_tx_endpoint>; dai-format = "i2s"; mclk-fs = <256>; }; }; /* USER CODE END i2s2 */ }; &ltdc{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&ltdc_pins_mx>; pinctrl-1 = <&ltdc_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN ltdc */ port{ ltdc_ep0_out:endpoint{ remote-endpoint = <&sii9022_in>; }; }; /* USER CODE END ltdc */ }; &m4_dma2{ status = "okay"; /* USER CODE BEGIN m4_dma2 */ /* USER CODE END m4_dma2 */ }; &mdma1{ status = "okay"; /* USER CODE BEGIN mdma1 */ /* USER CODE END mdma1 */ }; &pwr_regulators{ status = "okay"; /* USER CODE BEGIN pwr_regulators */ vdd-supply = <&vdd>; vdd_3v3_usbfs-supply = <&vdd_usb>; /* USER CODE END pwr_regulators */ }; &rcc{ status = "okay"; /* USER CODE BEGIN rcc */ compatible = "st,stm32mp1-rcc-secure", "syscon"; clock-names = "hse", "hsi", "csi", "lse", "lsi"; clocks = <&scmi_clk CK_SCMI_HSE>, <&scmi_clk CK_SCMI_HSI>, <&scmi_clk CK_SCMI_CSI>, <&scmi_clk CK_SCMI_LSE>, <&scmi_clk CK_SCMI_LSI>; /* USER CODE END rcc */ }; &rng1{ status = "okay"; /* USER CODE BEGIN rng1 */ clocks = <&scmi_clk CK_SCMI_RNG1>; resets = <&scmi_reset RST_SCMI_RNG1>; /* USER CODE END rng1 */ }; &rtc{ status = "okay"; /* USER CODE BEGIN rtc */ clocks = <&scmi_clk CK_SCMI_RTCAPB>, <&scmi_clk CK_SCMI_RTC>; /* USER CODE END rtc */ }; &sdmmc2{ pinctrl-names = "default", "opendrain", "sleep"; pinctrl-0 = <&sdmmc2_pins_mx>; pinctrl-1 = <&sdmmc2_opendrain_pins_mx>; pinctrl-2 = <&sdmmc2_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN sdmmc2 */ non-removable; no-sd; no-sdio; st,neg-edge; bus-width = <8>; vmmc-supply = <&v3v3>; vqmmc-supply = <&vdd>; mmc-ddr-3_3v; /* USER CODE END sdmmc2 */ }; &tamp{ status = "okay"; /* USER CODE BEGIN tamp */ /* USER CODE END tamp */ }; &uart4{ pinctrl-names = "default", "idle", "sleep"; pinctrl-0 = <&uart4_pins_mx>; pinctrl-1 = <&uart4_idle_pins_mx>; pinctrl-2 = <&uart4_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN uart4 */ /delete-property/ dmas; /delete-property/ dma-names; u-boot,dm-pre-reloc; /* USER CODE END uart4 */ }; &usbh_ehci{ status = "okay"; /* USER CODE BEGIN usbh_ehci */ phys = <&usbphyc_port0>; #address-cells = <1>; #size-cells = <0>; /* onboard HUB */ hub@1 { compatible = "usb424,2514"; reg = <1>; vdd-supply = <&v3v3>; }; /* USER CODE END usbh_ehci */ }; &usbh_ohci{ status = "okay"; /* USER CODE BEGIN usbh_ohci */ /* USER CODE END usbh_ohci */ }; &usbotg_hs{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&usb_otg_hs_pins_mx>; pinctrl-1 = <&usb_otg_hs_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN usbotg_hs */ phys = <&usbphyc_port1 0>; phy-names = "usb2-phy"; usb-role-switch; u-boot,dm-pre-reloc; u-boot,force-b-session-valid; hnp-srp-disable; dr_mode = "peripheral"; /* USER CODE END usbotg_hs */ }; &usbphyc{ status = "okay"; /* USER CODE BEGIN usbphyc */ phy-supply = <&vdd_usb>; /* USER CODE END usbphyc */ }; &usbphyc_port0{ status = "okay"; /* USER CODE BEGIN usbphyc_port0 */ phy-supply = <&vdd_usb>; st,tune-hs-dc-level = <2>; st,enable-fs-rftime-tuning; st,enable-hs-rftime-reduction; st,trim-hs-current = <15>; st,trim-hs-impedance = <1>; st,tune-squelch-level = <3>; st,tune-hs-rx-offset = <2>; st,no-lsfs-sc; /* USER CODE END usbphyc_port0 */ }; &usbphyc_port1{ status = "okay"; /* USER CODE BEGIN usbphyc_port1 */ phy-supply = <&vdd_usb>; st,tune-hs-dc-level = <2>; st,enable-fs-rftime-tuning; st,enable-hs-rftime-reduction; st,trim-hs-current = <15>; st,trim-hs-impedance = <1>; st,tune-squelch-level = <3>; st,tune-hs-rx-offset = <2>; st,no-lsfs-sc; /* USER CODE END usbphyc_port1 */ }; /* USER CODE BEGIN addons */ /* &arm_wdt{ timeout-sec = <32>; status = "okay"; }; &cpu0 { cpu-supply = <&vddcore>; clocks = <&scmi_clk CK_SCMI_MPU>; }; &uart4_pins_mx { u-boot,dm-pre-reloc; pins1 { u-boot,dm-pre-reloc; }; pins2 { u-boot,dm-pre-reloc; }; };*/ /* USER CODE END addons */

Visa mer

Om jag ändrar alla status till

status = "disabled";

för USB? Men detta kanske inte spelar någon roll?

Så du tror på att det är USB som är problemet här? Bara för att det är sista som skrivs ut?
Jag har inte lött fast min USB Hub som är en USB2514B-AEZC
https://www.mouser.se/ProductDetail/Microchip-Technology/USB2...

Notera att denna linux-konfiguration som jag använder är anpassad mot STM32MP157, men jag använder STM32MP151. Skillnaden är att STM32MP157 har två kärnor, CAN BUS FD och GPU samt DSI. Alltså någon form av LCD.

Så här blev det nu. Inga meddelanden om USB.

Klicka för mer information

F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): Start kernel [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): set_task_stack_end_magic [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): smp_setup_processor_id [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): debug_objects_early_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): init_vmlinux_build_id [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): cgroup_init_early [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): local_irq_disable [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): boot_cpu_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): page_address_init [ 0.000000] Linux version 6.1.82 (lubuntu@lubuntu-20bg001kms) (arm-ostl-linux-gnueabi-gcc (GCC) 12.3.0, GNU ld (GNU Binutils) 2.40.0.20230703) #9 PREEMPT Mon Sep 2 18:50:01 CEST 2024 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): early_security_init [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.1-yocto-mickledore-mpu-v24.06.26 [ 0.000000] Memory policy: Data cache writeback [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created DMA memory pool at 0x10000000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node mcuram2@10000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10040000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node vdev0vring0@10040000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10041000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node vdev0vring1@10041000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10042000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node vdev0buffer@10042000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10048000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node mcu-rsc-table@10048000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x30000000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node mcuram@30000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x38000000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node retram@38000000, compatible id shared-dma-pool [ 0.000000] cma: Reserved 64 MiB at 0xda000000 [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000c0000000-0x00000000ddffffff] [ 0.000000] HighMem [mem 0x00000000de000000-0x00000000dfffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000c0000000-0x00000000ddffffff] [ 0.000000] node 0: [mem 0x00000000de000000-0x00000000dfffffff] [ 0.000000] Initmem setup node 0 [mem 0x00000000c0000000-0x00000000dfffffff] [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.0 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.1 [ 0.000000] CPU: All CPU(s) started in SVC mode. [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_arch [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_boot_config [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_command_line [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_nr_cpu_ids [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_per_cpu_areas [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): smp_prepare_boot_cpu [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): boot_cpu_hotplug_init [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129992 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): build_all_zonelists [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): page_alloc_init [ 0.000000] Kernel command line: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200 loglevel=8 earlyprintk debug log_buf_len=4M [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): jump_label_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): parse_early_param [ 0.000000] Unknown kernel command line parameters "earlyprintk", will be passed to user space. [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): print_unknown_bootoptions [ 0.000000] printk: log_buf_len: 4194304 bytes [ 0.000000] printk: early log buf free: 60560(92%) [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): setup_log_buf [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear) [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): vfs_caches_init_early [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): sort_main_extable [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): trap_init [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off [ 0.000000] Memory: 377452K/524288K available (12288K kernel code, 1393K rwdata, 3824K rodata, 1024K init, 223K bss, 81300K reserved, 65536K cma-reserved, 0K highmem) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): mm_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): poking_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): ftrace_init [ 0.000000] trace event string verifier disabled [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): early_trace_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): radix_tree_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): maple_tree_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): housekeeping_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): workqueue_init_early [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): rcu_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): trace_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): context_tracking_init [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): early_irq_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): init_IRQ [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): tick_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): rcu_init_nohz [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): init_timers [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): srcu_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): hrtimers_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): softirq_init [ 0.000000] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): timekeeping_init [ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns [ 0.000001] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns [ 0.000021] Switching to timer-based delay loop, resolution 41ns [ 0.000853] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): time_init [ 0.000867] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): random_init [ 0.001200] Console: colour dummy device 80x30 [ 0.001258] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) [ 0.001281] CPU: Testing write buffer coherency: ok [ 0.001350] pid_max: default: 32768 minimum: 301 [ 0.001637] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.001663] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.002473] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): proc_root_init [ 0.002542] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): cpuset_init [ 0.002866] asmlinkage __visible void __init __no_sanitize_address start_kernel(void): kcsan_init [ 0.003239] static int __ref kernel_init(void *unused): wait_for_completion(&kthreadd_done); [ 0.003253] static int __ref kernel_init(void *unused): kernel_init_freeable(); [ 0.004501] cblist_init_generic: Setting adjustable number of callback queues. [ 0.004518] cblist_init_generic: Setting shift to 0 and lim to 1. [ 0.004704] cblist_init_generic: Setting adjustable number of callback queues. [ 0.004713] cblist_init_generic: Setting shift to 0 and lim to 1. [ 0.004919] Setting up static identity map for 0xc0100000 - 0xc0100060 [ 0.005126] rcu: Hierarchical SRCU implementation. [ 0.005136] rcu: Max phase no-delay instances is 1000. [ 0.006293] EFI services will not be available. [ 0.006400] static noinline void __init kernel_init_freeable(void): do_basic_setup(); [ 0.007037] devtmpfs: initialized [ 0.029084] static void __init do_basic_setup(void): do_initcalls(); [ 0.029109] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.029243] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.029251] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.029687] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.029700] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.029706] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.029862] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.029870] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.029881] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [ 0.030213] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.030247] futex hash table entries: 256 (order: -1, 3072 bytes, linear) [ 0.033611] pinctrl core: initialized pinctrl subsystem [ 0.035109] DMI not present or invalid. [ 0.036440] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.036559] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.036569] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.036575] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.036705] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.036712] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.039234] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.040895] thermal_sys: Registered thermal governor 'step_wise' [ 0.041027] cpuidle: using governor menu [ 0.041217] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.041225] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.041233] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.041351] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.041357] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.041398] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.041413] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.041781] Serial: AMBA PL011 UART driver [ 0.044767] stm32-pm-domain pm_domain: domain core-ret-power-domain registered [ 0.044804] stm32-pm-domain pm_domain: subdomain core-power-domain registered [ 0.044817] stm32-pm-domain pm_domain: domains probed [ 0.078273] platform 5a001000.display-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39 [ 0.080431] platform 4000b000.audio-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39 [ 0.087770] platform connector: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39 [ 0.088482] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.088494] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.088502] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.088629] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.088637] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.104909] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible. [ 0.121964] SCSI subsystem initialized [ 0.125749] libata version 3.00 loaded. [ 0.126218] usbcore: registered new interface driver usbfs [ 0.126296] usbcore: registered new interface driver hub [ 0.126362] usbcore: registered new device driver usb [ 0.126845] pps_core: LinuxPPS API ver. 1 registered [ 0.126858] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.126892] PTP clock support registered [ 0.127148] EDAC MC: Ver: 3.0.0 [ 0.128197] Driver 'scmi-optee' was unable to register with bus_type 'tee' because the bus was not initialized. [ 0.136079] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.136098] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.136105] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.136232] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.136239] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.136411] clocksource: Switched to clocksource arch_sys_counter [ 0.160584] NET: Registered PF_INET protocol family [ 0.160963] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.163399] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.163451] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.163477] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear) [ 0.163538] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.163631] TCP: Hash tables configured (established 4096 bind 4096) [ 0.163772] UDP hash table entries: 256 (order: 0, 4096 bytes, linear) [ 0.163810] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear) [ 0.164126] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.176700] RPC: Registered named UNIX socket transport module. [ 0.176717] RPC: Registered udp transport module. [ 0.176724] RPC: Registered tcp transport module. [ 0.176729] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.176972] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.176984] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.176990] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.177120] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.177127] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.177548] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available [ 0.179594] Initialise system trusted keyrings [ 0.180002] workingset: timestamp_bits=14 max_order=17 bucket_order=3 [ 0.186916] Trying to unpack rootfs image as initramfs... [ 0.201695] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.227264] NFS: Registering the id_resolver key type [ 0.227447] Key type id_resolver registered [ 0.227458] Key type id_legacy registered [ 0.227637] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.227651] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 0.227827] ntfs: driver 2.1.32 [Flags: R/O]. [ 0.228121] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. [ 0.228855] fuse: init (API version 7.37) [ 0.229967] NET: Registered PF_ALG protocol family [ 0.229992] Key type asymmetric registered [ 0.230001] Asymmetric key parser 'x509' registered [ 0.230265] bounce: pool size: 64 pages [ 0.230448] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246) [ 0.230462] io scheduler mq-deadline registered [ 0.230472] io scheduler kyber registered [ 0.259741] STM32 USART driver initialized [ 0.319403] brd: module loaded [ 0.348990] loop: module loaded [ 0.377137] CAN device driver interface [ 0.379112] pegasus: Pegasus/Pegasus II USB Ethernet driver [ 0.379203] usbcore: registered new interface driver pegasus [ 0.379283] usbcore: registered new interface driver asix [ 0.379338] usbcore: registered new interface driver ax88179_178a [ 0.379392] usbcore: registered new interface driver cdc_ether [ 0.379463] usbcore: registered new interface driver smsc75xx [ 0.379545] usbcore: registered new interface driver smsc95xx [ 0.379602] usbcore: registered new interface driver net1080 [ 0.379657] usbcore: registered new interface driver cdc_subset [ 0.379710] usbcore: registered new interface driver zaurus [ 0.379835] usbcore: registered new interface driver cdc_ncm [ 0.381608] usbcore: registered new interface driver usb-storage [ 0.381841] usbcore: registered new device driver onboard-usb-hub [ 0.385047] i2c_dev: i2c /dev entries driver [ 0.398248] cpu cpu0: _of_add_opp_table_v2: no supported OPPs [ 0.398324] cpu cpu0: OPP table can't be empty [ 0.406756] sdhci: Secure Digital Host Controller Interface driver [ 0.406775] sdhci: Copyright(c) Pierre Ossman [ 0.406782] Synopsys Designware Multimedia Card Interface Driver [ 0.407281] sdhci-pltfm: SDHCI platform and OF driver helper [ 0.408140] ledtrig-cpu: registered to indicate activity on CPUs [ 0.408686] usbcore: registered new interface driver usbhid [ 0.408699] usbhid: USB HID core driver [ 0.412547] optee: probing for conduit method. [ 0.412585] optee: revision 3.19 (0f6e5b02) [ 0.467194] optee: dynamic shared memory is enabled [ 0.536679] optee: initialized driver [ 0.537987] NET: Registered PF_PACKET protocol family [ 0.538013] can: controller area network core [ 0.538282] NET: Registered PF_CAN protocol family [ 0.538299] can: raw protocol [ 0.538313] can: broadcast manager protocol [ 0.538327] can: netlink gateway - max_hops=1 [ 0.547041] Key type dns_resolver registered [ 0.547063] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.547069] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.547076] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.547204] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.547212] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.547246] ThumbEE CPU extension supported. [ 0.547268] Registering SWP/SWPB emulation handler [ 0.547893] registered taskstats version 1 [ 0.547947] Loading compiled-in X.509 certificates [ 1.387187] Freeing initrd memory: 6100K [ 1.426688] Loaded X.509 cert 'Build time autogenerated kernel key: 96c9d5901f398595f8d0147113c422cf9d80a5c4' [ 1.602598] arm-scmi firmware:scmi: Enabled polling mode TX channel - prot_id:16 [ 1.602876] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled. [ 1.661879] arm-scmi firmware:scmi: SCMI Protocol v2.0 'ST:' Firmware version 0x0 [ 1.750983] sysfs: cannot create duplicate filename '/devices/platform/cpufreq-dt' [ 1.751009] CPU: 0 PID: 39 Comm: kworker/u2:4 Not tainted 6.1.82 #9 [ 1.751029] Hardware name: STM32 (Device Tree Support) [ 1.751040] Workqueue: events_unbound deferred_probe_work_func [ 1.751097] unwind_backtrace from show_stack+0x10/0x14 [ 1.751133] show_stack from dump_stack_lvl+0x24/0x2c [ 1.751170] dump_stack_lvl from sysfs_warn_dup+0x58/0x64 [ 1.751214] sysfs_warn_dup from sysfs_create_dir_ns+0xf4/0x104 [ 1.751255] sysfs_create_dir_ns from create_dir+0x1c/0x150 [ 1.751298] create_dir from kobject_add_internal+0xac/0x1f4 [ 1.751336] kobject_add_internal from kobject_add+0x60/0xc4 [ 1.751375] kobject_add from device_add+0xcc/0x6d4 [ 1.751414] device_add from platform_device_add+0x100/0x244 [ 1.751448] platform_device_add from platform_device_register_full+0x108/0x158 [ 1.751479] platform_device_register_full from stm32_cpufreq_probe+0xfc/0x19c [ 1.751518] stm32_cpufreq_probe from platform_probe+0x5c/0xb0 [ 1.751549] platform_probe from really_probe+0xe0/0x40c [ 1.751575] really_probe from __driver_probe_device+0x9c/0x130 [ 1.751597] __driver_probe_device from driver_probe_device+0x30/0xc0 [ 1.751620] driver_probe_device from __device_attach_driver+0xa8/0x120 [ 1.751644] __device_attach_driver from bus_for_each_drv+0x88/0xd4 [ 1.751676] bus_for_each_drv from __device_attach+0xa8/0x1ec [ 1.751706] __device_attach from bus_probe_device+0x84/0x8c [ 1.751737] bus_probe_device from deferred_probe_work_func+0x8c/0xd4 [ 1.751777] deferred_probe_work_func from process_one_work+0x1d0/0x4c8 [ 1.751817] process_one_work from worker_thread+0x21c/0x580 [ 1.751848] worker_thread from kthread+0xd8/0xf4 [ 1.751877] kthread from ret_from_fork+0x14/0x28 [ 1.751900] Exception stack(0xde9b1fb0 to 0xde9b1ff8) [ 1.751914] 1fa0: 00000000 00000000 00000000 00000000 [ 1.751929] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 1.751943] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 1.751955] kobject_add_internal failed for cpufreq-dt with -EEXIST, don't try to register things with the same name in the same directory. [ 2.948853] random: crng init done [ 3.046463] stm32-dma 48000000.dma-controller: STM32 DMA driver registered [ 3.061206] 8<--- cut here --- [ 3.061224] Unhandled fault: imprecise external abort (0x1c06) at 0xdeb0c588 [ 3.061239] [deb0c588] *pgd=c347e811, *pte=c348624f, *ppte=c348601f [ 3.061279] Internal error: : 1c06 [#1] PREEMPT ARM [ 3.061291] Modules linked in: [ 3.061303] CPU: 0 PID: 9 Comm: kworker/u2:0 Not tainted 6.1.82 #9 [ 3.061318] Hardware name: STM32 (Device Tree Support) [ 3.061327] Workqueue: eval_map_wq eval_map_work_func [ 3.061355] PC is at update_event_printk+0xe0/0x1c0 [ 3.061383] LR is at 0x29726464 [ 3.061396] pc : [<c01e28ac>] lr : [<29726464>] psr: 20000053 [ 3.061407] sp : de831ee8 ip : 00000029 fp : 0000014c [ 3.061416] r10: 000002d4 r9 : c13b9118 r8 : 0000000c [ 3.061425] r7 : 00000000 r6 : c123f304 r5 : c0e4b56c r4 : c1392cbc [ 3.061435] r3 : 00000022 r2 : 00000000 r1 : c1392cb9 r0 : c1392b0a [ 3.061447] Flags: nzCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment none [ 3.061462] Control: 10c5387d Table: c293c059 DAC: 00000051 [ 3.061469] Register r0 information: non-slab/vmalloc memory [ 3.061486] Register r1 information: non-slab/vmalloc memory [ 3.061496] Register r2 information: NULL pointer [ 3.061506] Register r3 information: non-paged memory [ 3.061516] Register r4 information: non-slab/vmalloc memory [ 3.061527] Register r5 information: non-slab/vmalloc memory [ 3.061538] Register r6 information: non-slab/vmalloc memory [ 3.061548] Register r7 information: NULL pointer [ 3.061558] Register r8 information: non-paged memory [ 3.061568] Register r9 information: non-slab/vmalloc memory [ 3.061578] Register r10 information: non-paged memory [ 3.061589] Register r11 information: non-paged memory [ 3.061599] Register r12 information: non-paged memory [ 3.061609] Process kworker/u2:0 (pid: 9, stack limit = 0x(ptrval)) [ 3.061621] Stack: (0xde831ee8 to 0xde832000) [ 3.061637] 1ee0: 000001c5 c124ccb0 c13b90cc c0d32eb4 c13513f0 c01e6c00 [ 3.061654] 1f00: de831f24 c124c598 c1a27e00 c123c7fc c1803780 c142e560 c180f200 00000000 [ 3.061670] 1f20: c18cc200 c180f205 c1805400 c013dcb4 c1805444 c18cc200 c1805400 c1803780 [ 3.061687] 1f40: c1805400 c1803798 c1805418 c13468e0 c18cc200 00000088 c1805400 c013dff0 [ 3.061703] 1f60: de811ee8 c13468e0 60000053 c1896940 c1896e80 c18cc200 de811ee8 c013dfac [ 3.061719] 1f80: c1803780 00000000 00000000 c01450f0 c1896940 c0145018 00000000 00000000 [ 3.061734] 1fa0: 00000000 00000000 00000000 c010014c 00000000 00000000 00000000 00000000 [ 3.061749] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 3.061764] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 [ 3.061783] update_event_printk from trace_event_eval_update+0xb4/0xf8 [ 3.061821] trace_event_eval_update from process_one_work+0x1d0/0x4c8 [ 3.061855] process_one_work from worker_thread+0x44/0x580 [ 3.061888] worker_thread from kthread+0xd8/0xf4 [ 3.061919] kthread from ret_from_fork+0x14/0x28 [ 3.061943] Exception stack(0xde831fb0 to 0xde831ff8) [ 3.061956] 1fa0: 00000000 00000000 00000000 00000000 [ 3.061972] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 3.061985] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 3.062002] Code: e5d43001 e3530000 e2844001 08bd81f0 (e353005c) [ 3.062012] ---[ end trace 0000000000000000 ]--- [ 3.062020] note: kworker/u2:0[9] exited with irqs disabled [ 3.062166] stm32-mdma 58000000.dma-controller: STM32 MDMA driver registered [ 3.072352] /soc/interrupt-controller@5000d000: bank0 [ 3.072387] /soc/interrupt-controller@5000d000: bank1 [ 3.072406] /soc/interrupt-controller@5000d000: bank2 [ 3.092362] stm32_rtc 5c004000.rtc: registered as rtc0 [ 3.092411] stm32_rtc 5c004000.rtc: setting system clock to 2000-01-01T00:00:17 UTC (946684817) [ 3.092680] stm32_rtc 5c004000.rtc: Date/Time must be initialized [ 3.092694] stm32_rtc 5c004000.rtc: registered rev:1.2 [ 3.095995] stm32-rproc 10000000.m4: wdg irq registered [ 3.096269] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property [ 3.096288] remoteproc remoteproc0: cannot get vq0 mbox [ 3.096300] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property [ 3.096310] remoteproc remoteproc0: cannot get vq1 mbox [ 3.096319] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property [ 3.096329] remoteproc remoteproc0: cannot get shutdown mbox [ 3.096339] stm32-rproc 10000000.m4: mbox_request_channel_byname() requires an "mbox-names" property [ 3.096349] remoteproc remoteproc0: cannot get detach mbox [ 3.096679] remoteproc remoteproc0: m4 is available [ 3.100201] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOA bank added [ 3.100845] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOB bank added [ 3.101476] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOC bank added [ 3.102097] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOD bank added [ 3.102815] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOE bank added [ 3.103468] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOF bank added [ 3.104198] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOG bank added [ 3.104873] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOH bank added [ 3.105504] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOI bank added [ 3.105550] stm32mp157-pinctrl soc:pinctrl@50002000: Pinctrl STM32 initialized [ 3.107295] stm32mp157-pinctrl soc:pinctrl@54004000: error -ENOENT: failed to get clk [ 3.107320] stm32mp157-pinctrl: probe of soc:pinctrl@54004000 failed with error -2 [ 3.115184] stm32-usart 40010000.serial: interrupt mode for rx (no dma) [ 3.115208] stm32-usart 40010000.serial: interrupt mode for tx (no dma) [ 3.115239] 40010000.serial: ttySTM0 at MMIO 0x40010000 (irq = 33, base_baud = 4000000) is a stm32-usart [ 5.904691] printk: console [ttySTM0] enabled [ 5.914658] stm32-dwmac 5800a000.ethernet: IRQ eth_lpi not found D/TC:? 1 tee_ta_init_session_with_context:549 Re-open TA 94cf71ad-80e6-40b5-a7c6-3dc501eb2803 F/TC:? 1 bsec_pta_invoke_command:278 bsec.pta command 0 ptypes 0x61 F/TC:? 1 bsec_read_mem:86 Read shadow 57 val: 0 F/TC:? 1 bsec_read_mem:86 Read shadow 58 val: 0 F/TC:? 1 bsec_read_mem:148 Buffer orig 0xdbc03008, size 8 D/TC:? 1 tee_ta_close_session:451 csess 0xde051070 id 2 D/TC:? 1 tee_ta_close_session:470 Destroy session F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:466 SCMI clock 8 enable [ 5.969868] stm32-dwmac 5800a000.ethernet: User ID: 0x40, Synopsys ID: 0x42 [ 5.975470] stm32-dwmac 5800a000.ethernet: DWMAC4/5 [ 5.980502] stm32-dwmac 5800a000.ethernet: DMA HW capability register supported [ 5.987714] stm32-dwmac 5800a000.ethernet: RX Checksum Offload Engine supported [ 5.994991] stm32-dwmac 5800a000.ethernet: TX Checksum insertion supported [ 6.001878] stm32-dwmac 5800a000.ethernet: Wake-Up On Lan supported [ 6.008289] stm32-dwmac 5800a000.ethernet: TSO supported [ 6.013452] stm32-dwmac 5800a000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 6.021421] stm32-dwmac 5800a000.ethernet: device MAC address 6a:76:aa:62:f8:70 [ 6.028627] stm32-dwmac 5800a000.ethernet: Enabled L3L4 Flow TC (entries=2) [ 6.035604] stm32-dwmac 5800a000.ethernet: Enabled RFS Flow TC (entries=10) [ 6.042599] stm32-dwmac 5800a000.ethernet: TSO feature enabled [ 6.048380] stm32-dwmac 5800a000.ethernet: Using 32/32 bits DMA host/device width [ 6.087037] stm32f7-i2c 40012000.i2c: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers [ 6.095030] stm32f7-i2c 40012000.i2c: STM32F7 I2C-0 bus adapter F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 stm32_etzpc_has_access:393 Check Access 5 - attr 3 - requested 3 F/TC:? 0 plat_scmi_rd_set_state:588 SCMI reset 1 set F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 stm32_etzpc_has_access:393 Check Access 5 - attr 3 - requested 3 F/TC:? 0 plat_scmi_rd_set_state:591 SCMI reset 1 release F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u [ 6.168721] platform 4000b000.audio-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39 [ 6.179373] platform 5a001000.display-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39 [ 6.191347] i2c 1-0039: Fixed dependency cycle(s) with /soc/etzpc@5c007000/audio-controller@4000b000 [ 6.200594] i2c 1-0039: Fixed dependency cycle(s) with /soc/display-controller@5a001000 [ 6.210143] stpmic1 1-0033: PMIC Chip Version: 0x21 D/TC:0 pwr_scv_handler:56 PWR service: write 0x100 at offset 0x20 F/TC:0 pwr_scv_handler:72 wrt off 20=100 => 100 D/TC:0 pwr_scv_handler:56 PWR service: set 0x1 at offset 0x28 F/TC:0 pwr_scv_handler:77 set off 28=1 => 1 D/TC:0 pwr_scv_handler:56 PWR service: set 0x1 at offset 0x20 F/TC:0 pwr_scv_handler:77 set off 20=1 => 100 [ 6.246297] platform 5c002000.i2c:stpmic@33:regulators: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/stpmic@33/regulators/buck4 [ 6.258173] platform 5c002000.i2c:stpmic@33:regulators: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/stpmic@33/regulators/buck2 [ 6.302477] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033 [ 6.311479] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033 [ 6.321723] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033 [ 6.331947] stpmic1-regulator 5c002000.i2c:stpmic@33:regulators: Failed to create device link (0x180) with 1-0033 [ 6.342526] stm32f7-i2c 5c002000.i2c: STM32F7 I2C-1 bus adapter [ 6.356630] mmci-pl18x 58007000.mmc: mmc0: PL180 manf 53 rev2 at 0x58007000 irq 45,0 (pio) [ 6.369738] i2c i2c-1: Added multiplexed i2c bus 2 [ 6.375852] input: pmic_onkey as /devices/platform/soc/5c007000.etzpc/5c002000.i2c/i2c-1/1-0033/5c002000.i2c:stpmic@33:onkey/input/input0 [ 6.393726] [drm] Initialized stm 1.0.0 20170330 for 5a001000.display-controller on minor 0 [ 6.480754] mmc0: new DDR MMC card at address 0001 [ 6.485423] mmcblk0: mmc0:0001 008GB0 7.28 GiB [ 6.499759] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 [ 6.505941] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB [ 6.512437] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB [ 6.518470] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (244:0) F/TC:? 0 pta_scmi_ocall:205 Posting MSG message on channel 0u F/TC:? 0 plat_scmi_clock_set_state:472 SCMI clock 13 disable F/TC:0 0 __clk_disable:1187 Clock 140 has been disabled

Visa mer
Permalänk

Jag tror jag har hittat vad som orsakar felet. Raden [ 0.547212] är alltså sista raden på utskriften från mina egna meddelanden. Sedan skrivs ut en Workqueue.

[ 0.547063] static void __init do_initcall_level(int level, char *command_line) - Fo loop done - Leaving function [ 0.547069] static void __init do_initcalls(void): do_initcall_level(level, command_line); OK [ 0.547076] static void __init do_initcalls(void): do_initcall_level(level, command_line); [ 0.547204] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); [ 0.547212] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.547246] ThumbEE CPU extension supported. [ 0.547268] Registering SWP/SWPB emulation handler [ 0.547893] registered taskstats version 1 [ 0.547947] Loading compiled-in X.509 certificates [ 1.387187] Freeing initrd memory: 6100K [ 1.426688] Loaded X.509 cert 'Build time autogenerated kernel key: 96c9d5901f398595f8d0147113c422cf9d80a5c4' [ 1.602598] arm-scmi firmware:scmi: Enabled polling mode TX channel - prot_id:16 [ 1.602876] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled. [ 1.661879] arm-scmi firmware:scmi: SCMI Protocol v2.0 'ST:' Firmware version 0x0 [ 1.750983] sysfs: cannot create duplicate filename '/devices/platform/cpufreq-dt' [ 1.751009] CPU: 0 PID: 39 Comm: kworker/u2:4 Not tainted 6.1.82 #9 [ 1.751029] Hardware name: STM32 (Device Tree Support) [ 1.751040] Workqueue: events_unbound deferred_probe_work_func [ 1.751097] unwind_backtrace from show_stack+0x10/0x14 [ 1.751133] show_stack from dump_stack_lvl+0x24/0x2c [ 1.751170] dump_stack_lvl from sysfs_warn_dup+0x58/0x64 [ 1.751214] sysfs_warn_dup from sysfs_create_dir_ns+0xf4/0x104 [ 1.751255] sysfs_create_dir_ns from create_dir+0x1c/0x150 [ 1.751298] create_dir from kobject_add_internal+0xac/0x1f4 [ 1.751336] kobject_add_internal from kobject_add+0x60/0xc4 [ 1.751375] kobject_add from device_add+0xcc/0x6d4 [ 1.751414] device_add from platform_device_add+0x100/0x244 [ 1.751448] platform_device_add from platform_device_register_full+0x108/0x158 [ 1.751479] platform_device_register_full from stm32_cpufreq_probe+0xfc/0x19c [ 1.751518] stm32_cpufreq_probe from platform_probe+0x5c/0xb0 [ 1.751549] platform_probe from really_probe+0xe0/0x40c [ 1.751575] really_probe from __driver_probe_device+0x9c/0x130 [ 1.751597] __driver_probe_device from driver_probe_device+0x30/0xc0 [ 1.751620] driver_probe_device from __device_attach_driver+0xa8/0x120 [ 1.751644] __device_attach_driver from bus_for_each_drv+0x88/0xd4 [ 1.751676] bus_for_each_drv from __device_attach+0xa8/0x1ec [ 1.751706] __device_attach from bus_probe_device+0x84/0x8c [ 1.751737] bus_probe_device from deferred_probe_work_func+0x8c/0xd4 [ 1.751777] deferred_probe_work_func from process_one_work+0x1d0/0x4c8 [ 1.751817] process_one_work from worker_thread+0x21c/0x580 [ 1.751848] worker_thread from kthread+0xd8/0xf4 [ 1.751877] kthread from ret_from_fork+0x14/0x28 [ 1.751900] Exception stack(0xde9b1fb0 to 0xde9b1ff8) [ 1.751914] 1fa0: 00000000 00000000 00000000 00000000 [ 1.751929] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 1.751943] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 1.751955] kobject_add_internal failed for cpufreq-dt with -EEXIST, don't try to register things with the same name in the same directory. [ 2.948853] random: crng init done [ 3.046463] stm32-dma 48000000.dma-controller: STM32 DMA driver registered [ 3.061206] 8<--- cut here --- [ 3.061224] Unhandled fault: imprecise external abort (0x1c06) at 0xdeb0c588 [ 3.061239] [deb0c588] *pgd=c347e811, *pte=c348624f, *ppte=c348601f [ 3.061279] Internal error: : 1c06 [#1] PREEMPT ARM

Permalänk

@mc68000
Jag hittade faktiskt färdiga .config filer här
https://wiki.st.com/stm32mpu/wiki/Menuconfig_or_how_to_config...

Men jag har inte lyckats lista ut vem jag ska använda för min processor. Har du något förslag?

Jag tror att jag har valt en dålig .config fil för att när jag öppnade på min .config fil så verkade den vara konfiguerad för x86.

Permalänk

@mc68000

Jag tror att jag måste ge mig på Yocto istället.
Använda Yocto, med nuvarande DeviceTree, och använda samma konfigureringar, minus CANBUS FD, GPU, 2 kärnor och DSI (Digital Serial Interface) för LCD skärmar.

Då kommer det säkert gå som smör då Yocto är konfigurerat för STM32MP157 processorerna.

Permalänk
Medlem

Du bör följa de anvisningar som finns (wiki m.m.) för din maskin, oavsett om det är via "make" eller via "Yocto".
Du kan lista alla "make" parametrar med "make help". Förmodligen bör man vara noga med "ARCH=arm" hela tiden om du hanterar en generell kärna. (Annars borde de ha patchat in det i makefilen.)

Hittade också denna: How to config for mp151
Samt denna som nämner en patch (oklart var?) och liksom ovan nämner ett nödvändigt tillägg.
https://community.st.com/t5/stm32-mpus-products/kernel-trace-...
Undrar vad de menar med "also" ??

It was also nessesary to blacklist the device_id in drivers/cpufreq/cpufreq-dt-platdev.c static const struct of_device_id blacklist[] __initconst = { ... { .compatible = "st,stm32mp157", }, +++ { .compatible = "st,stm32mp151", },

Permalänk
Medlem

Sen bör du vara försiktig med att ändra själv direkt i .config filen. Verktyg som "make menuconfig" hanterar parametrar som har beroenden till andra parametrar. Det går ganska snabbt att starta och sedan med "/" söka på parametern för att få en genväg (via 1 2 3) direkt till den i menysystemet.

Permalänk
Skrivet av mc68000:

Du bör följa de anvisningar som finns (wiki m.m.) för din maskin, oavsett om det är via "make" eller via "Yocto".
Du kan lista alla "make" parametrar med "make help". Förmodligen bör man vara noga med "ARCH=arm" hela tiden om du hanterar en generell kärna. (Annars borde de ha patchat in det i makefilen.)

Okej. Jag förstår. Jag tänkte bara att det verkar finnas färdiga .config filer för just STM32MP157, men jag verkar inte hitta några.

Citat:

Hittade också denna: How to config for mp151
Samt denna som nämner en patch (oklart var?) och liksom ovan nämner ett nödvändigt tillägg.
https://community.st.com/t5/stm32-mpus-products/kernel-trace-...
Undrar vad de menar med "also" ??

It was also nessesary to blacklist the device_id in drivers/cpufreq/cpufreq-dt-platdev.c static const struct of_device_id blacklist[] __initconst = { ... { .compatible = "st,stm32mp157", }, +++ { .compatible = "st,stm32mp151", },

Jag ska testa det dära. Troligtvis kommer ett fel att försvinna. Tackar. Jag som har sökt efter just detta svar, men inte hittat. Ditt google verkar ge dig helt andra svar än vad mitt google gör.
Edit:
Det dom menar är att compatible = "st,stm32mp151" finns faktiskt i DeviceTree.

Skrivet av mc68000:

Sen bör du vara försiktig med att ändra själv direkt i .config filen. Verktyg som "make menuconfig" hanterar parametrar som har beroenden till andra parametrar. Det går ganska snabbt att starta och sedan med "/" söka på parametern för att få en genväg (via 1 2 3) direkt till den i menysystemet.

Ja, jag har alltid säkerhetskopiera. Men jag tror även att just min .config i build/ är anpassad för en annan processor. Det är svårt att veta för att när jag skriver make menuconfig i linux-mappen, då får jag helt andra inställningar än vad för .config som finns i build-mappen. För det är nämligen i build-mappen som min .config ska vara. Men när jag kör make menuconfig så sparas en .config i linux-mappen.

Då måste jag köra make mrproper innan jag kan bygga, vilket betyder att jag raderar .config filen från linux-mappen.

Jag kompilerar nu!

Permalänk

Något framsteg faktiskt. Jag fick andra meddelanden Tackar.
Men något initrd är dock inte inom räckvidd. For-satserna är fortfarande inte avslutade.

Klicka för mer information

[ 0.547077] static void __init do_initcall_level(int level, char *command_line): trace_initcall_level(initcall_level_names[level]); OK [ 0.547112] ThumbEE CPU extension supported. [ 0.547134] Registering SWP/SWPB emulation handler [ 0.547760] registered taskstats version 1 [ 0.547814] Loading compiled-in X.509 certificates [ 1.388280] Freeing initrd memory: 6100K [ 1.426580] Loaded X.509 cert 'Build time autogenerated kernel key: 96c9d5901f398595f8d0147113c422cf9d80a5c4' [ 1.602474] arm-scmi firmware:scmi: Enabled polling mode TX channel - prot_id:16 [ 1.602732] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled. [ 1.661757] arm-scmi firmware:scmi: SCMI Protocol v2.0 'ST:' Firmware version 0x0 [ 1.751516] cpu cpu0: cpufreq_init: failed to get clk: -2 [ 1.751614] cpufreq-dt cpufreq-dt: failed register driver: -19 [ 2.946440] random: crng init done [ 3.046341] stm32-dma 48000000.dma-controller: STM32 DMA driver registered [ 3.061085] 8<--- cut here --- [ 3.061102] Unhandled fault: imprecise external abort (0x1c06) at 0xdeb0c588 [ 3.061117] [deb0c588] *pgd=c347e811, *pte=c348624f, *ppte=c348601f [ 3.061157] Internal error: : 1c06 [#1] PREEMPT ARM [ 3.061170] Modules linked in: [ 3.061181] CPU: 0 PID: 9 Comm: kworker/u2:0 Not tainted 6.1.82 #10 [ 3.061196] Hardware name: STM32 (Device Tree Support) [ 3.061205] Workqueue: eval_map_wq eval_map_work_func [ 3.061234] PC is at update_event_printk+0x64/0x1c0 [ 3.061261] LR is at update_event_printk+0x8c/0x1c0 [ 3.061282] pc : [<c01e2830>] lr : [<c01e2858>] psr: a0000053 [ 3.061291] sp : de831ee8 ip : 0000002c fp : 0000014c [ 3.061300] r10: 000002d4 r9 : c13b9118 r8 : 00000013 [ 3.061308] r7 : 00000000 r6 : c123f28c r5 : c0e4b56c r4 : c1392bc4 [ 3.061318] r3 : 00000020 r2 : 000000a0 r1 : c1392bbf r0 : 00000001 [ 3.061329] Flags: NzCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment none [ 3.061342] Control: 10c5387d Table: c291c059 DAC: 00000051 [ 3.061349] Register r0 information: non-paged memory [ 3.061363] Register r1 information: non-slab/vmalloc memory [ 3.061376] Register r2 information: non-paged memory [ 3.061386] Register r3 information: non-paged memory [ 3.061396] Register r4 information: non-slab/vmalloc memory [ 3.061406] Register r5 information: non-slab/vmalloc memory [ 3.061417] Register r6 information: non-slab/vmalloc memory [ 3.061428] Register r7 information: NULL pointer [ 3.061437] Register r8 information: non-paged memory [ 3.061447] Register r9 information: non-slab/vmalloc memory [ 3.061458] Register r10 information: non-paged memory [ 3.061468] Register r11 information: non-paged memory [ 3.061478] Register r12 information: non-paged memory [ 3.061488] Process kworker/u2:0 (pid: 9, stack limit = 0x(ptrval)) [ 3.061500] Stack: (0xde831ee8 to 0xde832000) [ 3.061516] 1ee0: 000001bb c124cd50 c13b90cc c0d32eb4 c13513f0 c01e6c00 [ 3.061533] 1f00: de831f24 c124c660 c1a29d80 c123c7fc c1803780 c142e560 c180f200 00000000 [ 3.061549] 1f20: c18cc200 c180f205 c1805400 c013dcb4 c1805444 c18cc200 c1805400 c1803780 [ 3.061565] 1f40: c1805400 c1803798 c1805418 c13468e0 c18cc200 00000088 c1805400 c013dff0 [ 3.061582] 1f60: de811ee8 c13468e0 60000053 c1896940 c1896e80 c18cc200 de811ee8 c013dfac [ 3.061598] 1f80: c1803780 00000000 00000000 c01450f0 c1896940 c0145018 00000000 00000000 [ 3.061613] 1fa0: 00000000 00000000 00000000 c010014c 00000000 00000000 00000000 00000000 [ 3.061628] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 3.061643] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 [ 3.061666] update_event_printk from trace_event_eval_update+0xb4/0xf8 [ 3.061704] trace_event_eval_update from process_one_work+0x1d0/0x4c8 [ 3.061738] process_one_work from worker_thread+0x44/0x580 [ 3.061769] worker_thread from kthread+0xd8/0xf4 [ 3.061799] kthread from ret_from_fork+0x14/0x28 [ 3.061823] Exception stack(0xde831fb0 to 0xde831ff8) [ 3.061836] 1fa0: 00000000 00000000 00000000 00000000 [ 3.061851] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 3.061865] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 3.061882] Code: e34c50e4 e3520009 9a000027 e7d52003 (e2122003) [ 3.061892] ---[ end trace 0000000000000000 ]--- [ 3.061900] note: kworker/u2:0[9] exited with irqs disabled

Visa mer

Om vi tittar från den senaste loggen: https://pastebin.com/gXAdC49d
Då kan vi hitta intressanta meddelanden

[ 0.000000] efi: UEFI not found. [ 0.006284] EFI services will not be available. [ 0.034979] DMI not present or invalid. <--- Jag har inte DMI på en STM32MP151 [ 0.356055] CAN device driver interface <--- Jag har inte CAN på en STM32MP151 [ 0.538158] can: raw protocol [ 0.538173] can: broadcast manager protocol [ 0.538188] can: netlink gateway - max_hops=1 [ 0.537869] can: controller area network core [ 1.751516] cpu cpu0: cpufreq_init: failed to get clk: -2 <--- Att inte hitta klocksignalen är väldigt kritiskt. Den är drivande! [ 1.751614] cpufreq-dt cpufreq-dt: failed register driver: -19 <--- Detta måste väll vara ett följdfel? [ 3.057318] Unhandled fault: imprecise external abort (0x1c06) at 0xdeb10588 <--- Något hände här? [ 3.061157] Internal error: : 1c06 [#1] PREEMPT ARM <--- Ett erkänt error! [ 3.099858] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOA bank added <--- Jag använder inte stm32mp157 [ 3.100497] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOB bank added [ 3.101139] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOC bank added [ 3.101758] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOD bank added [ 3.102477] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOE bank added [ 3.103127] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOF bank added [ 3.103854] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOG bank added [ 3.104535] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOH bank added [ 3.105153] stm32mp157-pinctrl soc:pinctrl@50002000: GPIOI bank added [ 3.105200] stm32mp157-pinctrl soc:pinctrl@50002000: Pinctrl STM32 initialized [ 3.106932] stm32mp157-pinctrl soc:pinctrl@54004000: error -ENOENT: failed to get clk <-- Jadu...detta kanske förklarar varför [ 3.106959] stm32mp157-pinctrl: probe of soc:pinctrl@54004000 failed with error -2 <-- Om pin-kontrol ej fungerar, ja då är det kritiskt.

Så att klockor ej startar är faktiskt ett tydligt tecken på att något "hänger kvar". Jag har varit med om detta förut att man har glömt att aktivera en klocka på en processor, och man försöker anropa en modul, men det hänger absolut inget för att modulen är helt död.

Edit:
Jag fick bort detta

[ 1.751516] cpu cpu0: cpufreq_init: failed to get clk: -2 [ 1.751614] cpufreq-dt cpufreq-dt: failed register driver: -19 [ 3.106932] stm32mp157-pinctrl soc:pinctrl@54004000: error -ENOENT: failed to get clk [ 3.106959] stm32mp157-pinctrl: probe of soc:pinctrl@54004000 failed with error -2

Igenom att addera följande i device tree

&cpu0 { cpu-supply = <&vddcore>; clocks = <&scmi_clk CK_SCMI_MPU>; }; &gpioz { clocks = <&scmi_clk CK_SCMI_GPIOZ>; };

Denna kod hittade jag från denna länk, och det bara fungerar!
https://github.com/torvalds/linux/blob/master/arch/arm/boot/d...