This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SYSBIOS Cache API, XMC prefetch buffer, and C66 Silicon Errata

Other Parts Discussed in Thread: SYSBIOS

Could anyone explain to me why SYSBIOS implementation of Cache API for C66x distinguishs between global ("All") and block coherency operations?

Namely implementation of block coherency operations take into account XMC prefetch buffer (invalidate it as well, if necessary) and provide workaround for the notorious Advisory 22 (sprz334e.pdf) whereas implementation of global coherency opetations ignores XMC and, which is even more important, ignores the silicon bug altogether? I couldn't find any hint in the documentation...

SYSBIOS vestion: 6.33.06.50

Thanks in advance,

Dmitry

  • Hi Dmitry,

    Which hardware platform are you working on?

    Steve

  • Hi Steve,

    We use C6678 (EVM for now but we plan to design a custom board later)

    Dmitry

  • Dmitry,

    Originally, the L2 Cache corruption only affected the Block Coherence Operation (Advisory 7) so that is why we took measure to fix the Block Coherence APIs.  With Advisory 22 affecting both block and global operations, I agree that we need to relook at the global operations.  I believe the only global operation affected would be Cache_wbInvAll() as Cache_wbAll() is not affected and we don't support Cache_invAll().

    As far as the XMC prefetch buffer, I think you are correct, this is an oversight.  We should just invalidate the prefetch buffer regardless of whether any of the prefetch bit is enabled in the MAR registers.

    We currently have an open issue, SDOCM00073425, to look at this.

    Judah

  • Judah,

    Thank you for the explanation

    Regards,

    Dmitry