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