We could use seL4HardwareMMIO regions and declare our data in the memory map and use these regions as un-cached. Or use the _hardware_cached attribute and call the provided flush method when necessary. Our main issue with doing this, except the fiddle of mapping multiple different sized regions into the memory map, is we could potentially expose the physical locations of the sensitive data rather than having it wrapped in the virtual address space of a component.
Having a flush method on seL4SharedData would be the ideal solution.
We are not in a position to upgrade our CAmkES version on this product at the moment.
Any thoughts?