kernel: Linux version 6.12.17-ti-00781-g95010a7c186b (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 13.3.0, GNU
After loading freertos_test_task_switch_c66xdsp_1_release.xe66 and linking to it from /lib/firmware
The firmware was built scripts in pdk_jacinto_08_04_00_21.
freertos_test_ut_c66xdsp_1_release.zip
The kernel crashes but the dsp is able to run the firmware.
[ 1.465241] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 14
[ 1.472452] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64, Policers 8
[ 1.479820] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010a, freq:50000
[ 1.490402] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a010a, freq:200000000, ad0
[ 1.499104] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc7100
[ 1.505961] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc7100
[ 1.512888] omap-mailbox 31f82000.mailbox: omap mailbox rev 0x66fc7100
[ 1.519740] omap-mailbox 31f83000.mailbox: omap mailbox rev 0x66fc7100
[ 1.526561] omap-mailbox 31f84000.mailbox: omap mailbox rev 0x66fc7100
[ 1.533611] k3-dsp-rproc 4d80800000.dsp: assigned reserved memory node c66-d0
[ 1.542558] k3-dsp-rproc 4d80800000.dsp: configured DSP for IPC-only mode
[ 1.549449] remoteproc remoteproc0: 4d80800000.dsp is available
[ 1.555385] remoteproc remoteproc0: attaching to 4d80800000.dsp
[ 1.561303] Unable to handle kernel paging request at virtual address ffff80d
[ 1.569203] Mem abort info:
[ 1.571987] ESR = 0x0000000096000005
[ 1.575726] EC = 0x25: DABT (current EL), IL = 32 bits
[ 1.581025] SET = 0, FnV = 0
[ 1.584070] EA = 0, S1PTW = 0
[ 1.587202] FSC = 0x05: level 1 translation fault
[ 1.592068] Data abort info:
[ 1.594939] ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
[ 1.600412] CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[ 1.605449] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[ 1.610748] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000083158000
[ 1.617433] [ffff80004e91619d] pgd=0000000000000000, p4d=10000000835fb003, p0
[ 1.626119] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
[ 1.632368] Modules linked in:
[ 1.635411] CPU: 0 UID: 0 PID: 39 Comm: kworker/u8:2 Not tainted 6.12.17-ti-1
[ 1.644350] Hardware name: Texas Instruments J721E SK (DT)
[ 1.649817] Workqueue: events_unbound deferred_probe_work_func
[ 1.655645] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 1.662587] pc : rproc_handle_resources.constprop.0+0x64/0x18c
[ 1.668409] lr : rproc_boot+0x37c/0x57c
[ 1.672231] sp : ffff800081d2ba10
[ 1.675532] x29: ffff800081d2ba10 x28: 0000000000000000 x27: 0000000000000000
[ 1.682652] x26: 0000000000000000 x25: ffff0008011a51c0 x24: ffff80004e91619d
[ 1.689771] x23: 0000000000000000 x22: ffff00080219e838 x21: ffff800081531f90
[ 1.696889] x20: 0000000000000000 x19: ffff00080219e800 x18: 0000000000000006
[ 1.704007] x17: 642d363663206564 x16: 6f6e2079726f6d65 x15: fb945feea70f5f97
[ 1.711127] x14: 12b559cf933d062c x13: fb945feea70f5f97 x12: 12b559cf933d062c
[ 1.718246] x11: 5c5c75c9e0a28957 x10: 3dfbe55c02c16a2f x9 : fc37bfad7fb57673
[ 1.725364] x8 : 9d886772579c39de x7 : 715d50510adbf9c7 x6 : bf57f41015e9f8ef
[ 1.732482] x5 : ffff00080223a800 x4 : ffff800086000000 x3 : 00000000376e9f5f
[ 1.739601] x2 : 00000000c891619d x1 : ffff80004e9161a1 x0 : ffff800086000000
[ 1.746721] Call trace:
[ 1.749155] rproc_handle_resources.constprop.0+0x64/0x18c
[ 1.754626] rproc_boot+0x37c/0x57c
[ 1.758101] rproc_add+0x184/0x190
[ 1.761490] devm_rproc_add+0x24/0x88
[ 1.765138] k3_dsp_rproc_probe+0x33c/0x4c4
[ 1.769308] platform_probe+0x68/0xc4
[ 1.772960] really_probe+0xbc/0x29c
[ 1.776524] __driver_probe_device+0x78/0x12c
[ 1.780867] driver_probe_device+0xd8/0x15c
[ 1.785036] __device_attach_driver+0xb8/0x134
[ 1.789467] bus_for_each_drv+0x88/0xe8
[ 1.793289] __device_attach+0xa0/0x190
[ 1.797113] device_initial_probe+0x14/0x20
[ 1.801282] bus_probe_device+0xac/0xb0
[ 1.805105] deferred_probe_work_func+0x88/0xc0
[ 1.809622] process_one_work+0x148/0x28c
[ 1.813621] worker_thread+0x2d0/0x3d8
[ 1.817358] kthread+0x110/0x114
[ 1.820575] ret_from_fork+0x10/0x20
[ 1.824140] Code: 6b020063 8b22c098 91001301 540007c4 (b862c880)
[ 1.830215] ---[ end trace 0000000000000000 ]---
execution time for task switches = 4880 ms
number of task switches = 2000000
time per task switch (semaphore give/take) = 2440 ns
execution time for task switches = 3363 ms
number of task switches = 2000000
time per task switch (direct-to-task notification give/take) = 1681 ns
execution time for task yields = 1031 ms
number of task yields = 1000000
time per task yield = 1031 ns
execution time for task - ISR - task switches = 669 ms
number of task switches = 1000000, num ISRs = 1000000
time per task - ISR - task switch (semaphore give/take) = 669 ns
execution time for task - ISR - task switches = 743 ms
number of task switches = 1000000 , num ISR = 1000000
time per task - ISR - task switch (direct-to-task notification give/take) = 743s
execution time for task - ISR - task - task switches = 4878 ms
number of ISRs = 2000000.Ping ISR Count:1000000, Pong ISR Count:1000000
time per task - ISR - task switch (semaphore give/take) = 2439 ns
execution time for task - ISR - task switches = 3789 ms
number of task switches = 2000000
number of isrs = 1000000,1000000
time per task - ISR - task switch (direct-to-task notification give/take) = 189s
execution time for task switches = 4667 ms
number of task switches = 2000000
time per task switch (semaphore give/take) = 2333 ns
value after pow() computed b/w task switch = 1.8597
expected value = 1.8597
test_taskToIsrWithFloatOperations PASSED
All tests have passed!!
Are there any changes to the linker file that we should be aware of ? and could you please share the procedure if any ?