parent
f25f5115af
commit
d5c99500dc
@ -1,54 +0,0 @@
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Init = Genode.Init
|
||||
|
||||
let Child = Init.Child
|
||||
|
||||
let init =
|
||||
Init::{
|
||||
, children = toMap
|
||||
{ solo5 =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "solo5-test_blk"
|
||||
, exitPropagate = True
|
||||
, resources = Init.Resources::{
|
||||
, caps = 256
|
||||
, ram = Genode.units.MiB 3
|
||||
}
|
||||
, routes = [ Init.ServiceRoute.parent "Timer" ]
|
||||
}
|
||||
, block =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "vfs_block"
|
||||
, provides = [ "Block" ]
|
||||
, resources = Init.Resources::{ ram = Genode.units.MiB 12 }
|
||||
, config = Init.Config::{
|
||||
, content =
|
||||
[ Genode.Prelude.XML.text
|
||||
''
|
||||
<vfs>
|
||||
<ram/>
|
||||
<import>
|
||||
<zero name="block.raw" size="8M"/>
|
||||
</import>
|
||||
</vfs>
|
||||
''
|
||||
]
|
||||
, policies =
|
||||
[ Init.Config.Policy::{
|
||||
, service = "Block"
|
||||
, attributes = toMap
|
||||
{ file = "block.raw", writeable = "yes" }
|
||||
, label =
|
||||
Init.LabelSelector.Type.Partial
|
||||
{ prefix = Some "solo5", suffix = None Text }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
in Init.toChild init Init.Attributes.default
|
@ -1,45 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
with pkgs;
|
||||
|
||||
let
|
||||
solo5Test = { name, machine, ... }@args:
|
||||
args // {
|
||||
name = "solo5-" + name;
|
||||
machine = machine // {
|
||||
inputs = [ pkgs.solo5 pkgs.solo5.tests ] ++ machine.inputs;
|
||||
};
|
||||
};
|
||||
|
||||
genodeDepot = pkgs.genodeSources.depot;
|
||||
genodeMake = pkgs.genodeSources.make;
|
||||
|
||||
in map solo5Test [
|
||||
{
|
||||
name = "multi";
|
||||
machine = {
|
||||
config = "${./.}/solo5.dhall { isAarch64 = ${
|
||||
if pkgs.stdenv.hostPlatform.isAarch64 then "True" else "False"
|
||||
} }";
|
||||
inputs = map genodeMake [ "app/ping" ] ++ (map genodeDepot [
|
||||
"nic_bridge"
|
||||
"nic_loopback"
|
||||
"sequence"
|
||||
"vfs_block"
|
||||
"vfs_import"
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
name = "ssp";
|
||||
machine = {
|
||||
config = ./ssp.dhall;
|
||||
inputs = [ ];
|
||||
};
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.wait_until_serial_output("Error: stack protector check failed")
|
||||
'';
|
||||
}
|
||||
|
||||
]
|
@ -1,25 +0,0 @@
|
||||
{
|
||||
name = "solo5-multi";
|
||||
machine = { pkgs, ... }: {
|
||||
genode.init.children.tests = {
|
||||
configFile = builtins.toFile "solo5-multi.dhall"
|
||||
"${./.}/solo5.dhall { isAarch64 = ${
|
||||
if pkgs.stdenv.hostPlatform.isAarch64 then "True" else "False"
|
||||
} }";
|
||||
inputs = with pkgs.genodePackages; [
|
||||
nic_bridge
|
||||
nic_loopback
|
||||
ping
|
||||
sequence
|
||||
solo5
|
||||
solo5.tests
|
||||
vfs_block
|
||||
vfs_import
|
||||
];
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.wait_until_serial_output("child \"tests\" exited with exit value 0")
|
||||
'';
|
||||
}
|
@ -1,73 +0,0 @@
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Init = Genode.Init
|
||||
|
||||
let Child = Init.Child
|
||||
|
||||
let Res = Init.Resources
|
||||
|
||||
let ServiceRoute = Init.ServiceRoute
|
||||
|
||||
let init =
|
||||
Init::{
|
||||
, routes =
|
||||
[ Genode.Init.ServiceRoute.parent "Timer"
|
||||
, Genode.Init.ServiceRoute.child "Nic" "bridge"
|
||||
]
|
||||
, children = toMap
|
||||
{ nic =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "nic_loopback"
|
||||
, provides = [ "Nic" ]
|
||||
}
|
||||
, bridge =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "nic_bridge"
|
||||
, resources = Res::{ caps = 200, ram = Genode.units.MiB 6 }
|
||||
, provides = [ "Nic" ]
|
||||
, routes = [ ServiceRoute.child "Nic" "nic" ]
|
||||
, config = Init.Config::{
|
||||
, attributes = toMap { mac = "02:02:02:02:03:00" }
|
||||
, policies =
|
||||
[ Init.Config.Policy::{
|
||||
, service = "Nic"
|
||||
, attributes = toMap { ip_addr = "10.0.0.2" }
|
||||
, label =
|
||||
Init.LabelSelector.Type.Partial
|
||||
{ prefix = Some "solo5", suffix = None Text }
|
||||
}
|
||||
]
|
||||
, defaultPolicy = Some Init.Config.DefaultPolicy::{=}
|
||||
}
|
||||
}
|
||||
, solo5 =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "solo5-test_net"
|
||||
, resources = Res::{ caps = 256, ram = Genode.units.MiB 3 }
|
||||
, config = Init.Config::{
|
||||
, content =
|
||||
[ Genode.Prelude.XML.text "<cmdline>limit</cmdline>" ]
|
||||
}
|
||||
}
|
||||
, ping =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "ping"
|
||||
, exitPropagate = True
|
||||
, resources = Res::{ caps = 128, ram = Genode.units.MiB 6 }
|
||||
, config = Init.Config::{
|
||||
, attributes = toMap
|
||||
{ interface = "10.0.0.72/24"
|
||||
, dst_ip = "10.0.0.2"
|
||||
, period_sec = "1"
|
||||
, verbose = "no"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
in Init.toChild init Init.Attributes.default
|
@ -1,86 +0,0 @@
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Init = Genode.Init
|
||||
|
||||
let Child = Init.Child
|
||||
|
||||
let Res = Init.Resources
|
||||
|
||||
let init =
|
||||
Init::{
|
||||
, routes =
|
||||
[ Genode.Init.ServiceRoute.parent "Timer"
|
||||
, Genode.Init.ServiceRoute.child "Nic" "bridge"
|
||||
]
|
||||
, children = toMap
|
||||
{ nic =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "nic_loopback"
|
||||
, provides = [ "Nic" ]
|
||||
}
|
||||
, bridge =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "nic_bridge"
|
||||
, resources = Res::{ caps = 200, ram = Genode.units.MiB 8 }
|
||||
, provides = [ "Nic" ]
|
||||
, routes = [ Genode.Init.ServiceRoute.child "Nic" "nic" ]
|
||||
, config = Init.Config::{
|
||||
, defaultPolicy = Some Init.Config.DefaultPolicy::{=}
|
||||
, policies =
|
||||
[ Init.Config.Policy::{
|
||||
, service = "Nic"
|
||||
, attributes = toMap { ip_addr = "10.0.0.2" }
|
||||
, label =
|
||||
Init.LabelSelector.Type.Full "solo5 -> service0"
|
||||
}
|
||||
, Init.Config.Policy::{
|
||||
, service = "Nic"
|
||||
, attributes = toMap { ip_addr = "10.1.0.2" }
|
||||
, label =
|
||||
Init.LabelSelector.Type.Full "solo5 -> service1"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
, solo5 =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "solo5-test_net_2if"
|
||||
, resources = Res::{ caps = 256, ram = Genode.units.MiB 5 }
|
||||
, config = Init.Config::{
|
||||
, content =
|
||||
[ Genode.Prelude.XML.text
|
||||
''
|
||||
"<cmdline>limit</cmdline>"
|
||||
''
|
||||
]
|
||||
}
|
||||
}
|
||||
, clients =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "sequence"
|
||||
, exitPropagate = True
|
||||
, resources = Res::{ caps = 256, ram = Genode.units.MiB 8 }
|
||||
, config = Init.Config::{
|
||||
, content =
|
||||
[ Genode.Prelude.XML.text
|
||||
''
|
||||
<start name="ping0">
|
||||
<binary name="ping"/>
|
||||
<config interface="10.0.0.72/24" dst_ip="10.0.0.2" period_sec="1" count="4"/>
|
||||
</start>
|
||||
<start name="ping1">
|
||||
<binary name="ping"/>
|
||||
<config interface="10.1.0.72/24" dst_ip="10.1.0.2" period_sec="1" count="4"/>
|
||||
</start>
|
||||
''
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
in Init.toChild init Init.Attributes.default
|
@ -1,52 +0,0 @@
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Prelude = Genode.Prelude
|
||||
|
||||
let Init = Genode.Init
|
||||
|
||||
let Child = Init.Child
|
||||
|
||||
let Config = Init.Config
|
||||
|
||||
let toSimple =
|
||||
λ(testName : Text) →
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "solo5-test_${testName}"
|
||||
, resources = Init.Resources::{ caps = 256, ram = Genode.units.MiB 3 }
|
||||
, config = Config::{
|
||||
, content =
|
||||
[ Prelude.XML.element
|
||||
{ name = "cmdline"
|
||||
, attributes = Prelude.XML.emptyAttributes
|
||||
, content = [ Prelude.XML.text "Hello_Solo5" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
in λ(params : { isAarch64 : Bool }) →
|
||||
let children =
|
||||
toMap
|
||||
{ quiet = toSimple "quiet"
|
||||
, hello = toSimple "hello"
|
||||
, globals = toSimple "globals"
|
||||
, time = ./time.dhall
|
||||
, blk = ./blk.dhall
|
||||
, net = ./net.dhall
|
||||
, net_2if = ./net_2if.dhall
|
||||
}
|
||||
# ( if params.isAarch64
|
||||
then Prelude.Map.empty Text Child.Type
|
||||
else toMap { fpu = toSimple "fpu" }
|
||||
)
|
||||
|
||||
in Init.Child.nested
|
||||
children
|
||||
Init.Child.Attributes::{
|
||||
, binary = "sequence"
|
||||
, routes =
|
||||
[ Init.ServiceRoute.parent "Timer"
|
||||
, Init.ServiceRoute.parent "Rtc"
|
||||
]
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
let Test = ../test.dhall ? env:DHALL_GENODE_TEST
|
||||
|
||||
let Child = Test.Genode.Init.Child
|
||||
|
||||
let test = Child.flat Child.Attributes::{ binary = "solo5-test_ssp" }
|
||||
|
||||
in Test::{ children = toMap { ssp = test } }
|
@ -1,15 +0,0 @@
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let Init = Genode.Init
|
||||
|
||||
let Child = Init.Child
|
||||
|
||||
let solo5 =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "solo5-test_time"
|
||||
, exitPropagate = True
|
||||
, resources = Init.Resources::{ caps = 256, ram = Genode.units.MiB 3 }
|
||||
}
|
||||
|
||||
in solo5
|
Loading…
Reference in New Issue