MTE unikernel with Mkernel+Mnet+Vifu

This commit is contained in:
swrup 2026-03-11 14:17:52 +01:00 committed by Swrup
parent 76662bf23c
commit a23e59dfca
31 changed files with 535 additions and 376 deletions

View file

@ -1,34 +1,48 @@
(executable
(public_name mte)
(name mte)
(modules mte)
(libraries mte))
(link_flags :standard -cclib "-z solo5-abi=hvt")
(libraries mte)
(foreign_stubs
(language c)
(names manifest)))
(library
(name mte)
(wrapped false)
(modules :standard \ mte b32)
(libraries
;
mkernel
mnet
mnet-happy-eyeballs
mnet-dns
vifu
gmp
mirage-crypto
mirage-crypto-rng
mirage-crypto-rng-mkernel
mirage-mtime.solo5
mirage-ptime.solo5
mfat
;
b32
;
caqti
caqti-miou
caqti-miou.unix
caqti-mnet
caqti-driver-pgx
pgx
;
bin
mirage-crypto
jsont
cohttp ; just for header stuff
duration
kdf.hkdf
digestif
duration
vif
fmt
jsont
cohttp
ptime
logs
logs.fmt
logs.threaded
fmt.tty))
logs.fmt))
(library ; crockford base32
(name b32)
@ -43,3 +57,18 @@
(with-stdout-to
%{null}
(run ocaml-crunch -m plain ../assets -o %{target}))))
(rule
(targets manifest.c)
(deps manifest.json)
(enabled_if
(= %{context_name} "solo5"))
(action
(run solo5-elftool gen-manifest manifest.json manifest.c)))
(rule
(targets manifest.c)
(enabled_if
(= %{context_name} "default"))
(action
(write-file manifest.c "")))