Re: [RFC 06/16] KVM: selftests: add library for creating/interacting with SEV guests

From: Paolo Bonzini
Date: Thu Oct 21 2021 - 11:39:53 EST


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