Uh oh!
There was an error while loading. Please reload this page.
cc_version: use fixed length for CC_DESC - #2522
Conversation
xiulipan
commented
Mar 11, 2020
@kakulesza it seems from the log, there is not change needed for kernel https://sof-ci.01.org/sofpr/PR2522/build5231/devicetest/APL_UP2_PCM512X/verify-sof-firmware-load.sh/verify-sof-firmware-load.sh.txt @lgirdwood Please help to review this fix for the logger regression. |
Uh oh!
There was an error while loading. Please reload this page.
jajanusz
commented
Mar 12, 2020
@lgirdwood This is hard one, cos it's in abi header, but it's not really abi change, cos these fields are null-terminated strings anyway, so it doesn't matter for parsing if it's flex array or const array. It's fixed-size array just to overcome some embedded compiler limitations that are not up-to-date with gcc. |
Uh oh!
There was an error while loading. Please reload this page.
xiulipan
commented
Mar 13, 2020
@lgirdwood@ktrzcinx@jajanusz Thanks for remind about the Kernel part. There is indeed a need to make align on both side. |
Uh oh!
There was an error while loading. Please reload this page.
lgirdwood
commented
Mar 13, 2020
@xiulipan thanks, ping me once kernel one is approved. Can you assign ABI number too in classifier. |
xiulipan
commented
Mar 16, 2020
@lgirdwood It seems I did not have access for the project |
lgirdwood
commented
Mar 16, 2020
@xiulipan updated, I've given all member W access bow to align their ABI updates. |
xiulipan
commented
Mar 17, 2020
@lgirdwood Should this be go with an ABI patch or an ABI minor? |
lgirdwood
commented
Mar 17, 2020
@xiulipan Lets make it minor since it's impact is user & developer confusion if version is wrong |
xiulipan
commented
Mar 18, 2020
@lgirdwood update the PR with ABI to 3.15.0 |
lgirdwood
commented
Mar 18, 2020
@xiulipan ok, please ping when kernel is approved and we can merge. |
kv2019i
commented
Mar 20, 2020
@xiulipan@lgirdwood Kernel change is ready to go, but a concern was raised by @plbossart why we pick 24 chars as the length here. Is that future-proof enough? @paulstelian97 also had concerns on this. Let's agree on this, and then we can merge. |
jajanusz
commented
Mar 20, 2020
@xiulipan you need to rebase |
xiulipan
commented
Mar 24, 2020
@lgirdwood@plbossart I also find another mismatch in the |
lgirdwood
commented
Mar 24, 2020
@xiulipan I've assigned to ABI 14 |
xiulipan
commented
Mar 25, 2020
@lgirdwood So here is my thinking, we will need fix for FW to make |
lgirdwood
commented
Mar 25, 2020
@xiulipan anything in your plan preventing this PR merging into 14 ? |
xiulipan
commented
Mar 26, 2020
@lgirdwood I have updated thesofproject/linux#1890 to make each ABI change has its own ABI. |
lgirdwood
commented
Mar 26, 2020
ok, I can see the classifier has been updated. Does this now fully reflect your plan. |
jajanusz
commented
Mar 27, 2020
@xiulipan@plbossart@lgirdwood Please prioritize merging this PR. Logs are already broken for like 2 weeks. |
@lgirdwood I think we we are good to go now. We hit issues by merging FW patches for ABI bumps that were not approved on kernel side, but we gain nothing by delaying this. I.e. let's put this in, and then @xiulipan linux#1890 and then we are aligned again. |
There was a problem hiding this comment.
@xiulipan This does not align with the classifier or the commit message. Can you double check this.
There was a problem hiding this comment.
@lgirdwood@xiulipan D'oh, you are right. The kernel patch (not yet merged) puts cc_version as ABI16:
thesofproject/linux@3552e9c
So definitely commit message and patch are not in sync here.
This probably happened because FW PRs for ABI15 have been merged without bumping the version. E.g.
e6940da
... was the last PR for ABI14, but it was merged with abi.h of ABI14.
I think we can probably still go ahead with this. The abi.h version needs to be changed to 16 when the last PR for ABI16 is merged. As @lyakh commented on the kernel side, if this is the norm to have multiple changes done in a single bump, we need to separate the commits that add functionality from commits that bump the version. I.e. we open ABIxx for development, have interface changes approved for this ABI level, and then we have a closing commit that freezes ABIxx. No binary FW releases should be done from master during this time.
There was a problem hiding this comment.
@lgirdwood The three kernel pr is already there
thesofproject/linux#1947
thesofproject/linux#1946
thesofproject/linux#1890
Replace char with uint8_t to have fixed lenght for string. char has minimum 8 bits length. Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
There is a bug in the Cadence XCC compiler that give us different linkage section sizes for flex length struct sof_ipc_ext_data in ELF file compared to GCC version. And there are appending struct in the same ELF section, this will bring wrong offset for those struct binary in ELF file. Example: When the CC_DESC is " RG-2017.8-linux", we should have struct length for 0x50 in header size, but the binary length in ELF file is 0x4c. When the CC_DESC is " RG-2017.8-win", size are both 0x4c All existing compiler description has length less than 32 bytes. So use a fixed length 32 in this structure. ABI version changes to 3.15.0 Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
kv2019i
commented
Mar 31, 2020
@lgirdwood Kernel side now ready to go. |
lgirdwood
commented
Apr 1, 2020
CI know issues. |
lgirdwood
commented
Apr 1, 2020
@kv2019i Merged, I think we are good now |
kv2019i
commented
Apr 1, 2020
@lgirdwood wrote:
Ack, all changes for ABI versions 14&15 are now good in both kernel and fw. |
Fix ABI version to 3.15.0 on master first.
There is a bug in the Cadence XCC compiler that give us different
linkage section sizes for flex length struct sof_ipc_ext_data in
ELF file compared to GCC version. And there are appending struct
in the same ELF section, this will bring wrong offset for those
struct binary in ELF file.
Example:
When the CC_DESC is " RG-2017.8-linux", we should have struct
length for 0x50 in header size, but the binary length in ELF file
is 0x4c. When the CC_DESC is " RG-2017.8-win", size are both 0x4c
All existing compiler description has length less than
24 bytes. So use a fixed length 24 in this structure.
ABI version 3.16.0
Signed-off-by: Pan Xiuli xiuli.pan@linux.intel.com
fix#2507