Hi Philipp,
A few things to clarify:
- We have shown dynamic resizing as a prototype in
a branch of our old SM, and has never been merged to upstream. Now this branch is too stale, so merging it would be non-trivial. It means that the upstream Keystone doesn't support dynamic resizing
- The dynamic resizing of Keystone only supports increasing memory, not decreasing. So when freemem runs out, the enclave is supposed to call "extend_enclave" SBI to request for more memory
- Freemem is any memory that sits at the end of the initial enclave binary. When enclave initializes, any unused memories are claimed as freemem, and used by the runtime.
Hope that helps,
Please let me know if there's anything you need.
Thanks,
Dayeol