Add i686-genode platform
This commit is contained in:
parent
fff6833190
commit
cdfb5672b7
|
@ -8,7 +8,7 @@
|
||||||
outputs = { self, nixpkgs }:
|
outputs = { self, nixpkgs }:
|
||||||
let
|
let
|
||||||
localSystems = [ "aarch64-linux" "x86_64-linux" ];
|
localSystems = [ "aarch64-linux" "x86_64-linux" ];
|
||||||
crossSystems = [ "aarch64-genode" "x86_64-genode" ];
|
crossSystems = [ "aarch64-genode" "i686-genode" "x86_64-genode" ];
|
||||||
|
|
||||||
forAllLocalSystems = f:
|
forAllLocalSystems = f:
|
||||||
nixpkgs.lib.genAttrs localSystems (system: f system);
|
nixpkgs.lib.genAttrs localSystems (system: f system);
|
||||||
|
@ -249,6 +249,7 @@
|
||||||
});
|
});
|
||||||
in {
|
in {
|
||||||
aarch64-linux = checks'.aarch64-linux-aarch64-genode;
|
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;
|
x86_64-linux = checks'.x86_64-linux-x86_64-genode;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -97,6 +97,7 @@ in depotPkgs // {
|
||||||
mv $out/ld-nova.lib.so $out/ld.lib.so
|
mv $out/ld-nova.lib.so $out/ld.lib.so
|
||||||
mv $out/nova_timer_drv $out/timer_drv
|
mv $out/nova_timer_drv $out/timer_drv
|
||||||
'';
|
'';
|
||||||
|
meta.platforms = [ "i686-genode" "x86_64-genode" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
bender = buildPackages.callPackage ./bender { };
|
bender = buildPackages.callPackage ./bender { };
|
||||||
|
|
|
@ -9,10 +9,12 @@ let
|
||||||
platform = targetPackages.targetPlatform;
|
platform = targetPackages.targetPlatform;
|
||||||
|
|
||||||
arch = with platform;
|
arch = with platform;
|
||||||
if isx86_64 then
|
if isAarch64 then
|
||||||
"x86_64"
|
|
||||||
else if isAarch64 then
|
|
||||||
"arm_v8a"
|
"arm_v8a"
|
||||||
|
else if isx86_32 then
|
||||||
|
"x86_32"
|
||||||
|
else if isx86_64 then
|
||||||
|
"x86_64"
|
||||||
else
|
else
|
||||||
throw "unknown Genode arch for platform ${platform.system}";
|
throw "unknown Genode arch for platform ${platform.system}";
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@ let
|
||||||
qemuBinary = qemuPkg:
|
qemuBinary = qemuPkg:
|
||||||
{
|
{
|
||||||
aarch64-genode = "${qemuPkg}/bin/qemu-system-aarch64";
|
aarch64-genode = "${qemuPkg}/bin/qemu-system-aarch64";
|
||||||
|
i686-genode = "${qemuPkg}/bin/qemu-system-i386";
|
||||||
x86_64-genode = "${qemuPkg}/bin/qemu-system-x86_64";
|
x86_64-genode = "${qemuPkg}/bin/qemu-system-x86_64";
|
||||||
}.${genodepkgs.stdenv.hostPlatform.system};
|
}.${genodepkgs.stdenv.hostPlatform.system};
|
||||||
|
|
||||||
|
@ -66,7 +67,7 @@ let
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
prefix = "nova-";
|
prefix = "nova-x86_64-";
|
||||||
specs = [ "x86" "nova" ];
|
specs = [ "x86" "nova" ];
|
||||||
platforms = [ "x86_64-genode" ];
|
platforms = [ "x86_64-genode" ];
|
||||||
basePackages = [ testPkgs.base-nova ]
|
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:
|
cores' = builtins.filter (core:
|
||||||
|
|
Loading…
Reference in New Issue