M compositions/pc-drivers.dhall => compositions/pc-drivers.dhall +4 -4
@@ 30,7 30,7 @@ let drivers =
, ServiceRoute.child "Block" "dynamic"
, ServiceRoute.child "Usb" "usb_drv"
, ServiceRoute.child "Platform" "platform_drv"
- , ServiceRoute.child "Input" "input_filter"
+ , ServiceRoute.child "Input" "event_filter"
]
, children = toMap
{ rom_reporter =
@@ 169,10 169,10 @@ let drivers =
, provides = [ "Input" ]
, routes = [ ServiceRoute.child "Platform" "platform_drv" ]
}
- , input_filter =
+ , event_filter =
Child.flat
Child.Attributes::{
- , binary = "input_filter"
+ , binary = "event_filter"
, priority = 1
, resources = Resources::{ ram = Genode.units.MiB 2 }
, provides = [ "Input" ]
@@ 180,7 180,7 @@ let drivers =
[ ServiceRoute.parentLabel
"ROM"
(Some "config")
- (Some "input_filter.config")
+ (Some "event_filter.config")
, ServiceRoute.childLabel
"Input"
"ps2_drv"
M flake.nix => flake.nix +1 -81
@@ 136,31 136,7 @@
checks =
# Checks for continous testing
forAllCrossSystems ({ system, localSystem, crossSystem }:
- let
- nixos = nixpkgs.lib.nixosSystem {
- system = localSystem;
- modules = [
- self.nixosModules.genodeHost
- ({ modulesPath, ... }: {
- imports = [ "${modulesPath}/virtualisation/qemu-vm.nix" ];
- boot.loader.grub.extraEntriesBeforeNixOS = true;
- virtualisation = {
- cores = 2;
- memorySize = 1024;
- useBootLoader = true;
- qemu = {
- options =
- [ "-machine q35" "-cpu phenom" "-serial mon:stdio" ];
- networkingOptions = [
- "-net nic,netdev=user.0,model=e1000"
- "-netdev user,id=user.0\${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}"
- ];
- };
- };
- })
- ];
- };
- in import ./tests {
+ import ./tests {
inherit self;
apps = self.apps.${system};
localPackages = nixpkgsFor.${localSystem};
@@ 176,62 152,6 @@
self.packages.${system}.genodeSources.ports);
};
- nixosModule = nixos.config.system.build.vm;
- nixosXML = nixos.config.system.build.genode.xml;
-
- nixosGuest = let
- nixos = nixpkgs.lib.nixosSystem {
- system = localSystem;
- modules = [
- self.nixosModules.genodeHost
- ({ modulesPath, ... }: {
- imports = [ "${modulesPath}/virtualisation/qemu-vm.nix" ];
- boot.loader.grub.extraEntriesBeforeNixOS = true;
- virtualisation = {
- cores = 2;
- memorySize = 1024;
- useBootLoader = true;
- qemu = {
- options =
- [ "-machine q35" "-cpu phenom" "-serial mon:stdio" ];
- networkingOptions = [
- "-net nic,netdev=user.0,model=e1000"
- "-netdev user,id=user.0\${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}"
- ];
- };
- };
- genode.guests = {
- flakeCheck = {
- config = { config, lib, pkgs, ... }: {
- networking.firewall.allowedTCPPorts = [ 80 ];
- services.mingetty.autologinUser =
- lib.mkDefault "root";
- services.nginx.enable = true;
- services.openssh.permitRootLogin =
- lib.mkDefault "yes";
- services.sshd.enable = true;
- users.users.root.password = "nixos";
- virtualbox.memorySize = 128;
- };
- };
- azimuth = {
- bootFormat = "vdi";
- config = { config, lib, pkgs, ... }: {
- services.cage = {
- enable = true;
- program = "${pkgs.azimuth}/bin/tor-azimuth";
- };
- users.users.demo.isNormalUser = true;
- virtualbox.memorySize = 1024;
- };
- };
- };
-
- })
- ];
- };
- in nixos.config.system.build.vm;
-
});
};
M nixos-modules/default.nix => nixos-modules/default.nix +5 -5
@@ 99,23 99,23 @@
bootDescription = buildBootDescription {
inherit initConfig;
- imageInputs = [ legacyPackages'.bash pkgs'.show_input ]
- ++ map pkgs'.genodeSources.depot ([
+ imageInputs = [ legacyPackages'.bash ] ++ map pkgs'.genodeSources.depot
+ ([
"acpi_drv"
"ahci_drv"
"cached_fs_rom"
"chroot"
"decorator"
+ "event_filter"
"fs_log"
+ "gui_fb"
"init"
- "input_filter"
"ipxe_nic_drv"
"libc"
"libiconv"
"log_core"
- "nit_fb"
- "nitpicker"
"nic_router"
+ "nitpicker"
"part_block"
"platform_drv"
"posix"
M nixos-modules/dhall/console.dhall => nixos-modules/dhall/console.dhall +17 -18
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Prelude = Genode.Prelude
@@ 13,8 12,8 @@ let Resources = Init.Resources
let ServiceRoute = Init.ServiceRoute
-in λ(params : { bash : Text, coreutils : Text, path : Text })
- → let init =
+in λ(params : { bash : Text, coreutils : Text, path : Text }) →
+ let init =
Init::{
, verbose = True
, routes =
@@ 22,12 21,12 @@ in λ(params : { bash : Text, coreutils : Text, path : Text })
Text
Init.ServiceRoute.Type
Init.ServiceRoute.parent
- [ "Nitpicker", "Rtc", "Timer" ]
+ [ "Gui", "Rtc", "Timer" ]
, children = toMap
- { nit_fb =
+ { gui_fb =
Child.flat
Child.Attributes::{
- , binary = "nit_fb"
+ , binary = "gui_fb"
, config = Init.Config::{
, attributes = toMap
{ xpos = "10"
@@ 71,8 70,8 @@ in λ(params : { bash : Text, coreutils : Text, path : Text })
, ram = Genode.units.MiB 4
}
, routes =
- [ ServiceRoute.child "Framebuffer" "nit_fb"
- , ServiceRoute.child "Input" "nit_fb"
+ [ ServiceRoute.child "Framebuffer" "gui_fb"
+ , ServiceRoute.child "Input" "gui_fb"
, ServiceRoute.parent "File_system"
]
}
@@ 141,8 140,8 @@ in λ(params : { bash : Text, coreutils : Text, path : Text })
# Prelude.List.map
Text
XML.Type
- ( λ(x : Text)
- → XML.leaf
+ ( λ(x : Text) →
+ XML.leaf
{ name = "arg"
, attributes = toMap { value = x }
}
@@ 157,13 156,13 @@ in λ(params : { bash : Text, coreutils : Text, path : Text })
, routes =
[ Init.ServiceRoute.child "File_system" "vfs"
, { service =
- { name = "ROM"
- , label =
- Init.LabelSelector.Type.Partial
- { prefix = Some "/nix/store/"
- , suffix = None Text
- }
- }
+ { name = "ROM"
+ , label =
+ Init.LabelSelector.Type.Partial
+ { prefix = Some "/nix/store/"
+ , suffix = None Text
+ }
+ }
, route =
Init.Route.Type.Child
{ name = "store_rom"
@@ 181,7 180,7 @@ in λ(params : { bash : Text, coreutils : Text, path : Text })
Init.Attributes::{
, routes =
[ ServiceRoute.parent "File_system"
- , ServiceRoute.parent "Nitpicker"
+ , ServiceRoute.parent "Gui"
, ServiceRoute.parent "Rtc"
, ServiceRoute.parent "Timer"
]
M nixos-modules/dhall/fs-log.dhall => nixos-modules/dhall/fs-log.dhall +0 -1
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Init = Genode.Init
M nixos-modules/dhall/graphical-log.dhall => nixos-modules/dhall/graphical-log.dhall +5 -6
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Prelude = Genode.Prelude
@@ 23,12 22,12 @@ in Init::{
Text
Init.ServiceRoute.Type
Init.ServiceRoute.parent
- [ "Nitpicker", "Rtc", "Timer" ]
+ [ "Gui", "Rtc", "Timer" ]
, children = toMap
- { nit_fb =
+ { gui_fb =
Child.flat
Child.Attributes::{
- , binary = "nit_fb"
+ , binary = "gui_fb"
, config = Init.Config::{
, attributes = toMap
{ initial_width = "600", initial_height = "600" }
@@ 64,8 63,8 @@ in Init::{
, provides = [ "Terminal" ]
, resources = Resources::{ caps = 256, ram = Genode.units.MiB 4 }
, routes =
- [ ServiceRoute.child "Framebuffer" "nit_fb"
- , ServiceRoute.child "Input" "nit_fb"
+ [ ServiceRoute.child "Framebuffer" "gui_fb"
+ , ServiceRoute.child "Input" "gui_fb"
, ServiceRoute.parent "File_system"
]
}
M nixos-modules/dhall/qwerty.chargen.dhall => nixos-modules/dhall/qwerty.chargen.dhall +8 -8
@@ 20,18 20,18 @@ let Map =
let boolToAttr = λ(_ : Bool) → if _ then "yes" else "no"
let keyToXML =
- λ(x : Prelude.Map.Entry Text Key)
- → XML.leaf
+ λ(x : Prelude.Map.Entry Text Key) →
+ XML.leaf
{ name = "key"
, attributes =
[ merge
{ Ascii =
- λ(_ : Natural)
- → { mapKey = "ascii", mapValue = Prelude.Natural.show _ }
+ λ(_ : Natural) →
+ { mapKey = "ascii", mapValue = Prelude.Natural.show _ }
, Char = λ(_ : Text) → { mapKey = "char", mapValue = _ }
, Code =
- λ(_ : Natural)
- → { mapKey = "code", mapValue = Prelude.Natural.show _ }
+ λ(_ : Natural) →
+ { mapKey = "code", mapValue = Prelude.Natural.show _ }
}
x.mapValue
, { mapKey = "name", mapValue = x.mapKey }
@@ 39,8 39,8 @@ let keyToXML =
}
let mapToXML =
- λ(map : Map.Type)
- → XML.element
+ λ(map : Map.Type) →
+ XML.element
{ name = "map"
, attributes = toMap
{ mod1 = boolToAttr map.mod1
M nixos-modules/dhall/root.dhall => nixos-modules/dhall/root.dhall +45 -47
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Prelude = Genode.Prelude
@@ 20,22 19,22 @@ let DefaultPolicy = Init.Config.DefaultPolicy
let LabelSelector = Init.LabelSelector
let label =
- λ(label : Text)
- → { local = label, route = label } : Child.Attributes.Label
+ λ(label : Text) →
+ { local = label, route = label } : Child.Attributes.Label
let rootInit =
- λ ( params
- : { fbDriver : Init.Child.Type
- , guests : Init.Children.Type
- , inputFilterChargens : List XML.Type
- , partitionType : Text
- , wm : Init.Type
- , graphical-log : Init.Type
- , fs-log : Init.Type
- , systemLabel : Text
- }
- )
- → Init::{
+ λ ( params
+ : { fbDriver : Init.Child.Type
+ , guests : Init.Children.Type
+ , inputFilterChargens : List XML.Type
+ , partitionType : Text
+ , wm : Init.Type
+ , graphical-log : Init.Type
+ , fs-log : Init.Type
+ , systemLabel : Text
+ }
+ ) →
+ Init::{
, children = toMap
{ timer =
Child.flat
@@ 113,8 112,8 @@ let rootInit =
# Prelude.List.map
PciPolicy/Type
XML.Type
- ( λ(policy : PciPolicy/Type)
- → XML.element
+ ( λ(policy : PciPolicy/Type) →
+ XML.element
{ name = "policy"
, attributes = toMap
{ label_suffix = policy.labelSuffix }
@@ 141,24 140,22 @@ let rootInit =
}
}
, framebuffer = params.fbDriver
- , input_filter =
+ , event_filter =
Child.flat
Child.Attributes::{
- , binary = "input_filter"
+ , binary = "event_filter"
, config =
let key =
- λ(name : Text)
- → XML.leaf
- { name = "key"
- , attributes = toMap { name = name }
- }
+ λ(name : Text) →
+ XML.leaf
+ { name = "key", attributes = toMap { name } }
let remap =
- λ(name : Text)
- → λ(to : Text)
- → XML.leaf
+ λ(name : Text) →
+ λ(to : Text) →
+ XML.leaf
{ name = "key"
- , attributes = toMap { name = name, to = to }
+ , attributes = toMap { name, to }
}
in Init.Config::{
@@ 243,7 240,7 @@ let rootInit =
[ ServiceRoute.parentLabel
"ROM"
(Some "config")
- (Some "config -> input_filter.config")
+ (Some "config -> event_filter.config")
, ServiceRoute.childLabel
"Input"
"ps2_drv"
@@ 254,6 251,7 @@ let rootInit =
"usb_drv"
(Some "usb")
(None Text)
+ , ServiceRoute.child "Capture" "nitpicker"
]
}
, ps2_drv =
@@ 303,11 301,11 @@ let rootInit =
Init.toChild
params.wm
Init.Attributes::{
- , provides = [ "Nitpicker", "Report", "ROM" ]
+ , provides = [ "Capture", "Event", "Gui", "Report", "ROM" ]
, romReports = [ label "clipboard", label "shape" ]
, routes =
[ ServiceRoute.child "Framebuffer" "framebuffer"
- , ServiceRoute.child "Input" "input_filter"
+ , ServiceRoute.child "Input" "event_filter"
]
}
, fonts_fs =
@@ 408,7 406,7 @@ let rootInit =
params.graphical-log
Init.Attributes::{
, routes =
- [ ServiceRoute.child "Nitpicker" "wm"
+ [ ServiceRoute.child "Gui" "wm"
, ServiceRoute.child "File_system" "fonts_fs"
]
}
@@ 474,8 472,8 @@ let rootInit =
Prelude.List.map
Natural
XML.Type
- ( λ(i : Natural)
- → XML.leaf
+ ( λ(i : Natural) →
+ XML.leaf
{ name = "policy"
, attributes =
let partition =
@@ 483,7 481,7 @@ let rootInit =
in toMap
{ label_suffix = " ${partition}"
- , partition = partition
+ , partition
, writeable = "yes"
}
}
@@ 663,8 661,8 @@ let rootInit =
# Prelude.List.map
Text
XML.Type
- ( λ(proto : Text)
- → XML.element
+ ( λ(proto : Text) →
+ XML.element
{ name = proto
, attributes = toMap
{ dst = "0.0.0.0/0"
@@ 696,11 694,11 @@ let rootInit =
Init.Attributes::{
, routes =
[ ServiceRoute.parent "VM"
- , ServiceRoute.child "Nitpicker" "wm"
+ , ServiceRoute.child "Gui" "wm"
, { service =
- { name = "File_system"
- , label = LabelSelector.last "fonts"
- }
+ { name = "File_system"
+ , label = LabelSelector.last "fonts"
+ }
, route =
Init.Route.Type.Child
{ name = "fonts_fs"
@@ 709,9 707,9 @@ let rootInit =
}
}
, { service =
- { name = "File_system"
- , label = LabelSelector.suffix "nix/store"
- }
+ { name = "File_system"
+ , label = LabelSelector.suffix "nix/store"
+ }
, route =
Init.Route.Type.Child
{ name = "file_system"
@@ 720,9 718,9 @@ let rootInit =
}
}
, { service =
- { name = "File_system"
- , label = LabelSelector.prefix "console"
- }
+ { name = "File_system"
+ , label = LabelSelector.prefix "console"
+ }
, route =
Init.Route.Type.Child
{ name = "file_system"
M nixos-modules/dhall/show_input.dhall => nixos-modules/dhall/show_input.dhall +1 -2
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Prelude = Genode.Prelude
@@ 38,5 37,5 @@ in Child.flat
}
, resources = Resources::{ ram = Genode.units.MiB 32 }
, routes =
- [ ServiceRoute.parent "File_system", ServiceRoute.parent "Nitpicker" ]
+ [ ServiceRoute.parent "File_system", ServiceRoute.parent "Gui" ]
}
M nixos-modules/dhall/vbox-guest.dhall => nixos-modules/dhall/vbox-guest.dhall +10 -13
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Prelude = Genode.Prelude
@@ 14,11 13,11 @@ let Resources = Init.Resources
let ServiceRoute = Init.ServiceRoute
let Vfs/inline =
- λ(name : Text)
- → λ(body : Text)
- → XML.element
+ λ(name : Text) →
+ λ(body : Text) →
+ XML.element
{ name = "inline"
- , attributes = toMap { name = name }
+ , attributes = toMap { name }
, content = [ XML.text body ]
}
@@ 35,8 34,8 @@ let Params
}
let toVbox =
- λ(params : Params)
- → let vboxConfig =
+ λ(params : Params) →
+ let vboxConfig =
let hardDisks =
merge
{ ISO = XML.text ""
@@ 158,11 157,9 @@ let toVbox =
, attributes = XML.emptyAttributes
, content =
let tag =
- λ(name : Text)
- → XML.leaf
- { name = name
- , attributes = XML.emptyAttributes
- }
+ λ(name : Text) →
+ XML.leaf
+ { name, attributes = XML.emptyAttributes }
let mutableVfs =
let fsNode =
@@ 224,7 221,7 @@ let toVbox =
, routes =
[ ServiceRoute.parent "File_system"
, ServiceRoute.parent "Nic"
- , ServiceRoute.parent "Nitpicker"
+ , ServiceRoute.parent "Gui"
, ServiceRoute.parent "Rtc"
, ServiceRoute.parent "Timer"
, ServiceRoute.parent "VM"
M nixos-modules/dhall/wm.dhall => nixos-modules/dhall/wm.dhall +14 -13
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Prelude = Genode.Prelude
@@ 20,8 19,8 @@ let DefaultPolicy = Init.Config.DefaultPolicy
let LabelSelector = Init.LabelSelector
let label =
- λ(label : Text)
- → { local = label, route = label } : Child.Attributes.Label
+ λ(label : Text) →
+ { local = label, route = label } : Child.Attributes.Label
in Init::{
, children = toMap
@@ 64,7 63,7 @@ in Init::{
, attributes = toMap { domain = "default" }
}
}
- , provides = [ "Nitpicker" ]
+ , provides = [ "Gui", "Capture", "Event" ]
, resources = Resources::{ caps = 256, ram = Genode.units.MiB 64 }
, routes =
[ ServiceRoute.parent "Framebuffer"
@@ 75,7 74,7 @@ in Init::{
Child.flat
Child.Attributes::{
, binary = "pointer"
- , routes = [ ServiceRoute.child "Nitpicker" "nitpicker" ]
+ , routes = [ ServiceRoute.child "Gui" "nitpicker" ]
}
, wm =
Child.flat
@@ 94,7 93,7 @@ in Init::{
]
, defaultPolicy = Some DefaultPolicy::{=}
}
- , provides = [ "Nitpicker", "Report", "ROM" ]
+ , provides = [ "Gui", "Report", "ROM" ]
, reportRoms = [ label "focus", label "resize_request" ]
, romReports =
[ label "focus_request"
@@ 108,11 107,11 @@ in Init::{
}
, routes =
[ ServiceRoute.childLabel
- "Nitpicker"
+ "Gui"
"nitpicker"
(Some "")
(Some "focus")
- , ServiceRoute.child "Nitpicker" "nitpicker"
+ , ServiceRoute.child "Gui" "nitpicker"
, ServiceRoute.parentLabel
"Report"
(Some "clipboard")
@@ 175,7 174,7 @@ in Init::{
''
]
}
- , provides = [ "Nitpicker", "Report", "ROM" ]
+ , provides = [ "Gui", "Report", "ROM" ]
, romReports =
[ label "focus"
, label "resize_request"
@@ 194,7 193,7 @@ in Init::{
, caps = 256
, ram = Genode.units.MiB 8
}
- , routes = [ ServiceRoute.child "Nitpicker" "wm" ]
+ , routes = [ ServiceRoute.child "Gui" "wm" ]
}
, decorator =
Child.flat
@@ 217,20 216,22 @@ in Init::{
]
, defaultPolicy = Some DefaultPolicy::{=}
}
- , provides = [ "Nitpicker", "Report", "ROM" ]
+ , provides = [ "Gui", "Report", "ROM" ]
, reportRoms = [ label "window_layout", label "pointer" ]
, romReports = [ label "decorator_margins", label "hover" ]
, resources = Init.Resources::{
, caps = 128
, ram = Genode.units.MiB 12
}
- , routes = [ ServiceRoute.child "Nitpicker" "wm" ]
+ , routes = [ ServiceRoute.child "Gui" "wm" ]
}
}
, routes = [ ServiceRoute.parent "Timer" ]
, services =
- [ ServiceRoute.child "Nitpicker" "wm"
+ [ ServiceRoute.child "Gui" "wm"
, ServiceRoute.child "Report" "wm"
, ServiceRoute.child "ROM" "wm"
+ , ServiceRoute.child "Event" "Nitpicker"
+ , ServiceRoute.child "Capture" "Nitpicker"
]
}
M nixos-modules/dhall/workman.chargen.dhall => nixos-modules/dhall/workman.chargen.dhall +8 -8
@@ 20,18 20,18 @@ let Map =
let boolToAttr = λ(_ : Bool) → if _ then "yes" else "no"
let keyToXML =
- λ(x : Prelude.Map.Entry Text Key)
- → XML.leaf
+ λ(x : Prelude.Map.Entry Text Key) →
+ XML.leaf
{ name = "key"
, attributes =
[ merge
{ Ascii =
- λ(_ : Natural)
- → { mapKey = "ascii", mapValue = Prelude.Natural.show _ }
+ λ(_ : Natural) →
+ { mapKey = "ascii", mapValue = Prelude.Natural.show _ }
, Char = λ(_ : Text) → { mapKey = "char", mapValue = _ }
, Code =
- λ(_ : Natural)
- → { mapKey = "code", mapValue = Prelude.Natural.show _ }
+ λ(_ : Natural) →
+ { mapKey = "code", mapValue = Prelude.Natural.show _ }
}
x.mapValue
, { mapKey = "name", mapValue = x.mapKey }
@@ 39,8 39,8 @@ let keyToXML =
}
let mapToXML =
- λ(map : Map.Type)
- → XML.element
+ λ(map : Map.Type) →
+ XML.element
{ name = "map"
, attributes = toMap
{ mod1 = boolToAttr map.mod1
M packages/genodelabs/LIB.patch => packages/genodelabs/LIB.patch +24 -11
@@ 1,6 1,6 @@
-commit 2db637f21b83701d21aa66295cd35c737649ecdc
+commit b7d219220e10699dedb2c90e2d4010cbfab74a86
Author: Emery Hemingway <ehmry@posteo.net>
-Date: Tue May 5 21:39:21 2020 +0530
+Date: Sun Aug 30 10:47:51 2020 +0200
Produce libraries with conventional names
@@ 33,10 33,10 @@ index 190dd92aa1..6611d05d2a 100644
echo "endif") >> $(LIB_DEP_FILE)
#
diff --git a/repos/base/mk/generic.mk b/repos/base/mk/generic.mk
-index d551ac205b..e23fade62f 100644
+index 0531c08d58..4eefc6822c 100644
--- a/repos/base/mk/generic.mk
+++ b/repos/base/mk/generic.mk
-@@ -129,7 +129,7 @@ binary_%.o: %
+@@ -139,7 +139,7 @@ binary_%.o: %
# This is a problem in situations where the undefined symbol is resolved by an
# archive rather than the target. I.e., when linking posix.lib.a (which
# provides 'Libc::Component::construct'), the 'construct' function is merely
@@ 45,7 45,7 @@ index d551ac205b..e23fade62f 100644
# reference apparently does not suffice to keep the posix.lib.a's symbol. By
# adding a hard dependency, we force the linker to resolve the symbol and don't
# drop posix.lib.a.
-@@ -164,12 +164,17 @@ endif
+@@ -174,12 +174,17 @@ endif
# time a user of the library is linked, the ABI stub should be used instead of
# the library.
#
@@ 67,10 67,23 @@ index d551ac205b..e23fade62f 100644
- $(VERBOSE)ln -sf $(call select_so,$@) $@
+ $(VERBOSE)ln -sf $(call select_so,$@) $(patsubst liblib%,lib%,$@)
diff --git a/repos/base/mk/lib.mk b/repos/base/mk/lib.mk
-index bfee2c7420..fac49c7298 100644
+index c8ac049563..776aea82aa 100644
--- a/repos/base/mk/lib.mk
+++ b/repos/base/mk/lib.mk
-@@ -123,14 +123,20 @@ message:
+@@ -95,7 +95,12 @@ endif
+ #
+ ifneq ($(SYMBOLS),)
+ ABI_SO := $(addsuffix .abi.so,$(LIB))
++ifeq ($(LIB),ld)
+ ABI_SONAME := $(addsuffix .lib.so,$(LIB))
++else
++ABI_SONAME := $(addsuffix .so,$(addprefix lib,$(patsubst lib%,%,$(LIB))))
++endif
++
+
+ $(LIB).symbols:
+ $(VERBOSE)ln -sf $(SYMBOLS) $@
+@@ -124,14 +129,20 @@ message:
include $(BASE_DIR)/mk/generic.mk
#
@@ 93,7 106,7 @@ index bfee2c7420..fac49c7298 100644
INSTALL_SO := $(INSTALL_DIR)/$(LIB_SO)
DEBUG_SO := $(DEBUG_DIR)/$(LIB_SO)
endif
-@@ -150,7 +156,7 @@ ifneq ($(LIB_SO),)
+@@ -151,7 +162,7 @@ ifneq ($(LIB_SO),)
endif
#
@@ 102,7 115,7 @@ index bfee2c7420..fac49c7298 100644
#
LIB_TAG := $(addsuffix .lib.tag,$(LIB))
all: $(LIB_TAG)
-@@ -203,7 +209,7 @@ STATIC_LIBS := $(sort $(foreach l,$(ARCHIVES:.lib.a=),$(LIB_CACHE_DIR)/$l/
+@@ -204,7 +215,7 @@ STATIC_LIBS := $(sort $(foreach l,$(ARCHIVES:.lib.a=),$(LIB_CACHE_DIR)/$l/
STATIC_LIBS_BRIEF := $(subst $(LIB_CACHE_DIR),$$libs,$(STATIC_LIBS))
#
@@ 162,10 175,10 @@ index 73fd407db7..554d943763 100644
diff --git a/repos/libports/src/lib/libc/kernel.cc b/repos/libports/src/lib/libc/kernel.cc
-index 5dd4b2a2d6..430295e7d5 100644
+index b1bca7c80f..a4bebaeae1 100644
--- a/repos/libports/src/lib/libc/kernel.cc
+++ b/repos/libports/src/lib/libc/kernel.cc
-@@ -308,10 +308,10 @@ void Libc::Kernel::_clone_state_from_parent()
+@@ -418,10 +418,10 @@ void Libc::Kernel::_clone_state_from_parent()
* regular startup of the child.
*/
bool const blacklisted = (name == "ld.lib.so")
M packages/genodelabs/default.nix => packages/genodelabs/default.nix +2 -2
@@ 1,7 1,7 @@
{ buildPackages, targetPackages }:
let
- version = "20.05";
+ version = "20.08";
# Update ./port-versions.nix bumping the version and updateing the sources.
platform = targetPackages.targetPlatform;
@@ 32,7 32,7 @@ let
inherit version;
src = fetchurl {
url = "https://github.com/genodelabs/genode/archive/${version}.tar.gz";
- hash = "sha256-5Fd8ywGbDtQF+9yDZ5xAQ7l1Vzh1jQAQeqVj+EtO1us=";
+ hash = "sha256-tFuLVuaN5F9lAEtn0lpd0MgPQpOcFixOtOsQ/z4TwPI=";
};
nativeBuildInputs = [ expect gnumake tcl ];
patches = [ ./LIB.patch ./binary-labels.patch ];
R packages/genodelabs/input_filter.patch => packages/genodelabs/event_filter.patch +4 -4
@@ 6,11 6,11 @@ Date: Wed Apr 29 03:34:15 2020 +0530
diff --git a/repos/os/src/server/input_filter/chargen_source.h b/repos/os/src/server/input_filter/chargen_source.h
index 06fc657c25..3525fd6f34 100644
---- a/repos/os/src/server/input_filter/chargen_source.h
-+++ b/repos/os/src/server/input_filter/chargen_source.h
+--- a/repos/os/src/server/event_filter/chargen_source.h
++++ b/repos/os/src/server/event_filter/chargen_source.h
@@ -684,9 +684,10 @@ class Input_filter::Chargen_source : public Source, Source::Sink
node.for_each_sub_node("key", [&] (Xml_node key_node) {
-
+
Key_name const name = key_node.attribute_value("name", Key_name());
- Input::Keycode const key = key_code_by_name(name);
-
@@ 20,5 20,5 @@ index 06fc657c25..3525fd6f34 100644
+ new (_alloc) Modifier(_modifiers, id, key);
+ } catch (Unknown_key) { warning("unrecognized key name ", name); }
});
-
+
node.for_each_sub_node("rom", [&] (Xml_node rom_node) {
M packages/genodelabs/libc.patch => packages/genodelabs/libc.patch +0 -27
@@ 85,30 85,3 @@ index 150640ddf3..e511897600 100644
DUMMY(int , -1, getpriority, (int, int))
DUMMY(int , -1, getrusage, (int, rusage *))
DUMMY_SILENT(uid_t , 0, getuid, (void))
-commit c3d87d0a79f9e30aebdf26d3b684c6b1b2214c51
-Author: Emery Hemingway <ehmry@posteo.net>
-Date: Wed Jun 10 20:15:44 2020 +0530
-
- libc: add newlocale and freelocale dummies
-
- Fix #3777
-
-diff --git a/repos/libports/src/lib/libc/nolocale.cc b/repos/libports/src/lib/libc/nolocale.cc
-index 9d43c35acb..ec37b81336 100644
---- a/repos/libports/src/lib/libc/nolocale.cc
-+++ b/repos/libports/src/lib/libc/nolocale.cc
-@@ -64,4 +64,14 @@ char *setlocale(int, const char *)
- return (char*)"C";
- }
-
-+
-+locale_t newlocale(int, const char *locale, locale_t)
-+{
-+ Genode::warning("cannot set \"", locale, "\" locale, not implemented");
-+ return NULL;
-+}
-+
-+
-+void freelocale(locale_t) { }
-+
- }
M packages/genodelabs/port-versions.nix => packages/genodelabs/port-versions.nix +9 -13
@@ 1,8 1,7 @@
# The file is generated by the "genodeSources" derivation.
{
acpica = "5c1c54";
- ada-runtime = "db8987";
- arora = "e8f003";
+ ada-runtime = "fabce1";
bash = "02edac";
bbl = "b9358c";
binutils = "62d309";
@@ 14,7 13,6 @@
dde_ipxe = "b68f4e";
dde_linux = "173719";
dde_rump = "9afe56";
- dde_zircon = "49e3d9";
diffutils = "ee502a";
drm = "01858a";
e2fsprogs = "2a09cd";
@@ 31,23 29,22 @@
gcc = "20345a";
gcov = "a6f852";
gdb = "8eddf0";
- getdns = "030233";
gmp = "855680";
gnupg = "c784d4";
grep = "b96a88";
- grub2 = "8cf62c";
+ grub2 = "856f99";
icu = "62f13b";
jbig2dec = "682269";
jitterentropy = "6017e1";
jpeg = "5effdd";
less = "e7a42c";
libarchive = "7ce310";
- libc = "2e544d";
+ libc = "771dcc";
libdrm = "c1cce0";
libgcrypt = "37159a";
libiconv = "3f5ca3";
libpng = "ac05f3";
- libsparkcrypto = "d479dc";
+ libsparkcrypto = "924de3";
libssh = "a475cc";
libusb = "633358";
libyaml = "1cde80";
@@ 74,23 71,22 @@
pistachio = "68c8c3";
qemu-usb = "2ff18f";
qoost = "014d68";
- qt5 = "084385";
- qt5-host = "ad5edc";
+ qt5 = "1b1c56";
+ qt5-host = "21e078";
readline = "a0bfb0";
- sanitizer = "181889";
+ sanitizer = "3ac05b";
sed = "459979";
sel4 = "793548";
sel4_tools = "4ee1b9";
seoul = "e8d696";
- solo5 = "55dd4f";
stb = "ab8f50";
- stdcxx = "79ad88";
+ stdcxx = "722e94";
tar = "19aea4";
tcl = "842b1a";
ttf-bitstream-vera = "cd3684";
uboot = "f3fd6b";
vim = "53caaa";
- virtualbox5 = "e93407";
+ virtualbox5 = "e60d97";
which = "91c953";
x86emu = "8a1c3a";
xz = "45203f";
M packages/genodelabs/ports.nix => packages/genodelabs/ports.nix +4 -4
@@ 4,7 4,7 @@
{ buildPackages }:
with buildPackages; {
binutils = {
- hash = "sha256-gTYP9YNx+x6KVfIMjTD+UAReWwUg93TCkJIWwAau9eA=";
+ hash = "sha256-Y6EwEb2uFNzJ/6Q+7Jia7LZu5iRt1XkzkogUxiC93t8=";
nativeBuildInputs = [ autoconf ];
};
dde_bsd.hash = "sha256-Z2piyoOrNmXyEEp+kX5w/q4JTylYdSOocUrFeqjz13A=";
@@ 26,7 26,7 @@ with buildPackages; {
jitterentropy.hash = "sha256-6KS732GxtUMz0xPYKtshdn039DgdJq11vTDQesZn4Ds=";
jpeg.hash = "sha256-RLVnlrnYGrhqr3Feikoi/BNditCaKN0u3t9/UDpl2wQ=";
libc = {
- hash = "sha256-ONmUhqY7rVtH6Z+K7VCY0OMLNi1SF1XCHFjiVY3MW3c=";
+ hash = "sha256-bD0Kqho7ABMHxFYOAkQlvJgzSIsomy5OTtpKE+JAVUY=";
nativeBuildInputs = [ buildPackages.gcc ];
};
libiconv.hash = "sha256-25YcW5zo1fE33ZolGQroR+KZO8wHEdN1QXa7+MhwS78=";
@@ 44,9 44,9 @@ with buildPackages; {
openssl.hash = "sha256-epRL3SobYQ7xf8qwp6D5xu/Ms2T/LhUjjs273ywWRWg=";
qemu-usb.hash = "sha256-F4ZXeH5sx3FOcD42zFOxKFMsqGookKdav1NJ7YgVw98=";
stb.hash = "sha256-9LSH1i8jcEvjRAmTvgtK+Axy9hO7uiSzmSgBvs0zkTc=";
- stdcxx.hash = "sha256-iiE009fL1yE3XJ7HkaJakOiS++m7qONwwGrdJjBXQ7k=";
+ stdcxx.hash = "sha256-4Gn/TyA/q83kyO8f5Wr+gv8fNYR5YPDNZIk7+Ty5fn4=";
virtualbox5 = {
- hash = "sha256-HLga/0pHQkjdMH7mU194B7pTFJoOoww69Yii4Ixmkxo=";
+ hash = "sha256-ERI+j2thvyMj+TJSHDdA9sOQdIxrXfNfMNJIa8VRE0M=";
nativeBuildInputs = [ iasl libxslt unzip yasm ];
};
x86emu.hash = "sha256-QY6OL+cDVjQ67JItP1rS4ufPRGZf43AZtWxwza/0q0w=";
M packages/genodelabs/targets.nix => packages/genodelabs/targets.nix +1 -4
@@ 11,13 11,10 @@ let
vbox5' = {
nativeBuildInputs = with buildPackages; [ iasl yasm ];
- patches = [ ./vbox-framebuffer-fail-on-fail.patch ];
portInputs = [ libc libiconv qemu-usb stdcxx virtualbox5 ];
};
in {
- cached_fs_rom.patches = [ ./cached_fs_rom.patch ];
-
fb_sdl = with buildPackages; {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ SDL ];
@@ 28,7 25,7 @@ in {
init.patches = [ ./sandbox.patch ];
- input_filter.patches = [ ./input_filter.patch ];
+ event_filter.patches = [ ./event_filter.patch ];
intel_fb_drv = {
BOARD = "pc";
D packages/genodelabs/vbox-framebuffer-fail-on-fail.patch => packages/genodelabs/vbox-framebuffer-fail-on-fail.patch +0 -126
@@ 1,126 0,0 @@
-commit d2a28a33f6a2bda7000ce201d52ff99714895640
-Author: Emery Hemingway <ehmry@posteo.net>
-Date: Fri May 15 11:28:10 2020 +0530
-
- vbox: use Nitpicker mode for initial resolution
-
-diff --git a/repos/ports/src/virtualbox5/frontend/fb.h b/repos/ports/src/virtualbox5/frontend/fb.h
-index 95a7db8602..bf2d65d7c1 100644
---- a/repos/ports/src/virtualbox5/frontend/fb.h
-+++ b/repos/ports/src/virtualbox5/frontend/fb.h
-@@ -40,7 +40,7 @@ class Genodefb :
- Nitpicker::Connection &_nitpicker;
- Fb_Genode::Session &_fb { *_nitpicker.framebuffer() };
- View_handle _view;
-- Fb_Genode::Mode _fb_mode { 1024, 768, Fb_Genode::Mode::RGB565 };
-+ Fb_Genode::Mode _fb_mode { _nitpicker.mode() };
-
- /*
- * The mode currently used by the VM. Can be smaller than the
-
-commit b6bf91067a4c1c6d5b3508aedd949c8e1a7fe4b3
-Author: Emery Hemingway <ehmry@posteo.net>
-Date: Fri May 15 11:20:47 2020 +0530
-
- vbox: fail on invalid framebuffer dataspace
-
- VirtualBox can hang during initialization if Nitpicker returns an
- invalid dataspace due to insufficient server-side resources. Make
- an invalid dataspace a critical rather than silent error.
-
-diff --git a/repos/ports/src/virtualbox5/frontend/fb.h b/repos/ports/src/virtualbox5/frontend/fb.h
-index dce00fe4eb..95a7db8602 100644
---- a/repos/ports/src/virtualbox5/frontend/fb.h
-+++ b/repos/ports/src/virtualbox5/frontend/fb.h
-@@ -21,6 +21,9 @@
- #include <os/texture_rgb888.h>
- #include <os/dither_painter.h>
-
-+#include <base/attached_dataspace.h>
-+#include <util/reconstructible.h>
-+
- /* VirtualBox includes */
-
- #include "Global.h"
-@@ -35,7 +38,7 @@ class Genodefb :
-
- Genode::Env &_env;
- Nitpicker::Connection &_nitpicker;
-- Fb_Genode::Session &_fb;
-+ Fb_Genode::Session &_fb { *_nitpicker.framebuffer() };
- View_handle _view;
- Fb_Genode::Mode _fb_mode { 1024, 768, Fb_Genode::Mode::RGB565 };
-
-@@ -43,18 +46,18 @@ class Genodefb :
- * The mode currently used by the VM. Can be smaller than the
- * framebuffer mode.
- */
-- Fb_Genode::Mode _virtual_fb_mode;
-+ Fb_Genode::Mode _virtual_fb_mode { _initial_setup() };
-+
-+ Genode::Reconstructible<Genode::Attached_dataspace>
-+ _fb_dataspace { _env.rm(), _fb.dataspace() };
-
-- void *_fb_base;
- RTCRITSECT _fb_lock;
-
- void _clear_screen()
- {
-- if (!_fb_base) return;
--
- size_t const max_h = Genode::min(_fb_mode.height(), _virtual_fb_mode.height());
- size_t const num_pixels = _fb_mode.width() * max_h;
-- memset(_fb_base, 0, num_pixels * _fb_mode.bytes_per_pixel());
-+ memset(_fb_dataspace->local_addr<char>(), 0, num_pixels * _fb_mode.bytes_per_pixel());
- _fb.refresh(0, 0, _virtual_fb_mode.width(), _virtual_fb_mode.height());
- }
-
-@@ -91,10 +94,7 @@ class Genodefb :
- Genodefb (Genode::Env &env, Nitpicker::Connection &nitpicker)
- :
- _env(env),
-- _nitpicker(nitpicker),
-- _fb(*nitpicker.framebuffer()),
-- _virtual_fb_mode(_initial_setup()),
-- _fb_base(env.rm().attach(_fb.dataspace()))
-+ _nitpicker(nitpicker)
- {
- int rc = RTCritSectInit(&_fb_lock);
- Assert(rc == VINF_SUCCESS);
-@@ -109,16 +109,11 @@ class Genodefb :
-
- _fb_mode = mode;
-
-- if (_fb_base)
-- _env.rm().detach(_fb_base);
-+ _fb_dataspace.destruct();
-
- _adjust_buffer();
-
-- try {
-- _fb_base = _env.rm().attach(_fb.dataspace());
-- } catch (...) {
-- _fb_base = nullptr;
-- }
-+ _fb_dataspace.construct(_env.rm(), _fb.dataspace());
-
- Unlock();
- }
-@@ -201,8 +196,6 @@ class Genodefb :
- PRUint32 imageSize,
- PRUint8 *image) override
- {
-- if (!_fb_base) return S_OK;
--
- Lock();
-
- Nitpicker::Area const area_fb = Nitpicker::Area(_fb_mode.width(),
-@@ -215,7 +208,7 @@ class Genodefb :
- typedef Pixel_rgb565 Pixel_dst;
-
- Texture<Pixel_src> texture((Pixel_src *)image, nullptr, area_vm);
-- Surface<Pixel_dst> surface((Pixel_dst *)_fb_base, area_fb);
-+ Surface<Pixel_dst> surface(_fb_dataspace->local_addr<Pixel_dst>(), area_fb);
-
- Dither_painter::paint(surface, texture, Surface_base::Point(o_x, o_y));
-
D tests/driver_manager.dhall => tests/driver_manager.dhall +0 -153
@@ 1,153 0,0 @@
-
-let Test = ./test.dhall ? env:DHALL_GENODE_TEST
-
-let drivers = env:drivers ? ../compositions/pc-drivers.dhall
-
-let Genode = Test.Genode
-
-let Init = Genode.Init
-
-let Child = Init.Child
-
-let Resources = Init.Resources
-
-let ServiceRoute = Init.ServiceRoute
-
-let parentRomRoute =
- λ(from : Text)
- → λ(to : Text)
- → ServiceRoute.parentLabel "ROM" (Some from) (Some to)
-
-let childRomRoute =
- λ(child : Text)
- → λ(from : Text)
- → ServiceRoute.childLabel "ROM" child (Some from) (None Text)
-
-let label = λ(_ : Text) → { local = _, route = _ }
-
-let init =
- Init::{
- , verbose = True
- , routes = [ ServiceRoute.parent "Timer" ]
- , children = toMap
- { drivers =
- Init.toChild
- drivers
- Init.Attributes::{
- , provides = [ "Block", "Framebuffer", "Input" ]
- , resources = Init.Resources::{ ram = Genode.units.MiB 4 }
- , romReports = [ label "block_devices" ]
- , routes =
- [ parentRomRoute "managed/input_filter" "input_filter.config"
- , parentRomRoute " numlock_remap" "numlock_remap.config"
- , childRomRoute "dynamic_rom" "capslock"
- , childRomRoute "dynamic_rom" "numlock"
- , childRomRoute "dynamic_rom" "system"
- , ServiceRoute.child "Report" "_report_rom"
- , ServiceRoute.parent "IRQ"
- , ServiceRoute.parent "IO_MEM"
- , ServiceRoute.parent "IO_PORT"
- , ServiceRoute.parent "Timer"
- ]
- }
- , dynamic_rom =
- Child.flat
- Child.Attributes::{
- , binary = "dynamic_rom"
- , resources = Resources::{ ram = Genode.units.MiB 4 }
- , provides = [ "ROM" ]
- , config = Genode.Init.Config::{
- , content =
- [ Genode.Prelude.XML.text
- ''
- <rom name="system">
- <inline>
- <system state=""/>
- </inline>
- <sleep milliseconds="10000"/>
- </rom>
- ''
- ]
- }
- }
- , test-driver_manager =
- Child.flat
- Child.Attributes::{
- , binary = "test-driver_manager"
- , config = Init.Config::{
- , content =
- [ Genode.Prelude.XML.text
- ''
- <check_ahci_block_device label="ahci-1" block_count="65536" block_size="512" model="QEMU HARDDISK"/>
- <check_input/>
- <check_framebuffer/>
- ''
- ]
- }
- , reportRoms = [ label "block_devices" ]
- , routes =
- [ ServiceRoute.child "Block" "drivers"
- , ServiceRoute.child "Framebuffer" "drivers"
- , ServiceRoute.child "Input" "drivers"
- ]
- }
- }
- }
-
-let rom =
- Genode.Boot.toRomTexts
- ( toMap
- { capslock = "<feature_creep/>"
- , numlock = "<feature_creep/>"
- , usb_policy = "<usb/>"
- }
- # [ { mapKey = "fb_drv.config"
- , mapValue =
- ''
- <config width="1024" height="768" buffered="yes"/>
- <report connectors="yes"/>
- </config>
- ''
- }
- , { mapKey = "input_filter.config"
- , mapValue =
- ''
- <config>
- <input label="ps2"/>
- <input label="usb"/>
- <output>
- <chargen>
- <remap>
- <key name="KEY_F11" to="KEY_RESTART"/>
- <key name="KEY_F12" to="KEY_DASHBOARD"/>
- <key name="KEY_LEFTMETA" to="KEY_SCREEN"/>
- <merge>
- <accelerate max="50" sensitivity_percent="1000" curve="127">
- <button-scroll>
- <input name="ps2"/>
- <vertical button="BTN_MIDDLE" speed_percent="-10"/>
- <horizontal button="BTN_MIDDLE" speed_percent="-10"/>
- </button-scroll>
- </accelerate>
- <input name="usb"/>
- </merge>
- </remap>
- <mod1>
- <key name="KEY_LEFTSHIFT"/> <key name="KEY_RIGHTSHIFT"/>
- </mod1>
- <mod2>
- <key name="KEY_LEFTCTRL"/> <key name="KEY_RIGHTCTRL"/>
- </mod2>
- <mod3>
- <key name="KEY_RIGHTALT"/> <!-- AltGr -->
- </mod3>
- <repeat delay_ms="230" rate_ms="40"/>
- </chargen>
- </output>
- </config>
- ''
- }
- ]
- )
-
-in Test::{ children = Test.initToChildren init, rom = rom }
M tests/log.dhall => tests/log.dhall +0 -1
@@ 1,4 1,3 @@
-
let Test = ./test.dhall ? env:DHALL_GENODE_TEST
let Genode = Test.Genode
M tests/posix.dhall => tests/posix.dhall +11 -12
@@ 1,4 1,3 @@
-
let Test = ./test.dhall ? env:DHALL_GENODE_TEST
let Genode = Test.Genode
@@ 11,8 10,8 @@ let Init = Genode.Init
let Child = Init.Child
-in λ(params : { bash : Text, coreutils : Text, script : Text })
- → let init =
+in λ(params : { bash : Text, coreutils : Text, script : Text }) →
+ let init =
Init::{
, verbose = True
, routes =
@@ 83,8 82,8 @@ in λ(params : { bash : Text, coreutils : Text, script : Text })
# Prelude.List.map
Text
XML.Type
- ( λ(x : Text)
- → XML.leaf
+ ( λ(x : Text) →
+ XML.leaf
{ name = "arg"
, attributes = toMap { value = x }
}
@@ 99,13 98,13 @@ in λ(params : { bash : Text, coreutils : Text, script : Text })
, routes =
[ Init.ServiceRoute.child "File_system" "vfs"
, { service =
- { name = "ROM"
- , label =
- Init.LabelSelector.Type.Partial
- { prefix = Some "/nix/store/"
- , suffix = None Text
- }
- }
+ { name = "ROM"
+ , label =
+ Init.LabelSelector.Type.Partial
+ { prefix = Some "/nix/store/"
+ , suffix = None Text
+ }
+ }
, route =
Init.Route.Type.Child
{ name = "store_rom"
M tests/solo5/blk.dhall => tests/solo5/blk.dhall +17 -4
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Init = Genode.Init
@@ 25,11 24,25 @@ let init =
, block =
Child.flat
Child.Attributes::{
- , binary = "ram_block"
+ , binary = "vfs_block"
, provides = [ "Block" ]
- , resources = Init.Resources::{ ram = Genode.units.MiB 9 }
+ , resources = Init.Resources::{ ram = Genode.units.MiB 12 }
, config = Init.Config::{
- , attributes = toMap { size = "8M", block_size = "4096" }
+ , content =
+ [ Genode.Prelude.XML.text
+ ''
+ <vfs>
+ <ram/>
+ <import>
+ <zero name="block.raw" size="8M"/>
+ </import>
+ </vfs>
+ ''
+ ]
+ , defaultPolicy = Some Init.Config.DefaultPolicy::{
+ , attributes = toMap
+ { file = "block.raw", writeable = "yes" }
+ }
}
}
}
M tests/solo5/default.nix => tests/solo5/default.nix +2 -1
@@ 21,10 21,11 @@ in map solo5Test [
if pkgs.stdenv.hostPlatform.isAarch64 then "True" else "False"
} }";
inputs = map genodeMake [ "app/ping" ] ++ (map genodeDepot [
- "ram_block"
"nic_bridge"
"nic_loopback"
"sequence"
+ "vfs_block"
+ "vfs_import"
]);
};
}
M tests/solo5/net.dhall => tests/solo5/net.dhall +0 -1
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Init = Genode.Init
M tests/solo5/net_2if.dhall => tests/solo5/net_2if.dhall +0 -1
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Init = Genode.Init
M tests/solo5/solo5.dhall => tests/solo5/solo5.dhall +5 -8
@@ 1,4 1,3 @@
-
let Test = ../test.dhall ? env:DHALL_GENODE_TEST
let Genode = Test.Genode
@@ 12,8 11,8 @@ let Child = Init.Child
let Config = Init.Config
let toSimple =
- λ(testName : Text)
- → Child.flat
+ λ(testName : Text) →
+ Child.flat
Child.Attributes::{
, binary = "solo5-test_${testName}"
, resources = Init.Resources::{ caps = 256, ram = Genode.units.MiB 3 }
@@ 28,8 27,8 @@ let toSimple =
}
}
-in λ(params : { isAarch64 : Bool })
- → let tests
+in λ(params : { isAarch64 : Bool }) →
+ let tests
: Prelude.Map.Type Text Child.Type
= toMap
{ quiet = toSimple "quiet"
@@ 40,10 39,8 @@ in λ(params : { isAarch64 : Bool })
, net = ./net.dhall
, net_2if = ./net_2if.dhall
}
- # ( if params.isAarch64
-
+ # ( if params.isAarch64
then Prelude.Map.empty Text Child.Type
-
else toMap { fpu = toSimple "fpu" }
)
M tests/solo5/ssp.dhall => tests/solo5/ssp.dhall +0 -1
@@ 1,4 1,3 @@
-
let Test = ../test.dhall ? env:DHALL_GENODE_TEST
let Child = Test.Genode.Init.Child
M tests/solo5/time.dhall => tests/solo5/time.dhall +0 -1
@@ 1,4 1,3 @@
-
let Genode = env:DHALL_GENODE
let Init = Genode.Init
M tests/test-wrapper.dhall => tests/test-wrapper.dhall +18 -19
@@ 1,4 1,3 @@
-
let Test = ./test.dhall ? env:DHALL_GENODE_TEST
let Genode = Test.Genode
@@ 18,15 17,15 @@ let Children = TextMapType Child.Type
let Manifest/Type = TextMapType (TextMapType Text)
let Manifest/toRoutes =
- λ(manifest : Manifest/Type)
- → Prelude.List.map
+ λ(manifest : Manifest/Type) →
+ Prelude.List.map
(Prelude.Map.Entry Text Text)
Init.ServiceRoute.Type
- ( λ(entry : Prelude.Map.Entry Text Text)
- → { service =
- { name = "ROM"
- , label = Init.LabelSelector.Type.Last entry.mapKey
- }
+ ( λ(entry : Prelude.Map.Entry Text Text) →
+ { service =
+ { name = "ROM"
+ , label = Init.LabelSelector.Type.Last entry.mapKey
+ }
, route =
Init.Route.Type.Child
{ name = "store_rom"
@@ 44,9 43,9 @@ let parentROMs =
Prelude.List.map
Text
Init.ServiceRoute.Type
- ( λ(label : Text)
- → { service =
- { name = "ROM", label = Init.LabelSelector.Type.Last label }
+ ( λ(label : Text) →
+ { service =
+ { name = "ROM", label = Init.LabelSelector.Type.Last label }
, route =
Init.Route.Type.Parent { label = Some label, diag = None Bool }
}
@@ 54,9 53,9 @@ let parentROMs =
let wrapHarness
: Children → Manifest/Type → Child.Type
- = λ(children : Children)
- → λ(manifest : Manifest/Type)
- → Child.nested
+ = λ(children : Children) →
+ λ(manifest : Manifest/Type) →
+ Child.nested
children
Child.Attributes::{
, binary = "sotest-harness"
@@ 88,11 87,11 @@ let wrapHarness
# Manifest/toRoutes manifest
}
-in λ(test : Test.Type)
- → λ(storeSize : Natural)
- → λ(storeManifest : Manifest/Type)
- → λ(bootManifest : Manifest/Type)
- → Genode.Boot::{
+in λ(test : Test.Type) →
+ λ(storeSize : Natural) →
+ λ(storeManifest : Manifest/Type) →
+ λ(bootManifest : Manifest/Type) →
+ Genode.Boot::{
, config = Init::{
, children =
[ { mapKey = "timer"
M tests/test.dhall => tests/test.dhall +3 -4
@@ 1,19 1,18 @@
-
let Genode = env:DHALL_GENODE
let Prelude = Genode.Prelude
let Init = Genode.Init
-in { Genode = Genode
+in { Genode
, Type =
{ children : Prelude.Map.Type Text Init.Child.Type
, rom : Genode.BootModules.Type
}
, default.rom = [] : Genode.BootModules.Type
, initToChildren =
- λ(init : Init.Type)
- → toMap
+ λ(init : Init.Type) →
+ toMap
{ init =
Init.toChild
init
M tests/vmm_arm.dhall => tests/vmm_arm.dhall +3 -4
@@ 1,4 1,3 @@
-
let Test = ./test.dhall ? env:DHALL_GENODE_TEST
let Genode = Test.Genode
@@ 11,8 10,8 @@ let ServiceRoute = Init.ServiceRoute
let Child = Init.Child
-in λ(guest : { linux : Text, dtb : Text, initrd : Text })
- → let init =
+in λ(guest : { linux : Text, dtb : Text, initrd : Text }) →
+ let init =
Init::{
, children = toMap
{ nic =
@@ 38,7 37,7 @@ in λ(guest : { linux : Text, dtb : Text, initrd : Text })
]
}
]
- , defaultPolicy = Some Init.Config.Policy::{
+ , defaultPolicy = Some Init.Config.DefaultPolicy::{
, attributes = toMap { domain = "default" }
}
}
M tests/vmm_x86.dhall => tests/vmm_x86.dhall +1 -2
@@ 1,4 1,3 @@
-
let Test = ./test.dhall ? env:DHALL_GENODE_TEST
let Genode = Test.Genode
@@ 18,4 17,4 @@ let vmm =
, routes = [ Genode.Init.ServiceRoute.parent "VM" ]
}
-in Test::{ children = toMap { vmm = vmm } }
+in Test::{ children = toMap { vmm } }
M tests/x86.dhall => tests/x86.dhall +1 -2
@@ 1,4 1,3 @@
-
let Test = ./test.dhall ? env:DHALL_GENODE_TEST
let Genode = Test.Genode
@@ 83,7 82,7 @@ let pciInit =
, attributes = toMap { class = "ALL" }
}
]
- , label = Init.LabelSelector.Type.Scoped "test-pci"
+ , label = Init.LabelSelector.prefix "test-pci"
}
]
}