Skip to content
This repository was archived by the owner on Oct 18, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
## 3.0.3 (2017-06-16)
* xen: we need io-page-xen because
- mirage-xen depends on xen-gnt (for suspend/resume callbacks)
- xen-gnt depends on io-page (to represent the types of page mappings)
- io-page needs either io-page-unix or io-page-xen. We can't hardcode
a dependency because it needs to be different on Unix / Xen / Solo5.
In future we could break the link by adding some kind of `pre suspend`
`post resume` callback mechanism and then remove the `xen-gnt` dependency.

* unix: we need io-page-unix because
- mirage-types-lwt is in the `common` set linked into all Unikernels by
the `mirage` tool
- mirage-types-lwt depends on `mirage-block-lwt` and `mirage-net-lwt`
- mirage-block-lwt depends on io-page
- io-page needs either io-page-unix or io-page-xen. We can't hardcode
a dependency because it needs to be different on Unix / Xen / Solo5
In future we could break the link by rethinking the alignment requirements
of the interfaces. Perhaps FLOW could be unaligned but raw NETIF
and BLOCKIF aligned?

## 3.0.2 (2017-06-16)
* Remove dependency on io-page. Note this changes the exposed interface
of the console and xenstore rings to be Cstruct.ts
Expand Down
1 change: 1 addition & 0 deletions mirage-unix.opam
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ depends: [
"shared-memory-ring" {>= "1.0.0"}
"mirage-profile" {>= "0.3"}
"logs"
"io-page-unix" {>= "2.0.0"}
]
available: [ocaml-version >= "4.01.0"]
tags: "org:mirage"
1 change: 1 addition & 0 deletions mirage-xen.opam
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ depends: [
"conf-pkg-config"
"mirage-profile" {>= "0.3"}
"mirage-xen-ocaml" {>= "2.6.0"}
"io-page-xen" {>= "2.0.0"}
"logs"
]
available: [ ocaml-version >= "4.01.0" & os = "linux" ]
2 changes: 1 addition & 1 deletion unix/_oasis
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ Library "OS"
Findlibname: mirage-unix
Pack: true
Modules: Env, Lifecycle, Main, Time
BuildDepends: cstruct, lwt, lwt.unix, mirage-clock-unix, logs
BuildDepends: io-page-unix, cstruct, lwt, lwt.unix, mirage-clock-unix, logs
3 changes: 2 additions & 1 deletion unix/_tags
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# OASIS_START
# DO NOT EDIT (digest: f0b588c44230b2d6e3d8d383a2cbe882)
# DO NOT EDIT (digest: f0f70e45920c441c7a80f558eea0e09a)
# Ignore VCS directories, you can use the same kind of rule outside
# OASIS_START/STOP if you want to exclude directories that contains
# useless stuff for the build process
Expand All @@ -21,6 +21,7 @@ true: annot, bin_annot
"lib/main.cmx": for-pack(OS)
"lib/time.cmx": for-pack(OS)
<lib/*.ml{,i,y}>: pkg_cstruct
<lib/*.ml{,i,y}>: pkg_io-page-unix
<lib/*.ml{,i,y}>: pkg_logs
<lib/*.ml{,i,y}>: pkg_lwt
<lib/*.ml{,i,y}>: pkg_lwt.unix
Expand Down
4 changes: 2 additions & 2 deletions unix/lib/META
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# OASIS_START
# DO NOT EDIT (digest: fe6410c8e8c9d279c2e7a83b749ea874)
# DO NOT EDIT (digest: 271136f2e8d0cc199914d686aeb2315c)
version = "3.0.1"
description = "Library support for the Mirage/Unix backend"
requires = "cstruct lwt lwt.unix mirage-clock-unix logs"
requires = "io-page-unix cstruct lwt lwt.unix mirage-clock-unix logs"
archive(byte) = "OS.cma"
archive(byte, plugin) = "OS.cma"
archive(native) = "OS.cmxa"
Expand Down
20 changes: 7 additions & 13 deletions unix/myocamlbuild.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
(* OASIS_START *)
(* DO NOT EDIT (digest: 3522b494e2ffb1d9f2067af1ecbf387d) *)
(* DO NOT EDIT (digest: 6138eb169b7fd3d38bdc7b1f857e15c6) *)
module OASISGettext = struct
(* # 22 "src/oasis/OASISGettext.ml" *)

Expand Down Expand Up @@ -105,10 +105,7 @@ module OASISString = struct
ok := false;
incr str_idx
done;
if !what_idx = String.length what then
true
else
false
!what_idx = String.length what


let strip_starts_with ~what str =
Expand All @@ -131,10 +128,7 @@ module OASISString = struct
ok := false;
decr str_idx
done;
if !what_idx = -1 then
true
else
false
!what_idx = -1


let strip_ends_with ~what str =
Expand Down Expand Up @@ -440,7 +434,7 @@ module OASISExpr = struct
end


# 443 "myocamlbuild.ml"
# 437 "myocamlbuild.ml"
module BaseEnvLight = struct
(* # 22 "src/base/BaseEnvLight.ml" *)

Expand Down Expand Up @@ -520,7 +514,7 @@ module BaseEnvLight = struct
end


# 523 "myocamlbuild.ml"
# 517 "myocamlbuild.ml"
module MyOCamlbuildFindlib = struct
(* # 22 "src/plugins/ocamlbuild/MyOCamlbuildFindlib.ml" *)

Expand Down Expand Up @@ -881,7 +875,7 @@ module MyOCamlbuildBase = struct
end


# 884 "myocamlbuild.ml"
# 878 "myocamlbuild.ml"
open Ocamlbuild_plugin;;
let package_default =
{
Expand All @@ -896,6 +890,6 @@ let conf = {MyOCamlbuildFindlib.no_automatic_syntax = false}

let dispatch_default = MyOCamlbuildBase.dispatch_default conf package_default;;

# 900 "myocamlbuild.ml"
# 894 "myocamlbuild.ml"
(* OASIS_STOP *)
Ocamlbuild_plugin.dispatch dispatch_default;;
55 changes: 23 additions & 32 deletions unix/setup.ml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
(* setup.ml generated for the first time by OASIS v0.4.5 *)

(* OASIS_START *)
(* DO NOT EDIT (digest: ac2748ec9b7df66f01cb220c6b7a6762) *)
(* DO NOT EDIT (digest: 7bf57d817e6093d442eaaf761dcbbe26) *)
(*
Regenerated by OASIS v0.4.8
Regenerated by OASIS v0.4.10
Visit http://oasis.forge.ocamlcore.org for more information and
documentation about functions used in this file.
*)
Expand Down Expand Up @@ -112,10 +112,7 @@ module OASISString = struct
ok := false;
incr str_idx
done;
if !what_idx = String.length what then
true
else
false
!what_idx = String.length what


let strip_starts_with ~what str =
Expand All @@ -138,10 +135,7 @@ module OASISString = struct
ok := false;
decr str_idx
done;
if !what_idx = -1 then
true
else
false
!what_idx = -1


let strip_ends_with ~what str =
Expand Down Expand Up @@ -3162,7 +3156,7 @@ module OASISFileUtil = struct
end


# 3165 "setup.ml"
# 3159 "setup.ml"
module BaseEnvLight = struct
(* # 22 "src/base/BaseEnvLight.ml" *)

Expand Down Expand Up @@ -3242,7 +3236,7 @@ module BaseEnvLight = struct
end


# 3245 "setup.ml"
# 3239 "setup.ml"
module BaseContext = struct
(* # 22 "src/base/BaseContext.ml" *)

Expand Down Expand Up @@ -5665,7 +5659,7 @@ module BaseCompat = struct
end


# 5668 "setup.ml"
# 5662 "setup.ml"
module InternalConfigurePlugin = struct
(* # 22 "src/plugins/internal/InternalConfigurePlugin.ml" *)

Expand Down Expand Up @@ -6016,17 +6010,14 @@ module InternalInstallPlugin = struct

let install =

let in_destdir =
let in_destdir fn =
try
let destdir =
destdir ()
in
(* Practically speaking destdir is prepended
* at the beginning of the target filename
*)
fun fn -> destdir^fn
(* Practically speaking destdir is prepended at the beginning of the
target filename
*)
(destdir ())^fn
with PropList.Not_set _ ->
fun fn -> fn
fn
in

let install_file ~ctxt ?(prepend_destdir=true) ?tgt_fn src_file envdir =
Expand Down Expand Up @@ -6471,7 +6462,7 @@ module InternalInstallPlugin = struct
end


# 6474 "setup.ml"
# 6465 "setup.ml"
module OCamlbuildCommon = struct
(* # 22 "src/plugins/ocamlbuild/OCamlbuildCommon.ml" *)

Expand Down Expand Up @@ -6828,11 +6819,10 @@ module OCamlbuildDocPlugin = struct
run_ocamlbuild ~ctxt (index_html :: run.extra_args) argv;
List.iter
(fun glb ->
BaseBuilt.register
~ctxt
BaseBuilt.BDoc
cs.cs_name
[OASISFileUtil.glob ~ctxt (Filename.concat tgt_dir glb)])
match OASISFileUtil.glob ~ctxt (Filename.concat tgt_dir glb) with
| (_ :: _) as filenames ->
BaseBuilt.register ~ctxt BaseBuilt.BDoc cs.cs_name [filenames]
| [] -> ())
["*.html"; "*.css"]


Expand All @@ -6844,7 +6834,7 @@ module OCamlbuildDocPlugin = struct
end


# 6847 "setup.ml"
# 6837 "setup.ml"
open OASISTypes;;

let setup_t =
Expand Down Expand Up @@ -6910,6 +6900,7 @@ let setup_t =
bs_compiled_object = Best;
bs_build_depends =
[
FindlibPackage ("io-page-unix", None);
FindlibPackage ("cstruct", None);
FindlibPackage ("lwt", None);
FindlibPackage ("lwt.unix", None);
Expand Down Expand Up @@ -7087,16 +7078,16 @@ let setup_t =
plugin_data = []
};
oasis_fn = Some "_oasis";
oasis_version = "0.4.8";
oasis_digest = Some "&\rJY\244s\160\251g\136\015\177\143\144|\143";
oasis_version = "0.4.10";
oasis_digest = Some "\165\127\226\247\142\146;AR\204\017\239\156np\016";
oasis_exec = None;
oasis_setup_args = [];
setup_update = false
};;

let setup () = BaseSetup.setup setup_t;;

# 7100 "setup.ml"
# 7091 "setup.ml"
let setup_t = BaseCompat.Compat_0_4.adapt_setup_t setup_t
open BaseCompat.Compat_0_4
(* OASIS_STOP *)
Expand Down
2 changes: 1 addition & 1 deletion xen/_oasis
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ Library "OS"
BuildDepends: lwt,cstruct,xen-evtchn,xen-gnt,xenstore.client,
shared-memory-ring,shared-memory-ring-lwt,
mirage-clock-freestanding,
mirage-profile,logs
io-page-xen,mirage-profile,logs
3 changes: 2 additions & 1 deletion xen/_tags
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# OASIS_START
# DO NOT EDIT (digest: 181b6989d68d0f09b6cf08af34ae5c2c)
# DO NOT EDIT (digest: 83f5784d1d166bb4f2989f4f1df0f834)
# Ignore VCS directories, you can use the same kind of rule outside
# OASIS_START/STOP if you want to exclude directories that contains
# useless stuff for the build process
Expand Down Expand Up @@ -28,6 +28,7 @@ true: annot, bin_annot
"lib/xenctrl.cmx": for-pack(OS)
"lib/xs.cmx": for-pack(OS)
<lib/*.ml{,i,y}>: pkg_cstruct
<lib/*.ml{,i,y}>: pkg_io-page-xen
<lib/*.ml{,i,y}>: pkg_logs
<lib/*.ml{,i,y}>: pkg_lwt
<lib/*.ml{,i,y}>: pkg_mirage-clock-freestanding
Expand Down
4 changes: 2 additions & 2 deletions xen/lib/META
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# OASIS_START
# DO NOT EDIT (digest: 5c32ebc9bc9aabbe48b44ab15344a354)
# DO NOT EDIT (digest: fcf953f84b87ace0b6daae5ed4962365)
version = "3.0.1"
description = "Library support for the Mirage/Xen backend"
requires =
"lwt cstruct xen-evtchn xen-gnt xenstore.client shared-memory-ring shared-memory-ring-lwt mirage-clock-freestanding mirage-profile logs"
"lwt cstruct xen-evtchn xen-gnt xenstore.client shared-memory-ring shared-memory-ring-lwt mirage-clock-freestanding io-page-xen mirage-profile logs"
archive(byte) = "OS.cma"
archive(byte, plugin) = "OS.cma"
archive(native) = "OS.cmxa"
Expand Down
6 changes: 3 additions & 3 deletions xen/setup.ml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(* setup.ml generated for the first time by OASIS v0.4.5 *)

(* OASIS_START *)
(* DO NOT EDIT (digest: a50cb3b17b739c06a6ed64e767e6f493) *)
(* DO NOT EDIT (digest: 65a6098bfe4df854b5083cd072b7e218) *)
(*
Regenerated by OASIS v0.4.10
Visit http://oasis.forge.ocamlcore.org for more information and
Expand Down Expand Up @@ -6908,6 +6908,7 @@ let setup_t =
FindlibPackage ("shared-memory-ring", None);
FindlibPackage ("shared-memory-ring-lwt", None);
FindlibPackage ("mirage-clock-freestanding", None);
FindlibPackage ("io-page-xen", None);
FindlibPackage ("mirage-profile", None);
FindlibPackage ("logs", None)
];
Expand Down Expand Up @@ -7096,8 +7097,7 @@ let setup_t =
};
oasis_fn = Some "_oasis";
oasis_version = "0.4.10";
oasis_digest =
Some "\194y\235a\128\005\138}\187\225\219H\187\030\173\206";
oasis_digest = Some "g\192y\203\249\161\218a\173\222\250\0164\239j\212";
oasis_exec = None;
oasis_setup_args = [];
setup_update = false
Expand Down