summaryrefslogtreecommitdiff
path: root/gnu/build
diff options
context:
space:
mode:
authorMathieu Othacehe <m.othacehe@gmail.com>2019-08-23 09:51:33 +0200
committerMathieu Othacehe <m.othacehe@gmail.com>2019-11-15 17:32:27 +0100
commit8ac892c99cd451993c8472933b895eca1aa00c2c (patch)
tree76e2cd69559dbf51a26144e148ebf93deb1adc4f /gnu/build
parent94f60b4bc98d9a054be731e613b81073e1082ce3 (diff)
downloadguix-patches-8ac892c99cd451993c8472933b895eca1aa00c2c.tar
guix-patches-8ac892c99cd451993c8472933b895eca1aa00c2c.tar.gz
build: vm: Fix arm32 support.
* gnu/build/vm.scm (load-in-linux-vm): Disable qemu highmem support on ARM32 systems.
Diffstat (limited to 'gnu/build')
-rw-r--r--gnu/build/vm.scm8
1 files changed, 8 insertions, 0 deletions
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index a5d9fefa62..b85398ed24 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -102,6 +102,14 @@ the #:references-graphs parameter of 'derivation'."
;; hardware limits imposed by other machines.
,@(if target-arm32? '("-M" "virt") '())
+ ;; On ARM32, if the kernel is built without LPAE support, ECAM conflicts
+ ;; with VIRT_PCIE_MMIO causing PCI devices not to show up. Disable
+ ;; explicitely highmem to fix it.
+ ;; See: https://bugs.launchpad.net/qemu/+bug/1790975.
+ ,@(if target-arm32?
+ '("-machine" "highmem=off")
+ '())
+
;; Only enable kvm if we see /dev/kvm exists. This allows users without
;; hardware virtualization to still use these commands. KVM support is
;; still buggy on some ARM32 boards. Do not use it even if available.