# SPDX-License-Identifier: CC0-1.0 { pkgs, localPackages, ... }: { name = "vmm_arm"; constraints = specs: with builtins; all (f: any f specs) [ (spec: spec == "aarch64") ]; machine = { config = with localPackages; let linux = fetchurl { url = "http://genode.org/files/release-20.02/linux-arm64"; hash = "sha256-H6FhNGgkApouy+PyjxrgAPnJSc4BIlWlpg+VhWiUI6o="; }; dtb = fetchurl { url = "http://genode.org/files/release-20.02/dtb-arm64-virt"; hash = "sha256-MFzwYtjAmR/V3WLkmWojYhi3aPrzEqsy1kA46Y512UM="; }; initrd = fetchurl { url = "http://genode.org/files/release-20.02/initrd-arm64"; hash = "sha256-iOKd2X2zgDIGeuLEDSSTLSw/Ywi7mDET36J1NAqgqls="; }; guest = writeText "guest.dhall" '' { linux = "${linux}", dtb = "${dtb}", initrd = "${initrd}" } ''; in "${./vmm_arm.dhall} ${guest}"; inputs = with pkgs; let vmm' = genodeSources.buildUpstream { name = "vmm_arm"; targets = [ "server/vmm" ]; KERNEL = "hw"; }; in [ vmm' ] ++ map genodeSources.depot [ "log_terminal" "nic_router" "terminal_crosslink" ] ++ map genodeSources.make [ "test/terminal_expect_send" ]; }; testScript = '' start_all() machine.wait_until_serial_output("linuxrc") ''; }