Ticket Name: [DRA7XX-EVM-TDA2X] Issue with DSP kernel code debugging with gdbc6x debugger (using TI examples) Query Text: Hi TI E2E support forum, PFBD. Target : To perform DSP side kernel code debugging with hosted gdbc6x debugger using TI examples Links Referred: http://downloads.ti.com/mctools/esd/docs/opencl/debug/debug_gdb.html#dsp-side-debug-with-host-side-client-gdbc6x https://processors.wiki.ti.com/index.php?title=Processor_SDK_Linux_Automotive_Software_Developers_Guide#IPC TI Board details: CPU : DRA752-GP ES2.0 Model: TI TDA2x Board: DRA7xx EVM Kernel: Linux dra7xx-evm 4.19.59-g5f8c1c6121 / armv7l GNU/Linux File system used: Generated ARM GNU/Linux file system using http://arago-project.org/wiki/index.php/Setting_Up_Build_Environmen processor SDK config file used : processor-sdk-06.01.00.08-config.txt Issue: Kernal crash while running "vecadd" with gdbc6x debugger when trying to finish the debugging and coming out from GDB Getting the below error :- [ 227.700062] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0 [ 227.706622] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0 [ 289.042893] ------------[ cut here ]------------ [ 289.047551] WARNING: CPU: 0 PID: 0 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x330/0x380 [ 289.056726] 44000000.ocp:L3 Standard Error: MASTER MPU TARGET DSP1_SDMA (Read Link): At Address: 0x00006004 : Data Access in User mode during Functional access [ 289.071043] Modules linked in: xfrm_user xfrm4_tunnel ipcomp xfrm_ipcomp esp4 ah4 af_key xfrm_algo xhci_plat_hcd xhci_hcd dwc3 udc_core rpmsg_proto rpmsg_rpc snd_soc_simple_card snd_soc_simp) [ 289.130533] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G O 4.19.59-g5f8c1c6121 #1 [ 289.139007] Hardware name: Generic DRA74X (Flattened Device Tree) [ 289.145126] Backtrace: [ 289.147595] [] (dump_backtrace) from [] (show_stack+0x18/0x1c) [ 289.155202] r7:c0df8988 r6:60060193 r5:00000000 r4:c125001c [ 289.160893] [] (show_stack) from [] (dump_stack+0x90/0xa4) [ 289.168151] [] (dump_stack) from [] (__warn+0xdc/0xf8) [ 289.175059] r7:c0df8988 r6:00000009 r5:00000000 r4:c1201adc [ 289.180747] [] (__warn) from [] (warn_slowpath_fmt+0x50/0x6c) [ 289.188265] r9:ef1dc9c0 r8:f0880358 r7:c0df88a8 r6:c0df87f4 r5:c0df8958 r4:c1204c48 [ 289.196046] [] (warn_slowpath_fmt) from [] (l3_interrupt_handler+0x330/0x380) [ 289.204956] r3:ef221a80 r2:c0df8958 [ 289.208547] r5:00000004 r4:80080001 [ 289.212145] [] (l3_interrupt_handler) from [] (__handle_irq_event_percpu+0x68/0x140) [ 289.221668] r10:c1251c37 r9:ef21ff00 r8:00000017 r7:c1201c08 r6:00000000 r5:ef21ff68 [ 289.229530] r4:ef221f40 Attachments: [ "dra7xx_crash.txt" ] 1. Kernel crash log for “ vectorAdd” TI example (with the error mentioned above ) 2. KERNEL DETAILS & MODULE DETAILS 3. GDBPROXY DETAILS Thanks & Best Regards, Sethu dra7xx_crash.txt While running vecadd with gdbc6x debugger ####### KERNEL CRASH ------------------------------------------------------------------------------------------------------------------------------------------------------ [ 227.700062] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0 [ 227.706622] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0 [ 289.042893] ------------[ cut here ]------------ [ 289.047551] WARNING: CPU: 0 PID: 0 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x330/0x380 [ 289.056726] 44000000.ocp:L3 Standard Error: MASTER MPU TARGET DSP1_SDMA (Read Link): At Address: 0x00006004 : Data Access in User mode during Functional access [ 289.071043] Modules linked in: xfrm_user xfrm4_tunnel ipcomp xfrm_ipcomp esp4 ah4 af_key xfrm_algo xhci_plat_hcd xhci_hcd dwc3 udc_core rpmsg_proto rpmsg_rpc snd_soc_simple_card snd_soc_simp) [ 289.130533] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G O 4.19.59-g5f8c1c6121 #1 [ 289.139007] Hardware name: Generic DRA74X (Flattened Device Tree) [ 289.145126] Backtrace: [ 289.147595] [] (dump_backtrace) from [] (show_stack+0x18/0x1c) [ 289.155202] r7:c0df8988 r6:60060193 r5:00000000 r4:c125001c [ 289.160893] [] (show_stack) from [] (dump_stack+0x90/0xa4) [ 289.168151] [] (dump_stack) from [] (__warn+0xdc/0xf8) [ 289.175059] r7:c0df8988 r6:00000009 r5:00000000 r4:c1201adc [ 289.180747] [] (__warn) from [] (warn_slowpath_fmt+0x50/0x6c) [ 289.188265] r9:ef1dc9c0 r8:f0880358 r7:c0df88a8 r6:c0df87f4 r5:c0df8958 r4:c1204c48 [ 289.196046] [] (warn_slowpath_fmt) from [] (l3_interrupt_handler+0x330/0x380) [ 289.204956] r3:ef221a80 r2:c0df8958 [ 289.208547] r5:00000004 r4:80080001 [ 289.212145] [] (l3_interrupt_handler) from [] (__handle_irq_event_percpu+0x68/0x140) [ 289.221668] r10:c1251c37 r9:ef21ff00 r8:00000017 r7:c1201c08 r6:00000000 r5:ef21ff68 [ 289.229530] r4:ef221f40 [ 289.232079] [] (__handle_irq_event_percpu) from [] (handle_irq_event_percpu+0x34/0x88) [ 289.241776] r10:00000001 r9:c1200000 r8:ef00c000 r7:00000001 r6:ef21ff00 r5:ef21ff68 [ 289.249638] r4:c1204c48 [ 289.252188] [] (handle_irq_event_percpu) from [] (handle_irq_event+0x40/0x64) [ 289.261099] r6:c120a434 r5:ef21ff68 r4:ef21ff00 [ 289.265742] [] (handle_irq_event) from [] (handle_fasteoi_irq+0xc0/0x168) [ 289.274304] r7:00000001 r6:c120a434 r5:ef21ff68 r4:ef21ff00 [ 289.279992] [] (handle_fasteoi_irq) from [] (generic_handle_irq+0x2c/0x3c) [ 289.288642] r7:00000001 r6:c1201eb0 r5:00000000 r4:c1068cfc [ 289.294330] [] (generic_handle_irq) from [] (__handle_domain_irq+0x64/0xbc) [ 289.303071] [] (__handle_domain_irq) from [] (gic_handle_irq+0x44/0x80) [ 289.311460] r9:c1200000 r8:fa213000 r7:c1201cd0 r6:fa212000 r5:fa21200c r4:c1205100 [ 289.319241] [] (gic_handle_irq) from [] (__irq_svc+0x58/0x8c) [ 289.326755] Exception stack(0xc1201cd0 to 0xc1201d18) [ 289.331829] 1cc0: bf0252a4 bf023038 00000000 ffffffff [ 289.340045] 1ce0: 00000000 bf025280 00000000 006000c0 00000000 00000000 00000001 c1201d4c [ 289.348259] 1d00: c1201d50 c1201d20 c02a01a0 bf023110 60060113 ffffffff [ 289.354905] r9:c1200000 r8:00000000 r7:c1201d04 r6:ffffffff r5:60060113 r4:bf023110 [ 289.362695] [] (polling_register [gdbserverproxy]) from [] (call_timer_fn+0x2c/0x9c) [ 289.372217] r10:00000001 r9:bf023038 r8:00000000 r7:00000200 r6:bf023038 r5:00000101 [ 289.380082] r4:ffffe000 r3:c1200000 [ 289.383677] [] (call_timer_fn) from [] (expire_timers+0x90/0x9c) [ 289.391455] r6:c1201da4 r5:ef642540 r4:bf0252a4 [ 289.396097] [] (expire_timers) from [] (run_timer_softirq+0xac/0x1ac) [ 289.404311] r9:00000101 r8:c1204c48 r7:c1203d00 r6:c1201da4 r5:ef642540 r4:c1201da4 [ 289.412094] [] (run_timer_softirq) from [] (__do_softirq+0x124/0x28c) [ 289.420308] r8:40000001 r7:ffffe000 r6:c1203080 r5:c1203084 r4:00000020 [ 289.427043] [] (__do_softirq) from [] (irq_exit+0xd4/0x110) [ 289.434386] r10:c10684f0 r9:c1200000 r8:ef00c000 r7:00000001 r6:00000000 r5:00000000 [ 289.442248] r4:c1068cfc [ 289.444797] [] (irq_exit) from [] (__handle_domain_irq+0x68/0xbc) [ 289.452666] [] (__handle_domain_irq) from [] (gic_handle_irq+0x44/0x80) [ 289.461055] r9:c1200000 r8:fa213000 r7:c1201eb0 r6:fa212000 r5:fa21200c r4:c1205100 [ 289.468833] [] (gic_handle_irq) from [] (__irq_svc+0x58/0x8c) [ 289.476348] Exception stack(0xc1201eb0 to 0xc1201ef8) [ 289.481423] 1ea0: 00000000 00053274 fe600000 00000000 [ 289.489637] 1ec0: ffffe000 c1204c7c c1204cc4 00000001 00000000 00000000 c10684f0 c1201f0c [ 289.497851] 1ee0: c1201eec c1201f00 c0221cfc c0208e94 60060013 ffffffff [ 289.504496] r9:c1200000 r8:00000000 r7:c1201ee4 r6:ffffffff r5:60060013 r4:c0208e94 [ 289.512282] [] (arch_cpu_idle) from [] (default_idle_call+0x30/0x34) [ 289.520414] [] (default_idle_call) from [] (do_idle+0x20c/0x2b4) [ 289.528195] [] (do_idle) from [] (cpu_startup_entry+0x20/0x24) [ 289.535799] r10:c104aa38 r9:c1253700 r8:ffffffff r7:c1253700 r6:00000000 r5:00000002 [ 289.543662] r4:000000c6 [ 289.546211] [] (cpu_startup_entry) from [] (rest_init+0xd0/0xd4) [ 289.553993] [] (rest_init) from [] (start_kernel+0x448/0x470) [ 289.561508] r5:00000000 r4:c1253758 [ 289.565100] [] (start_kernel) from [<00000000>] ( (null)) [ 289.571481] ---[ end trace a144df29d5042f35 ]--- [ 289.576188] Unhandled fault: asynchronous external abort (0x1211) at 0x00000000 [ 289.583533] pgd = 3c4c5ae5 [ 289.586251] [00000000] *pgd=80000080004003, *pmd=00000000 [ 289.591685] Internal error: : 1211 [#1] PREEMPT SMP ARM [ 289.596931] Modules linked in: xfrm_user xfrm4_tunnel ipcomp xfrm_ipcomp esp4 ah4 af_key xfrm_algo xhci_plat_hcd xhci_hcd dwc3 udc_core rpmsg_proto rpmsg_rpc snd_soc_simple_card snd_soc_simp) [ 289.656407] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W O 4.19.59-g5f8c1c6121 #1 [ 289.664880] Hardware name: Generic DRA74X (Flattened Device Tree) [ 289.671003] PC is at arch_cpu_idle+0x28/0x44 [ 289.675295] LR is at omap_do_wfi+0x8/0x5c [ 289.679321] pc : [] lr : [] psr: 60060013 [ 289.685614] sp : c1201f00 ip : c1201eec fp : c1201f0c [ 289.690861] r10: c10684f0 r9 : 00000000 r8 : 00000000 [ 289.696108] r7 : 00000001 r6 : c1204cc4 r5 : c1204c7c r4 : ffffe000 [ 289.702664] r3 : 00000000 r2 : fe600000 r1 : 00053274 r0 : 00000000 [ 289.709222] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 289.716388] Control: 30c5387d Table: acfb9a00 DAC: fffffffd [ 289.722158] Process swapper/0 (pid: 0, stack limit = 0x0054632b) [ 289.728190] Stack: (0xc1201f00 to 0xc1202000) [ 289.732568] 1f00: c1201f1c c1201f10 c0a11d8c c0208e78 c1201f6c c1201f20 c025a238 c0a11d68 [ 289.740782] 1f20: ef646180 00000000 c0dcecb0 c1251c16 c1204cdc c1204c48 00000000 5f661807 [ 289.748997] 1f40: ffffffff 000000c6 00000002 00000000 c1253700 ffffffff c1253700 c104aa38 [ 289.757211] 1f60: c1201f7c c1201f70 c025a5cc c025a038 c1201f94 c1201f80 c0a0c074 c025a5b8 [ 289.765426] 1f80: c1253758 00000000 c1201ff4 c1201f98 c1000dfc c0a0bfb0 ffffffff ffffffff [ 289.773641] 1fa0: 00000000 c10005dc ffffffff 00000000 c1204c48 c1204c40 00000000 c104aa38 [ 289.781855] 1fc0: 5f620b3c 00000000 00000000 c1000330 00000000 30c0387d 00000fe6 8ffe5000 [ 289.790070] 1fe0: 412fc0f2 30c5387d 00000000 c1201ff8 00000000 c10009c0 00000000 00000000 [ 289.798280] Backtrace: [ 289.800748] [] (arch_cpu_idle) from [] (default_idle_call+0x30/0x34) [ 289.808880] [] (default_idle_call) from [] (do_idle+0x20c/0x2b4) [ 289.816661] [] (do_idle) from [] (cpu_startup_entry+0x20/0x24) [ 289.824268] r10:c104aa38 r9:c1253700 r8:ffffffff r7:c1253700 r6:00000000 r5:00000002 [ 289.832130] r4:000000c6 [ 289.834679] [] (cpu_startup_entry) from [] (rest_init+0xd0/0xd4) [ 289.842460] [] (rest_init) from [] (start_kernel+0x448/0x470) [ 289.849976] r5:00000000 r4:c1253758 [ 289.853567] [] (start_kernel) from [<00000000>] ( (null)) [ 289.859951] Code: e3530000 0a000002 e12fff33 f1080080 (e89da800) [ 289.866082] ---[ end trace a144df29d5042f36 ]--- [ 289.870720] Kernel panic - not syncing: Attempted to kill the idle task! [ 289.877454] CPU1: stopping [ 289.880180] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G D W O 4.19.59-g5f8c1c6121 #1 [ 289.888655] Hardware name: Generic DRA74X (Flattened Device Tree) [ 289.894773] Backtrace: [ 289.897241] [] (dump_backtrace) from [] (show_stack+0x18/0x1c) [ 289.904847] r7:ef0c5f08 r6:60060193 r5:00000000 r4:c125001c [ 289.910535] [] (show_stack) from [] (dump_stack+0x90/0xa4) [ 289.917793] [] (dump_stack) from [] (handle_IPI+0x1b0/0x1dc) [ 289.925223] r7:ef0c5f08 r6:00000001 r5:00000000 r4:c1068cfc [ 289.930912] [] (handle_IPI) from [] (gic_handle_irq+0x7c/0x80) [ 289.938515] r6:fa212000 r5:fa21200c r4:c1205100 [ 289.943156] [] (gic_handle_irq) from [] (__irq_svc+0x58/0x8c) [ 289.950671] Exception stack(0xef0c5f08 to 0xef0c5f50) [ 289.955746] 5f00: 00000000 0005e88c fe600000 00000000 ffffe000 c1204c7c [ 289.963961] 5f20: c1204cc4 00000002 00000000 00000000 c10684f0 ef0c5f64 ef0c5f44 ef0c5f58 [ 289.972174] 5f40: c0221cfc c0208e94 60060013 ffffffff [ 289.977250] r9:ef0c4000 r8:00000000 r7:ef0c5f3c r6:ffffffff r5:60060013 r4:c0208e94 [ 289.985035] [] (arch_cpu_idle) from [] (default_idle_call+0x30/0x34) [ 289.993167] [] (default_idle_call) from [] (do_idle+0x20c/0x2b4) [ 290.000948] [] (do_idle) from [] (cpu_startup_entry+0x20/0x24) [ 290.008553] r10:00000000 r9:412fc0f2 r8:80007000 r7:c1253990 r6:00000001 r5:ef0c4000 [ 290.016416] r4:00000087 [ 290.018965] [] (cpu_startup_entry) from [] (secondary_start_kernel+0x174/0x180) [ 290.028055] [] (secondary_start_kernel) from [<8020236c>] (0x8020236c) [ 290.035484] r7:c1253990 r6:30c0387d r5:00000000 r4:af0772c0 [ 290.041179] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]--- ####### KERNEL DETAILS ------------------------------------------------------------------------------------------------------------------------------------------------------ # uname -a Linux dra7xx-evm 4.19.59-g5f8c1c6121 #1 SMP PREEMPT Wed Dec 18 03:09:55 UTC 2019 armv7l GNU/Linux ####### MODULE DETAILS ------------------------------------------------------------------------------------------------------------------------------------------------------ # lsmod Module Size Used by xfrm_user 32768 2 xfrm4_tunnel 16384 0 ipcomp 16384 0 xfrm_ipcomp 16384 1 ipcomp esp4 20480 0 ah4 16384 0 af_key 36864 0 xfrm_algo 16384 5 xfrm_user,esp4,ah4,af_key,xfrm_ipcomp xhci_plat_hcd 16384 0 xhci_hcd 143360 1 xhci_plat_hcd dwc3 73728 0 udc_core 28672 1 dwc3 rpmsg_rpc 32768 0 rpmsg_proto 16384 0 snd_soc_simple_card 16384 0 snd_soc_simple_card_utils 16384 1 snd_soc_simple_card extcon_usb_gpio 16384 0 snd_soc_omap_hdmi 16384 0 c_can_platform 16384 0 c_can 20480 1 c_can_platform omap_aes_driver 24576 0 can_dev 28672 1 c_can omap_sham 28672 0 omap_wdt 16384 0 ahci_platform 16384 0 phy_omap_usb2 16384 3 libahci_platform 20480 1 ahci_platform libahci 36864 2 ahci_platform,libahci_platform libata 208896 3 ahci_platform,libahci_platform,libahci ti_vip 49152 0 ti_vpe 28672 0 ti_sc 36864 2 ti_vpe,ti_vip ti_csc 16384 2 ti_vpe,ti_vip v4l2_fwnode 20480 1 ti_vip ti_vpdma 24576 2 ti_vpe,ti_vip dwc3_omap 16384 0 rtc_omap 20480 1 omap_hdq 16384 0 omap_des 20480 0 ov1063x 24576 0 des_generic 28672 1 omap_des crypto_engine 16384 2 omap_des,omap_aes_driver omap_crypto 16384 2 omap_des,omap_aes_driver wire 32768 1 omap_hdq snd_soc_tlv320aic3x 57344 1 omap_remoteproc 20480 0 virtio_rpmsg_bus 20480 0 remoteproc 49152 3 rpmsg_rpc,omap_remoteproc,rpmsg_proto sch_fq_codel 20480 1 uio_module_drv 16384 0 uio 20480 1 uio_module_drv ftdi_sio 40960 0 usbserial 36864 1 ftdi_sio usbcore 217088 4 ftdi_sio,usbserial,xhci_plat_hcd,xhci_hcd usb_common 16384 3 udc_core,usbcore,dwc3 gdbserverproxy 16384 0 cryptodev 49152 0 cmemk 45056 2 ####### GDBPROXY DETAILS ------------------------------------------------------------------------------------------------------------------------------------------------------ # modinfo gdbserverproxy filename: /lib/modules/4.19.59-g5f8c1c6121/extra/gdbserverproxy.ko alias: char-major-240-* license: GPL v2 description: Interface for GDB to communicate with c66x DSP author: Texas Instruments Incorporated srcversion: 533BB7E5866E52F63B9ACCB depends: name: gdbserverproxy vermagic: 4.19.59-g5f8c1c6121 SMP preempt mod_unload modversions ARMv7 p2v8 Responses: Hi Sethu, Do you see the kernel errors before stepping through the code or when you hit a specific line? Regards, Mike Hi Sethu, I was able to reproduce the behavior you saw and discussed with our team. The behavior is considered normal because the DSP will enter a non-suspendable state after debugging, and Linux will complain when power management tries to put the DSP into suspend. Regards, Mike