2
0
Fork 0

WiP! nixos: add intel framebuffer driver

This commit is contained in:
Ehmry - 2020-12-21 13:05:32 +01:00
parent 91df935594
commit e874494b73
1 changed files with 31 additions and 15 deletions

View File

@ -420,20 +420,32 @@ with lib;
'';
};
genode.core.children.fb_drv =
mkIf config.hardware.genode.framebuffer.enable {
inputs = with pkgs.genodePackages;
genode.core.children.fb_drv = mkIf config.hardware.genode.framebuffer.enable
(let
params = with pkgs.genodePackages;
{
"boot" = [ boot_fb_drv ];
"vesa" = [ vesa_drv ];
boot = {
binary = "boot_fb_drv";
inputs = [ boot_fb_drv ];
caps = "256";
ram = "16";
};
intel = {
binary = "intel_fb_drv";
inputs = [ intel_fb_drv ];
caps = "512";
ram = "64";
};
vesa = {
binary = "vesa_fb_drv";
inputs = [ vesa_drv ];
caps = "256";
ram = "32";
};
}.${config.hardware.genode.framebuffer.driver};
configFile = let
binary = with pkgs.genodePackages;
{
"boot" = "boot_fb_drv";
"vesa" = "vesa_fb_drv";
}.${config.hardware.genode.framebuffer.driver};
in builtins.toFile "fb_drv.dhall" ''
in {
inherit (params) inputs;
configFile = builtins.toFile "fb_drv.dhall" ''
let Genode = env:DHALL_GENODE
let XML = Genode.Prelude.XML
@ -442,15 +454,19 @@ with lib;
in Init.Child.flat
Init.Child.Attributes::{
, binary = "${binary}"
, resources = Init.Resources::{ caps = 256, ram = Genode.units.MiB 32 }
, binary = "${params.binary}"
, resources = Init.Resources::{
, caps = ${params.caps}
, ram = Genode.units.MiB ${params.ram}
}
, romReports = [ { label = "connectors", route = "connectors" } ]
, routes =
[ Init.ServiceRoute.parent "IO_MEM"
, Init.ServiceRoute.parent "IO_PORT"
]
}
'';
};
});
virtualisation.qemu.options = lib.optional config.hardware.genode.usb.enable
(lib.optional (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) "-usb"