Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Be able to build
spt
,virtio
,muen
andxen
targets on OpenBSD (@adamsteen, On OpenBSD only build for HVT Solo5/solo5#544). This change does not allow us to "run" these targets on OpenBSDFix linker scripts with TLS (Thread Local Storage) sections (@palainp, @hannesm, @dinosaure, fix linker scripts with thread section Solo5/solo5#542)
Export TLS symbols (@palainp, @hannesm, @dinosaure, Tls export symbols Solo5/solo5#546) breaking change due to fix linker scripts with thread section Solo5/solo5#542 & Tls export symbols Solo5/solo5#546, tenders must be upgraded. Indeed, solo5.0.7.* tenders will not be able to load correctly unikernels compiled with solo5.0.8.0. The internal ABI version for
solo5-hvt
/solo5-spt
was upgraded accordingly.This version implements Thread Local Storage. The user can initialise a TLS block with
solo5_tls_init
on a pointer tosolo5_tls_size()
free bytes. Then, the user is able to set thetp
(Thread Pointer) pointer viasolo5_set_tls_base(solo5_tls_tp_offset(tls_block))
. More details are available intosolo5.h
.Note: this change does not allow a Solo5 unikernel to use multiple cores! It only provides an API required by OCaml 5 / pthread to launch, at most, one thread.
Fix tests reported by NixOS (@greydot, @ehmry, Fix noexec test Solo5/solo5#547)
Split out the
time.c
implementation between Muen and HVT (@dinosaure, @Kensan, Split out C files between muen and hvt bindings Solo5/solo5#552)User hypercall instead of TSC-based clock when the user asks for the wall-clock (@dinosaure, @reynir, Clock drift Solo5/solo5#549, Use the hypercall instead of the TSC-based clock to implement the wall clock Solo5/solo5#550)
Note: only hvt & virtio are updated to avoid a clock drift on the wall-clock. Indeed, when the unikernel is suspended, the wall-clock is not updated. Muen & Xen still use a TSC-based wall-clock. The spt target was already in sync with the host's wall-clock.
Improve the muen clock (@Kensan, Improve
muen
clock Solo5/solo5#553)Fix the
.bss
section according to fix linker scripts with thread section Solo5/solo5#542 & Tls export symbols Solo5/solo5#546. The.bss
section is tagged withPT_LOAD
. Tenders are available to load this section properly. (@Kensan, @dinosaure, Fix .bss initialization Solo5/solo5#551, Tag bss section as PT_LOAD for hvt/virtio/xen unikernels Solo5/solo5#554)Fix the cross-compilation of Solo5 for
aarch64
(@dinosaure, @palainp, @hannes, Fix the compilation of solo5-aarch64 and the TLS support Solo5/solo5#555)