Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@Kensan
Copy link
Contributor

@Kensan Kensan commented Apr 27, 2023

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 806d40a, 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.

Kensan added 4 commits April 27, 2023 23:08
Do not use memory below 2 MB. This brings Solo5 unikernels in line with
native Muen components and will make it possible to seamlessly use the
existing (re-)initialization code for subject restart on top of Muen.
In platform_exit(), look up the event called "solo5_exit" and trigger it
if it is present. This allows Muen systems to take action whenever Solo5
exits, e.g. immediately restart the unikernel.
For Intel x86 the movaps instruction requires an aligned memory operand,
see Intel SDM Vol. 2B.
@dinosaure
Copy link
Collaborator

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 👍.

@dinosaure dinosaure merged commit efa949b into Solo5:master Apr 28, 2023
dinosaure added a commit that referenced this pull request Apr 28, 2023
@Kensan Kensan deleted the muen-misc branch June 7, 2023 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants