On 06/10/21 22:37, Michael Roth wrote:
+struct sev_sync_data {
+ uint32_t token;
+ bool pending;
+ bool done;
+ bool aborted;
+ uint64_t info;
+};
+
Please add a comment explaining roughly the design and what the fields
are for. Maybe the bools can be replaced by an enum { DONE, ABORT,
SYNC, RUNNING } (running is for pending==false)?
Also, for the part that you can feel free to ignore: this seems to be
similar to the ucall mechanism. Is it possible to implement the ucall
interface in terms of this one (or vice versa)?
One idea could be to:
- move ucall to the main lib/ directory
- make it use a struct of function pointers, whose default
implementation would be in the existing lib/ARCH/ucall.c files
- add a function to register the struct for the desired implementation
- make sev.c register its own implementation
Thanks,
Paolo