Hi,
I am using syslink_2_21_03_11 on OMAP L138. In my program ARM loads DSP, DSP creates 34 heaps. After that DSP and ARM create 17 local MessageQs and open 17 more remote queues. All operations are properly synchronized. Then ARM sends a message to DSP and receives one back. At the end all resources are closed and DSP is placed in reset. The hole process works well once:
root@hawkboard:/usr/work# ./syslink-start[J root@hawkboard:/usr/work# cd /usr/work/[J root@hawkboard:/usr/work# ./AudioArm[J MultiProc Module already initialized! NameServer Module already initialized! SharedRegion Module already initialized! GateMP Module already initialized! Notify Module already initialized! MessageQ Module already initialized! HeapBufMP Module already initialized! HeapMemMP Module already initialized! ListMP Module already initialized! ClientNotifyMgr Module already initialized! FrameQBufMgr Module already initialized! FrameQ Module already initialized! ProcMgr_open ProcMgr_getProcInfo: bootMode: [0] ProcMgr_getAttacMemoryOS_map: entry already exists mapInfo->src [0x1c00000] mapInfo->dst [0xfec00000] mapInfo->size [0x400000] hParams ProcMgr_attach OMAPL1XXPROC_attach: Mapping memory regions OMAPL1XXPROC_attach: slave is now in reset ProcMgr_getProcInfo: bootMode: [0] OsalDrv_mmap(): setting cache disabled for physical address 11800000 OsalDrv_mmap(): setting cache disabled for physical address 11f00000 ProcMgr_load _Coff_getSymTabDetails: Number of symbols: 18445 _Coff_getStringTable: String table [0xc8eaf000] _Coff_getSymbolTable: Allocated memory for the symbol table _Coff_getSymbolTable: Seeking to the location of the symbol table _Coff_getSymbolTable: Reading symbol table into memory _Coff_getSymbolTable: Start of string table [0x27571a] _Coff_getSymbolTable: Updated numSymbols after reading symbol table [16195] Coff_load: Number of sections: 25 _Coff_getOptHeaderSize: Optional Header Size: 28 MemoryOS_map: pa=0xc3070000, va=0xc8f9e000, sz=0x34 _ProcMgr_map for SlaveVirt: dstAddr [0xc3070000] sgList.paddr [0xc3070000] sgList.offset [0x0] sgList.size [0x34] MemoryOS_map: pa=0xc306b9c0, va=0xc8fa49c0, sz=0x2000 _ProcMgr_map for SlaveVirt: dstAddr [0xc306b000] sgList.paddr [0xc306b000] sgList.offset [0x9c0] sgList.size [0x29c0] MemoryOS_map: pa=0xc306fc78, va=0xc8fa8c78, sz=0x3d _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0xc78] sgList.size [0xcb5] MemoryOS_map: pa=0xc306d9c0, va=0xc8fac9c0, sz=0x1dd4 _ProcMgr_map for SlaveVirt: dstAddr [0xc306d000] sgList.paddr [0xc306d000] sgList.offset [0x9c0] sgList.size [0x2794] MemoryOS_map: pa=0xc306fcb8, va=0xc8fb2cb8, sz=0x8 _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0xcb8] sgList.size [0xcc0] MemoryOS_map: pa=0xc3000000, va=0xc8fc0000, sz=0x70b4 _ProcMgr_map for SlaveVirt: dstAddr [0xc3000000] sgList.paddr [0xc3000000] sgList.offset [0x0] sgList.size [0x70b4] MemoryOS_map: pa=0xc3080000, va=0xc8fb8000, sz=0xe0 _ProcMgr_map for SlaveVirt: dstAddr [0xc3080000] sgList.paddr [0xc3080000] sgList.offset [0x0] sgList.size [0xe0] MemoryOS_map: pa=0xc306f800, va=0xc8fbc800, sz=0x200 _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0x800] sgList.size [0xa00] MemoryOS_map: pa=0xc30070c0, va=0xc90000c0, sz=0x5ada0 _ProcMgr_map for SlaveVirt: dstAddr [0xc3007000] sgList.paddr [0xc3007000] sgList.offset [0xc0] sgList.size [0x5ae60] MemoryOS_map: pa=0xc306f794, va=0xc8fcc794, sz=0x6c _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0x794] sgList.size [0x800] MemoryOS_map: pa=0xc306fa00, va=0xc8fd0a00, sz=0x154 _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0xa00] sgList.size [0xb54] MemoryOS_map: pa=0xc30070b8, va=0xc8fd40b8, sz=0x8 _ProcMgr_map for SlaveVirt: dstAddr [0xc3007000] sgList.paddr [0xc3007000] sgList.offset [0xb8] sgList.size [0xc0] MemoryOS_map: pa=0xc3061e60, va=0xc8fe0e60, sz=0x9b60 _ProcMgr_map for SlaveVirt: dstAddr [0xc3061000] sgList.paddr [0xc3061000] sgList.offset [0xe60] sgList.size [0xa9c0] MemoryOS_map: pa=0xc30800e0, va=0xc90800e0, sz=0x526f0 _ProcMgr_map for SlaveVirt: dstAddr [0xc3080000] sgList.paddr [0xc3080000] sgList.offset [0xe0] sgList.size [0x527d0] MemoryOS_map: pa=0xc306fb58, va=0xc8fdcb58, sz=0x120 _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0xb58] sgList.size [0xc78] ProcMgr_startr Coff_getEntryPt: Entry point [0xc3080000] COFF File entry point: [0xc3080000] OMAPL1XXPROC_start: Configuring boot register Reset vector [0xc3080000]! OMAPL1XXPROC_start: Slave successfully started ProcMgr_close Ipc_control Ipc_CONTROLCMD_LOADCALLBACK ProcMgr_translateAddr: srcAddr [0xc3070000] dstAddr [0xc8f9e000] ProcMgr_translateAddr: srcAddr [0xc307001c] dstAddr [0xc8f9e01c] Assertion at Line no: 1810 in /home/glebf/ti/syslink_2_21_03_11/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Ipc.c: (Ipc_module->procSync == params->procSync) : failed handle->slaveSRCfg[0].entryBase c3f00000 Platform_loadCallback: No SharedRegion.entry[0].cacheEnable configuration value found, using default FALSE Platform_loadCallback: Mapping SharedRegion 0 addr[ProcMgr_AddrType_MasterPhys] [0xc3f00000] addr[ProcMgr_AddrType_SlaveVirt] [0xc3f00000] size [0x20000] isCached [0] MemoryOS_map: pa=0xc3f00000, va=0xc9100000, sz=0x20000 _ProcMgr_map for SlaveVirt: dstAddr [0xc3f00000] sgList.paddr [0xc3f00000] sgList.offset [0x0] sgList.size [0x20000] ProcMgr_translateAddr: srcAddr [0xc3070000] dstAddr [0xc8f9e000] Ipc_control Ipc_Ipc_attach: Ipc_procSyncStart failed! CONTROLCMD_STARTCALLBACK NotifyDriverShm_registerEvent Added entry in regChart: [0] NotifyDriverShm_registerEvent Added entry in regChart: [0] OsalDrv_mmap(): setting cache disabled for physical address c3f00000 waitDspReady NotifyDriverShm_registerEvent Added entry in regChart: [2] wait sync ISR handled openHeaps NameServer_getLocal name [heap000] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap001] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap002] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap003] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap004] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap005] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap006] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap007] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap008] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap009] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap00a] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap00b] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap00c] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap00d] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap00e] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap00f] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap010] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap011] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap012] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap013] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap014] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap015] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap016] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap017] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap018] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap019] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap01a] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap01b] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap01c] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap01d] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap01e] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap01f] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap020] NameServer_getLocal: Entry not found! ISR handled NameServer_getLocal name [heap021] NameServer_getLocal: Entry not found! ISR handled openOutMsgQ NameServer_getLocal name [msgQ_dsp000] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x0] NameServer_getLocal name [msgQ_dsp001] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x1] NameServer_getLocal name [msgQ_dsp002] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x2] NameServer_getLocal name [msgQ_dsp003] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x3] NameServer_getLocal name [msgQ_dsp004] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x4] NameServer_getLocal name [msgQ_dsp005] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x5] NameServer_getLocal name [msgQ_dsp006] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x6] NameServer_getLocal name [msgQ_dsp007] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x7] NameServer_getLocal name [msgQ_dsp008] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x8] NameServer_getLocal name [msgQ_dsp009] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x9] NameServer_getLocal name [msgQ_dsp00a] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0xa] NameServer_getLocal name [msgQ_dsp00b] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0xb] NameServer_getLocal name [msgQ_dsp00c] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0xc] NameServer_getLocal name [msgQ_dsp00d] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0xd] NameServer_getLocal name [msgQ_dsp00e] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0xe] NameServer_getLocal name [msgQ_dsp00f] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0xf] NameServer_getLocal name [msgQ_dsp010] NameServer_getLocal: Entry not found! ISR handled MessageQ_open ioctl queueId [0x10] createInMsgQ MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 MessageQ_create: Max number of queues 34 signalHostReady ISR handled Done NameServer_getLocal name [msgQ_arm011] ISR handled NameServer_getLocal name [msgQ_arm012] Ready to start ISR handled NameServer_getLocal name [msgQ_arm013] ISR handled NameServer_getLocal name [msgQ_arm014] ISR handled NameServer_getLocal name [msgQ_arm015] ISR handled NameServer_getLocal name [msgQ_arm016] ISR handled NameServer_getLocal name [msgQ_arm017] ISR handled NameServer_getLocal name [msgQ_arm018] ISR handled NameServer_getLocal name [msgQ_arm019] ISR handled NameServer_getLocal name [msgQ_arm01a] ISR handled NameServer_getLocal name [msgQ_arm01b] ISR handled NameServer_getLocal name [msgQ_arm01c] ISR handled NameServer_getLocal name [msgQ_arm01d] ISR handled NameServer_getLocal name [msgQ_arm01e] ISR handled NameServer_getLocal name [msgQ_arm01f] ISR handled NameServer_getLocal name [msgQ_arm020] ISR handled NameServer_getLocal name [msgQ_arm021] 1 Allocate from heap 16 Allocate ISR handled d 0x40b6ae80 MessageQ_put 16 MessageQ_put OK MessageQ_get start 500000 MessageQ_get end 0x40b72480 Ready to stop 1 closeOutMsgQ closeInMsgQ closeHeaps signalHostDone ProcMgr_open ProcMgr_getProcInfo: bootMode: [0] OsalDrv_mmap(): setting cache disabled for physical address 11800000 OsalDrv_mmap(): setting cache disabled for physical address 11f00000 OsalDrv_mmap(): setting cache disabled for physical address c3070000 OsalDrv_mmap(): setting cache disabled for physical address c306b000 OsalDrv_mmap(): setting cache disabled for physical address c306f000 OsalDrv_mmap(): setting cache disabled for physical address c306d000 OsalDrv_mmap(): setting cache disabled for physical address c306f000 OsalDrv_mmap(): setting cache disabled for physical address c3000000 OsalDrv_mmap(): setting cache disabled for physical address c3080000 OsalDrv_mmap(): setting cache disabled for physical address c306f000 OsalDrv_mmap(): setting cache disabled for physical address c3007000 OsalDrv_mmap(): setting cache disabled for physical address c306f000 OsalDrv_mmap(): setting cache disabled for physical address c306f000 OsalDrv_mmap(): setting cache disabled for physical address c3007000 OsalDrv_mmap(): setting cache disabled for physical address c3061000 OsalDrv_mmap(): setting cache disabled for physical address c3080000 OsalDrv_mmap(): setting cache disabled for physical address c306f000 ProcMgr_stop OMAPL1XXPROC_stop: Slave is now in reset ProcMgr_unload MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fcc794] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc90000c0] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fbc800] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fb8000] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fc0000] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fb2cb8] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fac9c0] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fa8c78] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8fa49c0] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc8f9e000] unmapInfo->addr [0xc8f9e000] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fcc794] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc90000c0] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fbc800] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fb8000] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fc0000] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fb2cb8] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fac9c0] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fa8c78] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc8fa49c0] unmapInfo->addr [0xc8fa49c0] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fcc794] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc90000c0] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fbc800] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fb8000] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fc0000] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fb2cb8] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fac9c0] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc8fa8c78] unmapInfo->addr [0xc8fa8c78] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc8fcc794] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc90000c0] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc8fbc800] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc8fb8000] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc8fc0000] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc8fb2cb8] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc8fac9c0] unmapInfo->addr [0xc8fac9c0] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc8fcc794] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc90000c0] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc8fbc800] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc8fb8000] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc8fc0000] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc8fb2cb8] unmapInfo->addr [0xc8fb2cb8] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc8fcc794] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc90000c0] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc8fbc800] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc8fb8000] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc8fc0000] unmapInfo->addr [0xc8fc0000] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fb8000] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fb8000] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fb8000] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fb8000] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8fb8000] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc8fb8000] MemoryOS_unmap: info->mappedAddress [0xc8fcc794] unmapInfo->addr [0xc8fb8000] MemoryOS_unmap: info->mappedAddress [0xc90000c0] unmapInfo->addr [0xc8fb8000] MemoryOS_unmap: info->mappedAddress [0xc8fbc800] unmapInfo->addr [0xc8fb8000] MemoryOS_unmap: info->mappedAddress [0xc8fb8000] unmapInfo->addr [0xc8fb8000] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fbc800] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fbc800] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fbc800] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fbc800] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8fbc800] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc8fbc800] MemoryOS_unmap: info->mappedAddress [0xc8fcc794] unmapInfo->addr [0xc8fbc800] MemoryOS_unmap: info->mappedAddress [0xc90000c0] unmapInfo->addr [0xc8fbc800] MemoryOS_unmap: info->mappedAddress [0xc8fbc800] unmapInfo->addr [0xc8fbc800] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc90000c0] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc90000c0] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc90000c0] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc90000c0] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc90000c0] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc90000c0] MemoryOS_unmap: info->mappedAddress [0xc8fcc794] unmapInfo->addr [0xc90000c0] MemoryOS_unmap: info->mappedAddress [0xc90000c0] unmapInfo->addr [0xc90000c0] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fcc794] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fcc794] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fcc794] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fcc794] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8fcc794] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc8fcc794] MemoryOS_unmap: info->mappedAddress [0xc8fcc794] unmapInfo->addr [0xc8fcc794] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fd0a00] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fd0a00] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fd0a00] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fd0a00] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8fd0a00] MemoryOS_unmap: info->mappedAddress [0xc8fd0a00] unmapInfo->addr [0xc8fd0a00] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fd40b8] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fd40b8] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fd40b8] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fd40b8] MemoryOS_unmap: info->mappedAddress [0xc8fd40b8] unmapInfo->addr [0xc8fd40b8] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fe0e60] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fe0e60] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc8fe0e60] MemoryOS_unmap: info->mappedAddress [0xc8fe0e60] unmapInfo->addr [0xc8fe0e60] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc90800e0] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc90800e0] MemoryOS_unmap: info->mappedAddress [0xc90800e0] unmapInfo->addr [0xc90800e0] MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc8fdcb58] MemoryOS_unmap: info->mappedAddress [0xc8fdcb58] unmapInfo->addr [0xc8fdcb58] ProcMgr_detach MemoryOS_unmap: info->mappedAddress [0xc9100000] unmapInfo->addr [0xc9100000] OMAPL1XXPROC_detach: Slave processor is now in reset MemoryOS_unmap: info->mappedAddress [0xfec00000] unmapInfo->addr [0xfec00000] ProcMgr_close _NotifyDrv: Termination packet root@hawkboard:/usr/work#
If I try to execute again the kernel crashes at the call to Ipc_control function with Ipc_CONTROLCMD_LOADCALLBACK parameter:
root@hawkboard:/usr/work# ./syslink-start[J root@hawkboard:/usr/work# cd /usr/work/[J root@hawkboard:/usr/work# ./AudioArm[J MultiProc Module already initialized! NameServer Module already initialized! SharedRegion Module already initialized! OsalDrv_mmap(): setting cache disabled for physical address c9100000 GateMP Module already initialized! Notify Module already initialized! MessageQ Module already initialized! HeapBufMP Module already initialized! HeapMemMP Module already initialized! ListMP Module already initialized! ClientNotifyMgr Module already initialized! FrameQBufMgr Module already initialized! FrameQ Module already initialized! ProcMgr_open ProcMgr_getProcInfo: bootMode: [0] ProcMgr_getAttacMemoryOS_map: entry already exists mapInfo->src [0x1c00000] mapInfo->dst [0xfec00000] mapInfo->size [0x400000] hParams ProcMgr_attach OMAPL1XXPROC_attach: Mapping memory regions OMAPL1XXPROC_attach: slave is now in reset ProcMgr_getProcInfo: bootMode: [0] OsalDrv_mmap(): setting cache disabled for physical address 11800000 OsalDrv_mmap(): setting cache disabled for physical address 11f00000 ProcMgr_load _Coff_getSymTabDetails: Number of symbols: 18445 _Coff_getStringTable: String table [0xc933a000] _Coff_getSymbolTable: Allocated memory for the symbol table _Coff_getSymbolTable: Seeking to the location of the symbol table _Coff_getSymbolTable: Reading symbol table into memory _Coff_getSymbolTable: Start of string table [0x27571a] _Coff_getSymbolTable: Updated numSymbols after reading symbol table [16195] Coff_load: Number of sections: 25 _Coff_getOptHeaderSize: Optional Header Size: 28 MemoryOS_map: pa=0xc3070000, va=0xc942a000, sz=0x34 _ProcMgr_map for SlaveVirt: dstAddr [0xc3070000] sgList.paddr [0xc3070000] sgList.offset [0x0] sgList.size [0x34] MemoryOS_map: pa=0xc306b9c0, va=0xc94309c0, sz=0x2000 _ProcMgr_map for SlaveVirt: dstAddr [0xc306b000] sgList.paddr [0xc306b000] sgList.offset [0x9c0] sgList.size [0x29c0] MemoryOS_map: pa=0xc306fc78, va=0xc9434c78, sz=0x3d _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0xc78] sgList.size [0xcb5] MemoryOS_map: pa=0xc306d9c0, va=0xc94389c0, sz=0x1dd4 _ProcMgr_map for SlaveVirt: dstAddr [0xc306d000] sgList.paddr [0xc306d000] sgList.offset [0x9c0] sgList.size [0x2794] MemoryOS_map: pa=0xc306fcb8, va=0xc943ecb8, sz=0x8 _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0xcb8] sgList.size [0xcc0] MemoryOS_map: pa=0xc3000000, va=0xc9450000, sz=0x70b4 _ProcMgr_map for SlaveVirt: dstAddr [0xc3000000] sgList.paddr [0xc3000000] sgList.offset [0x0] sgList.size [0x70b4] MemoryOS_map: pa=0xc3080000, va=0xc9444000, sz=0xe0 _ProcMgr_map for SlaveVirt: dstAddr [0xc3080000] sgList.paddr [0xc3080000] sgList.offset [0x0] sgList.size [0xe0] MemoryOS_map: pa=0xc306f800, va=0xc9448800, sz=0x200 _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0x800] sgList.size [0xa00] MemoryOS_map: pa=0xc30070c0, va=0xc94800c0, sz=0x5ada0 _ProcMgr_map for SlaveVirt: dstAddr [0xc3007000] sgList.paddr [0xc3007000] sgList.offset [0xc0] sgList.size [0x5ae60] MemoryOS_map: pa=0xc306f794, va=0xc944e794, sz=0x6c _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0x794] sgList.size [0x800] MemoryOS_map: pa=0xc306fa00, va=0xc945ca00, sz=0x154 _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0xa00] sgList.size [0xb54] MemoryOS_map: pa=0xc30070b8, va=0xc94600b8, sz=0x8 _ProcMgr_map for SlaveVirt: dstAddr [0xc3007000] sgList.paddr [0xc3007000] sgList.offset [0xb8] sgList.size [0xc0] MemoryOS_map: pa=0xc3061e60, va=0xc9470e60, sz=0x9b60 _ProcMgr_map for SlaveVirt: dstAddr [0xc3061000] sgList.paddr [0xc3061000] sgList.offset [0xe60] sgList.size [0xa9c0] MemoryOS_map: pa=0xc30800e0, va=0xc95000e0, sz=0x526f0 _ProcMgr_map for SlaveVirt: dstAddr [0xc3080000] sgList.paddr [0xc3080000] sgList.offset [0xe0] sgList.size [0x527d0] MemoryOS_map: pa=0xc306fb58, va=0xc9468b58, sz=0x120 _ProcMgr_map for SlaveVirt: dstAddr [0xc306f000] sgList.paddr [0xc306f000] sgList.offset [0xb58] sgList.size [0xc78] ProcMgr_startr Coff_getEntryPt: Entry point [0xc3080000] COFF File entry point: [0xc3080000] OMAPL1XXPROC_start: Configuring boot register Reset vector [0xc3080000]! OMAPL1XXPROC_start: Slave successfully started ProcMgr_close Ipc_control Ipc_CONTROLCMD_LOADCALLBACK ProcMgr_translateAddr: srcAddr [0xc3070000] dstAddr [0xc942a000] ProcMgr_translateAddr: srcAddr [0xc307001c] dstAddr [0xc942a01c] Assertion at Line no: 1810 in /home/glebf/ti/syslink_2_21_03_11/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Ipc.c: (Ipc_module->procSync == params->procSync) : failed handle->slaveSRCfg[0].entryBase c3f00000 Assertion at Line no: 1977 in /home/glebf/ti/syslink_2_21_03_11/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/omapl1xx/Platform.c: (!entry.isValid) : failed Platform_loadCallback: No SharedRegion.entry[0].cacheEnable configuration value found, using default FALSE Platform_loadCallback: Mapping SharedRegion 0 addr[ProcMgr_AddrType_MasterPhys] [0xc3f00000] addr[ProcMgr_AddrType_SlaveVirt] [0xc3f00000] size [0x20000] isCached [0] MemoryOS_map: pa=0xc3f00000, va=0xc9580000, sz=0x20000 _ProcMgr_map for SlaveVirt: dstAddr [0xc3f00000] sgList.paddr [0xc3f00000] sgList.offset [0x0] sgList.size [0x20000] Assertion at Line no: 2068 in /home/glebf/ti/syslink_2_21_03_11/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/omapl1xx/Platform.c: (!_SharedRegion_isStarted()) : failed *** _SharedRegion_setEntry: Entry already exists! Error [0xfffffffc] at Line no: 2024 in file /home/glebf/ti/syslink_2_21_03_11/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/SharedRegion.c ProcMgr_translateAddr: srcAddr [0xc3070000] dstAddr [0xc942a000] Ipc_control Ipc_Unable to handle kernel paging request at virtual address c9100010 CONTROLCMD_STARTCALLBACK pgd = c79c8000 [c9100010] *pgd=c6fb2811, *pte=00000000, *ppte=00000000 Internal error: Oops: 7 [#1] PREEMPT Modules linked in: syslink CPU: 0 Not tainted (3.1.10-gb6b7318-dirty #50) PC is at Ipc_readConfig+0x80/0x25c [syslink] LR is at Ipc_readConfig+0x48/0x25c [syslink] pc : [<bf040c34>] lr : [<bf040bfc>] psr: 60000013 sp : c6d83e40 ip : 00000008 fp : c6d83e90 r10: dada0000 r9 : 00000008 r8 : 00000000 r7 : bf0ea9a0 r6 : 00000000 r5 : 00000000 r4 : bf0ba810 r3 : c9100010 r2 : 00000002 r1 : 00050000 r0 : 00000000 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 0005317f Table: c79c8000 DAC: 00000015 Process AudioArm (pid: 1034, stack limit = 0xc6d82270) Stack: (0xc6d83e40 to 0xc6d84000) 3e40: dada0000 c6d83e90 00000008 c782e01c c7856840 00000017 c03456a8 00000000 3e60: 01387fff 00000000 bf0ea9a0 c6d82000 c6d82000 00000000 be9bbc6c bf01141c 3e80: 00000000 c016c0e0 00000000 c78b4000 00000000 c016da20 babe0001 bf0ea9a0 3ea0: 00000000 00000000 c6d82000 bf040b0c babe0001 00000000 c6d82000 be9bbc8c 3ec0: c014f497 be9bbc8c bf0ea9a0 bf07f060 c014f497 be9bbc8c c03456a8 00000029 3ee0: c7996800 40340000 babe0001 00000000 00046490 00000000 00000002 c6f74a00 3f00: be9bbc8c be9bbc8c 00000005 c7a89cf0 c6d82000 00000000 be9bbc6c c009200c 3f20: 00000000 00000000 c0159b84 00000000 00000000 00000000 00000001 c79dd288 3f40: 0000002a 00000000 c7a0d168 00000002 c6d82000 00000000 be9bbcc4 c0082534 3f60: c79dd280 0000002a c6f74a00 be9bbc8c c014f497 00000005 c00094a4 00000000 3f80: be9bbc6c c0092560 000000a2 00000001 0000002a 00046490 00000000 00008ccc 3fa0: 00000036 c0009320 00046490 00000000 00000005 c014f497 be9bbc8c 00000005 3fc0: 00046490 00000000 00008ccc 00000036 00000000 00000000 400f7000 be9bbc6c 3fe0: 00000000 be9bbc50 000348a0 402deb0c 20000010 00000005 fff3fefe 7f7fb6ff [<bf040c34>] (Ipc_readConfig+0x80/0x25c [syslink]) from [<bf01141c>] (Platform_startCallback+0x68/0x23c [syslink]) [<bf01141c>] (Platform_startCallback+0x68/0x23c [syslink]) from [<bf040b0c>] (Ipc_control+0xf0/0x178 [syslink]) [<bf040b0c>] (Ipc_control+0xf0/0x178 [syslink]) from [<bf07f060>] (IpcDrv_drvioctl+0x19c/0x5f8 [syslink]) [<bf07f060>] (IpcDrv_drvioctl+0x19c/0x5f8 [syslink]) from [<c009200c>] (do_vfs_ioctl+0x7c/0x598) [<c009200c>] (do_vfs_ioctl+0x7c/0x598) from [<c0092560>] (sys_ioctl+0x38/0x60) [<c0092560>] (sys_ioctl+0x38/0x60) from [<c0009320>] (ret_fast_syscall+0x0/0x2c) Code: 1a00005a e0888006 e0844108 e594301c (e5930000) ---[ end trace 364239b095439a8a ]---
If after the first successful attempt I execute 'rmmode syslink.ko' the kernel also crashes:
root@hawkboard:/usr/work# rmmod syslink.ko Assertion at Line no: 426 in /home/glebf/ti/syslink_2_21_03_11/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/transports/TransportShm.c: (TransportShm_module->transports [i][j] == NULL) : failed Unable to handle kernel paging request at virtual address c9102b80 pgd = c7aa8000 [c9102b80] *pgd=c6fac811, *pte=00000000, *ppte=00000000 Internal error: Oops: 807 [#1] PREEMPT Modules linked in: syslink(-) CPU: 0 Not tainted (3.1.10-gb6b7318-dirty #50) PC is at TransportShm_close+0xc4/0x398 [syslink] LR is at TransportShm_close+0x24/0x398 [syslink] pc : [<bf04f8c8>] lr : [<bf04f828>] psr: a0000013 sp : c7aa1eb0 ip : 00a7a000 fp : 00000000 r10: 00000000 r9 : bf0bab64 r8 : 00000000 r7 : bf0ea9a0 r6 : c9068000 r5 : bf0bab8c r4 : c906a000 r3 : c9102b80 r2 : 00000000 r1 : bf0bab64 r0 : 00000000 Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 0005317f Table: c7aa8000 DAC: 00000015 Process rmmod (pid: 1035, stack limit = 0xc7aa0270) Stack: (0xc7aa1eb0 to 0xc7aa2000) 1ea0: 00000014 00000000 00000000 00000000 1ec0: 00000000 e59f62cc 00000000 00000000 00000000 bf04fc88 bf0ea9a0 bf0ba97c 1ee0: 00000013 bf0ea774 bf0ea9a0 c7aa0000 00000013 c00094a4 c7aa0000 00000000 1f00: bec5ecbc bf012720 00000001 c00086b0 00000000 bf0ea9a0 bf0ea5d0 bf042b74 1f20: c7401180 00000001 00000001 bf0ea70c bf0ea5d0 bf07f670 00000000 c004b3f0 1f40: c7ac99f8 6c737973 006b6e69 c00710ac ffffffff 402da000 c794bd80 c0072194 1f60: c7aa0000 60000013 00000000 c794bdb4 00000000 00001000 402da000 000094a4 1f80: bf0ea5d0 00000880 c7aa1f8c 00000000 fbad2408 bec5ec90 00000880 00000880 1fa0: 00000081 c0009320 bec5ec90 00000880 bec5ec90 00000880 00000000 00011df0 1fc0: bec5ec90 00000880 00000880 00000081 00000002 00011de8 00000001 bec5ecbc 1fe0: 00000000 bec5ec90 00008e14 401759bc 60000010 bec5ec90 00000000 00000000 [<bf04f8c8>] (TransportShm_close+0xc4/0x398 [syslink]) from [<bf04fc88>] (TransportShm_destroy+0xec/0x234 [syslink]) [<bf04fc88>] (TransportShm_destroy+0xec/0x234 [syslink]) from [<bf012720>] (Platform_destroy+0x278/0x828 [syslink]) [<bf012720>] (Platform_destroy+0x278/0x828 [syslink]) from [<bf042b74>] (Ipc_destroy+0x6c/0xfc [syslink]) [<bf042b74>] (Ipc_destroy+0x6c/0xfc [syslink]) from [<bf07f670>] (KnlUtilsDrv_finalizeModule+0xc/0xb0 [syslink]) [<bf07f670>] (KnlUtilsDrv_finalizeModule+0xc/0xb0 [syslink]) from [<c004b3f0>] (sys_delete_module+0x1ec/0x260) [<c004b3f0>] (sys_delete_module+0x1ec/0x260) from [<c0009320>] (ret_fast_syscall+0x0/0x2c) Code: e5832004 e5943004 e1530002 0a000003 (e5832000) ---[ end trace 0e8d8d3a0be00f13 ]--- Segmentation fault root@hawkboard:/usr/work#
As I understand I perform all the necessary cleanup operations like in examples. But may be I have missed something. Could you please help me with that?
Thanks
Gleb