~ehmry/sigil

cdfb5672b734c4a0a11b3657345a9c451cb8aa45 — Emery Hemingway 4 years ago fff6833 i686
Add i686-genode platform
4 files changed, 29 insertions(+), 5 deletions(-)

M flake.nix
M packages/default.nix
M packages/genodelabs/default.nix
M tests/default.nix
M flake.nix => flake.nix +2 -1
@@ 8,7 8,7 @@
  outputs = { self, nixpkgs }:
    let
      localSystems = [ "aarch64-linux" "x86_64-linux" ];
      crossSystems = [ "aarch64-genode" "x86_64-genode" ];
      crossSystems = [ "aarch64-genode" "i686-genode" "x86_64-genode" ];

      forAllLocalSystems = f:
        nixpkgs.lib.genAttrs localSystems (system: f system);


@@ 249,6 249,7 @@
            });
        in {
          aarch64-linux = checks'.aarch64-linux-aarch64-genode;
          i686-linux = checks'.x86_64-linux-i686-genode;
          x86_64-linux = checks'.x86_64-linux-x86_64-genode;
        };


M packages/default.nix => packages/default.nix +1 -0
@@ 97,6 97,7 @@ in depotPkgs // {
      mv $out/ld-nova.lib.so $out/ld.lib.so
      mv $out/nova_timer_drv $out/timer_drv
    '';
    meta.platforms = [ "i686-genode" "x86_64-genode" ];
  };

  bender = buildPackages.callPackage ./bender { };

M packages/genodelabs/default.nix => packages/genodelabs/default.nix +5 -3
@@ 9,10 9,12 @@ let
  platform = targetPackages.targetPlatform;

  arch = with platform;
    if isx86_64 then
      "x86_64"
    else if isAarch64 then
    if isAarch64 then
      "arm_v8a"
    else if isx86_32 then
      "x86_32"
    else if isx86_64 then
      "x86_64"
    else
      throw "unknown Genode arch for platform ${platform.system}";


M tests/default.nix => tests/default.nix +21 -1
@@ 21,6 21,7 @@ let
  qemuBinary = qemuPkg:
    {
      aarch64-genode = "${qemuPkg}/bin/qemu-system-aarch64";
      i686-genode = "${qemuPkg}/bin/qemu-system-i386";
      x86_64-genode = "${qemuPkg}/bin/qemu-system-x86_64";
    }.${genodepkgs.stdenv.hostPlatform.system};



@@ 66,7 67,7 @@ let
          '';
    }
    {
      prefix = "nova-";
      prefix = "nova-x86_64-";
      specs = [ "x86" "nova" ];
      platforms = [ "x86_64-genode" ];
      basePackages = [ testPkgs.base-nova ]


@@ 84,6 85,25 @@ let
          "$@"
          '';
    }
    {
      prefix = "nova-x86_32-";
      specs = [ "x86" "nova" ];
      platforms = [ "i686-genode" ];
      basePackages = [ testPkgs.base-nova ]
        ++ map testPkgs.genodeSources.depot [ "rtc_drv" ];
      makeImage = lib.novaImage;
      startVM = vmName: image: ''
        #! ${localPackages.runtimeShell}
        exec ${qemuBinary qemu'} \
          -name ${vmName} \
          -machine q35 \
          -m 384 \
          -kernel "${testPkgs.bender}/bender" \
          -initrd "${testPkgs.NOVA}/hypervisor-x86_32 arg=iommu novpid serial,${image}/image.elf" \
          $QEMU_OPTS \
          "$@"
          '';
    }
  ];

  cores' = builtins.filter (core: