msm8916-mainline / gen-uboot-img

Generate lk2nd and U-Boot based bootchain for msm8916 devices
BSD 3-Clause "New" or "Revised" License
3 stars 2 forks source link

muitl core dont work #4

Open exkc opened 2 months ago

exkc commented 2 months ago

i tried to set to cpu1 to be online

[ 5202.404868] psci: failed to boot CPU1 (-95)
[ 5202.404889] CPU1: failed to boot: -95
TravMurav commented 2 months ago

Could share the full dmesg output? Any chance you are overriding the dtb with your own in grub/sd-boot?

exkc commented 2 months ago

2024-09-01_17-36

dmesg.txt the kernel log is flooded with mdp msg

exkc commented 2 months ago

alr i managed to some early log without those flooded mdp msg

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd030]
[    0.000000] Linux version 6.6.0-msm8916 (pmos@KCMAIN) (aarch64-alpine-linux-musl-gcc (Alpine 14.2.0) 14.2.0, GNU ld (GNU Binutils) 2.42) #10000 SMP PREEMPT Thu Aug 29 15:02:27 UTC 2024
[    0.000000] KASLR disabled due to lack of seed
[    0.000000] Machine model: Samsung Galaxy J5 (2016)
[    0.000000] earlycon: msm_serial_dm0 at MMIO 0x00000000078b0000 (options '')
[    0.000000] printk: bootconsole [msm_serial_dm0] enabled
[    0.000000] efi: EFI v2.10 by Das U-Boot
[    0.000000] efi: ESRT=0xfe54d040 RTPROP=0xfe54f040 SMBIOS 3.0=0xff604000 INITRD=0xfe538040 MEMRESERVE=0xfde67040 
[    0.000000] esrt: Reserving ESRT space from 0x00000000fe54d040 to 0x00000000fe54d078.
[    0.000000] OF: reserved mem: 0x000000008c000000..0x000000008c5fffff (6144 KiB) nomap non-reusable wcnss
[    0.000000] OF: reserved mem: 0x000000008c600000..0x000000008cafffff (5120 KiB) nomap non-reusable venus
[    0.000000] OF: reserved mem: 0x000000008cb00000..0x000000008cbfffff (1024 KiB) nomap non-reusable mba
[    0.000000] OF: reserved mem: 0x000000008cc00000..0x000000008cdfffff (2048 KiB) nomap non-reusable gps
[    0.000000] OF: reserved mem: 0x0000000085500000..0x0000000085ffffff (11264 KiB) nomap non-reusable tz-apps@85500000
[    0.000000] OF: reserved mem: 0x0000000086000000..0x00000000862fffff (3072 KiB) nomap non-reusable tz-apps@86000000
[    0.000000] OF: reserved mem: 0x0000000086300000..0x00000000863fffff (1024 KiB) nomap non-reusable smem@86300000
[    0.000000] OF: reserved mem: 0x0000000086400000..0x00000000864fffff (1024 KiB) nomap non-reusable hypervisor@86400000
[    0.000000] OF: reserved mem: 0x0000000086500000..0x000000008667ffff (1536 KiB) nomap non-reusable tz@86500000
[    0.000000] OF: reserved mem: 0x0000000086680000..0x00000000866fffff (512 KiB) nomap non-reusable reserved@86680000
[    0.000000] OF: reserved mem: 0x0000000086700000..0x00000000867dffff (896 KiB) nomap non-reusable rmtfs@86700000
[    0.000000] OF: reserved mem: 0x00000000867e0000..0x00000000867fffff (128 KiB) nomap non-reusable rfsa@867e0000
[    0.000000] OF: reserved mem: 0x0000000086800000..0x000000008bffffff (90112 KiB) nomap non-reusable mpss@86800000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x00000000854fffff]
[    0.000000]   node   0: [mem 0x0000000085500000-0x000000008cdfffff]
[    0.000000]   node   0: [mem 0x000000008ce00000-0x00000000fe54efff]
[    0.000000]   node   0: [mem 0x00000000fe54f000-0x00000000fe54ffff]
[    0.000000]   node   0: [mem 0x00000000fe550000-0x00000000fe552fff]
[    0.000000]   node   0: [mem 0x00000000fe553000-0x00000000fe574fff]
[    0.000000]   node   0: [mem 0x00000000fe575000-0x00000000ff603fff]
[    0.000000]   node   0: [mem 0x00000000ff604000-0x00000000ff604fff]
[    0.000000]   node   0: [mem 0x00000000ff605000-0x00000000ffddffff]
[    0.000000]   node   0: [mem 0x00000000ffde0000-0x00000000ffdeffff]
[    0.000000]   node   0: [mem 0x00000000ffdf0000-0x00000000ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000] cma: Reserved 16 MiB at 0x00000000fe600000 on node -1
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv65535.65535 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.0
[    0.000000] percpu: Embedded 21 pages/cpu s46696 r8192 d31128 u86016
[    0.000000] pcpu-alloc: s46696 r8192 d31128 u86016 alloc=21*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] CPU features: detected: ARM errata 826319, 827319, 824069, or 819472
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: initrd=initramfs earlycon console=ttyMSM0,115200 drm.debug=0x2  pmos_boot_uuid=2049-631C pmos_root_uuid=8ce9096d-cbae-4a9e-87d1-a8b7284d503a pmos_rootfsopts=de
faults
[    0.000000] Unknown kernel command line parameters "pmos_boot_uuid=2049-631C pmos_root_uuid=8ce9096d-cbae-4a9e-87d1-a8b7284d503a pmos_rootfsopts=defaults", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: mapped [mem 0x00000000f5c00000-0x00000000f9c00000] (64MB)
[    0.000000] Memory: 1825784K/2097152K available (10048K kernel code, 1268K rwdata, 3000K rodata, 2240K init, 444K bss, 254984K reserved, 16384K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    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 30 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 and mmio timer(s) running at 19.20MHz (phys/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000000] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.010974] Console: colour dummy device 80x25
[    0.018779] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.00 BogoMIPS (lpj=64000)
[    0.023275] pid_max: default: 32768 minimum: 301
[    0.033771] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.038302] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.047819] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[    0.053494] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[    0.060780] rcu: Hierarchical SRCU implementation.
[    0.067885] rcu:     Max phase no-delay instances is 1000.
[    0.074021] Remapping and enabling EFI services.
[    0.078147] smp: Bringing up secondary CPUs ...
[    0.083209] psci: failed to boot CPU1 (-95)
[    0.086921] CPU1: failed to boot: -95
[    0.091689] psci: failed to boot CPU2 (-95)
[    0.094885] CPU2: failed to boot: -95
[    0.099446] psci: failed to boot CPU3 (-95)
[    0.102713] CPU3: failed to boot: -95
[    0.106758] smp: Brought up 1 node, 1 CPU
[    0.110505] SMP: Total of 1 processors activated.
[    0.114516] CPU features: detected: 32-bit EL0 Support
[    0.119199] CPU features: detected: 32-bit EL1 Support
[    0.124220] CPU features: detected: CRC32 instructions
[    0.129397] CPU: All CPU(s) started at EL2
[    0.134480] alternatives: applying system-wide alternatives
[    0.139817] devtmpfs: initialized
[    0.155852] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370867519511994 ns
[    0.155908] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.165017] pinctrl core: initialized pinctrl subsystem
[    0.172061] SMBIOS 3.7.0 present.
[    0.176885] DMI: samsung Samsung Galaxy J5 (2016)/Samsung Galaxy J5 (2016), BIOS 2024.10-rc2-00217-g046428ef9c56 10/01/2024
[    0.180725] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.191814] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.196960] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.204263] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.211869] audit: initializing netlink subsys (disabled)
[    0.219717] audit: type=2000 audit(0.126:1): state=initialized audit_enabled=0 res=1
[    0.225455] thermal_sys: Registered thermal governor 'step_wise'
[    0.225507] cpuidle: using governor menu
[    0.238974] NET: Registered PF_QIPCRTR protocol family
[    0.242880] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.247690] ASID allocator initialised with 65536 entries
[    0.269352] platform 1800000.clock-controller: Fixed dependency cycle(s) with /soc@0/display-subsystem@1a00000/phy@1a98300
[    0.277733] platform 78d9000.usb: Fixed dependency cycle(s) with /soc@0/usb@78d9000/ulpi/phy
[    0.282982] Modules: 28464 pages in range for non-PLT usage
[    0.282994] Modules: 519984 pages in range for PLT usage
[    0.288654] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.298753] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.305436] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.311510] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.318457] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.324532] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.331476] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.337552] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.347283] iommu: Default domain type: Translated
[    0.350584] iommu: DMA domain TLB invalidation policy: strict mode
[    0.355719] SCSI subsystem initialized
[    0.361734] usbcore: registered new interface driver usbfs
[    0.365367] usbcore: registered new interface driver hub
[    0.370835] usbcore: registered new device driver usb
[    0.376958] i2c-gpio i2c-muic: using lines 617 (SDA) and 618 (SCL)
[    0.381646] i2c-gpio i2c-sensors: using lines 543 (SDA) and 544 (SCL)
[    0.387365] pps_core: LinuxPPS API ver. 1 registered
[    0.393803] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.398861] PTP clock support registered
[    0.408140] CPUidle PSCI: Invalid PSCI power state 0x41000012
[    0.411861] dt-idle-genpd: failed to alloc PM domain /psci/power-domain-cluster
[    0.417503] CPUidle PSCI: failed to init PM domain ret=-12 /psci/power-domain-cluster
[    0.424621] CPUidle PSCI: failed to create CPU PM domains ret=-12
[    0.432604] psci-cpuidle-domain: probe of psci failed with error -12
[    0.439066] qcom_scm: convention: smc arm 32
[    0.445409] efivars: Registered efivars operations
[    0.474960] sm5502 0-0025: Device type: version: 0x0, vendor: 0x1
[    0.476833] Advanced Linux Sound Architecture Driver Initialized.
[    0.480688] Bluetooth: Core ver 2.22
[    0.486146] NET: Registered PF_BLUETOOTH protocol family
[    0.489760] Bluetooth: HCI device and connection manager initialized
[    0.495060] Bluetooth: HCI socket layer initialized
[    0.501392] Bluetooth: L2CAP socket layer initialized
[    0.505999] Bluetooth: SCO socket layer initialized
[    0.511885] clocksource: Switched to clocksource arch_sys_counter
[    0.516175] VFS: Disk quotas dquot_6.6.0
[    0.522192] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.534559] NET: Registered PF_INET protocol family
[    0.534844] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.540695] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.545920] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.558151] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.562282] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[    0.570445] TCP: Hash tables configured (established 16384 bind 16384)
[    0.577183] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.583710] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.590690] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.599336] Unpacking initramfs...
[    0.603469] kvm [1]: IPA Size Limit: 40 bits
[    0.607519] kvm [1]: vgic interrupt IRQ9
[    0.615296] kvm [1]: Hyp mode initialized successfully
TravMurav commented 2 months ago
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv65535.65535 detected in firmware.

Please make sure you do not override the dtb that is passed from lk2nd via u-boot, if you do so (i.e. by having devicetree option in grub/sd-boot), you will not have SMP since lk2nd updates dtb with correct information required to boot secondary cpus

exkc commented 2 months ago

i didnt? the uboot's extlinux is unmodified as well as systemd boot config

TravMurav commented 2 months ago

hm, what's the image you're booting? Could you share systemd-boot config file here, just to make sure?

exkc commented 2 months ago

see the image above

TravMurav commented 2 months ago

hm, weird, this looks correct... (sorry, the image didn't load for me before) Could you try booting non-uefi version of the generic image via the same lk2nd as you have right now, skipping u-boot? Maybe it's some bug in lk2nd then if it failed to update the dtb for smp spin-table

exkc commented 2 months ago

i have tested booting it drectly from lk2nd and smp work

TravMurav commented 2 months ago

Hm can you try adding lk2nd.spin-table=force to u-boot cmdline?

exkc commented 2 months ago

same issue

TravMurav commented 2 months ago

mhm, could you try also removing those lines from lk2nd?

https://github.com/msm8916-mainline/lk2nd/blob/794a2876f4773308d0ddfcf92d9ce01e06c09f88/lk2nd/smp/spin-table/spin-table.c#L211-L213

exkc commented 2 months ago

which? 211-213?

TravMurav commented 2 months ago

yes

exkc commented 2 months ago

same issue

TravMurav commented 2 months ago

Annoying... Could you check the sysfs for those values:

cat /sys/firmware/devicetree/base/cpus/cpu@0/enable-method
cat /sys/firmware/devicetree/base/cpus/cpu@0/cpu-release-addr
cat /sys/firmware/devicetree/base/psci/status

when running under uefi and under lk2nd?

exkc commented 2 months ago
qcom-msm8916:~$ cat /sys/firmware/devicetree/base/cpus/cpu@0/enable-method
psci
qcom-msm8916:~$ cat /sys/firmware/devicetree/base/cpus/cpu@0/cpu-release-addr
cat: can't open '/sys/firmware/devicetree/base/cpus/cpu@0/cpu-release-addr': No such file or directory
qcom-msm8916:~$ cat /sys/firmware/devicetree/base/psci/status
cat: can't open '/sys/firmware/devicetree/base/psci/status': No such file or directory
qcom-msm8916:~$ 
exkc commented 2 months ago

i updated the uboot and same issue happented