Solo5 / solo5

A sandboxed execution environment for unikernels
ISC License
883 stars 136 forks source link

Support for Solo5 unikernel lifecycle management on Muen & ABI increase #557

Closed Kensan closed 1 year ago

Kensan commented 1 year ago

The first two commits make it possible to (re-)use the existing Subject Lifecycle Management of Muen and also apply it to Solo5 unikernels. A possible use case is to configure automatic restarting of unikernels that invoke solo5_exit().

Increasing the ABI version is necessary due to the TLS changes. @dinosaure, maybe you prefer to squash this change into https://github.com/Solo5/solo5/pull/556/commits/806d40ab98595a3f7e6738d8bc29dc036fd111b7, which would be fine by me.

Finally, the adjustment to test_fpu has become necessary to successfully run the test on Muen, otherwise a #GP exception is raised. I guess we were lucky with alignment on other x86 bindings. Note that I have only verified that the test works on Muen but CI should show us if it unexpectedly broke hvt or any of the others.

Addendum: I manually ran the tests on Muen and the test that are expected to pass ran successfully.

dinosaure commented 1 year ago

Thanks for your fix, I will redo the 0.8.0 release which is not yet published in OPAM. I will write down an email to say that we change the tarball to include your changes :+1:.