30 lines
862 B
Nix
30 lines
862 B
Nix
{ lib }:
|
|
with lib;
|
|
|
|
mkOption {
|
|
default = { };
|
|
type = with types;
|
|
attrsOf (submodule {
|
|
options = {
|
|
driver = mkOption { type = types.enum [ "ipxe" "virtio" ]; };
|
|
platformPolicy = mkOption {
|
|
type = types.path;
|
|
default = builtins.toFile "driver.policy.dhall" ''
|
|
let Genode = env:DHALL_GENODE
|
|
|
|
in λ(driverName : Text) →
|
|
Genode.Init.Config.Policy::{
|
|
, service = "Platform"
|
|
, label = Genode.Init.LabelSelector.prefix driverName
|
|
, content =
|
|
[ Genode.Prelude.XML.leaf
|
|
{ name = "pci", attributes = toMap { class = "ETHERNET" } }
|
|
]
|
|
}
|
|
'';
|
|
};
|
|
verbose = lib.mkEnableOption "verbose driver logging";
|
|
};
|
|
});
|
|
}
|