Tool/software:
For the .base section in this Ipc_ResourceTable in ti/drv/lpm/src/lpm_ipc_rsctable.h, it seems that .num is being set to the version number, and .ver is being set to the number of entries. I tried using this resource table in my own program and it crashed. I had to correct this problem as shown below. I was using ti-processor-sdk-rtos-j721e-evm-10_00_00_05/pdk_jacinto_10_00_00_27.
const Ipc_ResourceTable ti_ipc_remoteproc_ResourceTable __attribute__ ((section (".resource_table"), aligned (4096))) = { // I FOUND A BUG! // SHOULD BE // .base = // { // .num = NUM_ENTRIES, /* number of entries in the table */ // .ver = 1U, /* we're the first version that implements this */ // .reserved = {0U, 0U}, /* reserved, must be zero */ // }, // CURRENTLY WE HAVE THIS .base = { .num = 1U, /* we're the first version that implements this */ .ver = NUM_ENTRIES, /* number of entries in the table */ .reserved = {0U, 0U}, /* reserved, must be zero */ }, /* offsets to entries */ .offset = { offsetof(Ipc_ResourceTable, rpmsg_vdev), offsetof(Ipc_ResourceTable, trace), }, /* rpmsg vdev entry */ .rpmsg_vdev = { TYPE_VDEV, VIRTIO_ID_RPMSG, 0U, RPMSG_R5F_C0_FEATURES, 0U, 0U, 0U, 2U, { 0U, 0U }, /* no config data */ }, /* the two vrings */ .rpmsg_vring0 = { RPMSG_VRING_ADDR_ANY, 4096U, R5F_RPMSG_VQ0_SIZE, 1U, 0U }, .rpmsg_vring1 = { RPMSG_VRING_ADDR_ANY, 4096U, R5F_RPMSG_VQ1_SIZE, 2U, 0U }, .trace = { (TRACE_INTS_VER0 | TYPE_TRACE), TRACEBUFADDR, IPC_TRACE_BUFFER_MAX_SIZE, 0, "trace:r5f0", }, };
The problem in seen here on lines 81 and 82
https://git.ti.com/cgit/processor-sdk/pdk/tree/packages/ti/drv/lpm/src/lpm_ipc_rsctable.h
Also is this the correct way to report a bug? How should I report problems I find to TI?