Compiling the Nvidia drivers with -ffixed-x18 on affected versions is also sufficient to prevent this hang/panic:
https://github.com/NVIDIA/open-gpu-kernel-modules
diff --git a/src/nvidia-modeset/Makefile b/src/nvidia-modeset/Makefile index 66edbf4e..d49a3bfb 100644 --- a/src/nvidia-modeset/Makefile +++ b/src/nvidia-modeset/Makefile @@ -95,6 +95,7 @@ endif ifeq ($(TARGET_ARCH),aarch64) CFLAGS += -mgeneral-regs-only CFLAGS += -march=armv8-a + CFLAGS += -ffixed-x18 CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mno-outline-atomics) endif
diff --git a/src/nvidia/Makefile b/src/nvidia/Makefile index e2f1c672..0f70514b 100644 --- a/src/nvidia/Makefile +++ b/src/nvidia/Makefile @@ -90,6 +90,7 @@ ifeq ($(TARGET_ARCH),aarch64) CFLAGS += -mgeneral-regs-only CFLAGS += -march=armv8-a CFLAGS += -mstrict-align + CFLAGS += -ffixed-x18 CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mno-outline-atomics) endif
Compiling the Nvidia drivers with -ffixed-x18 on affected versions is also sufficient to prevent this hang/panic:
https:/ /github. com/NVIDIA/ open-gpu- kernel- modules
diff --git a/src/nvidia- modeset/ Makefile b/src/nvidia- modeset/ Makefile modeset/ Makefile modeset/ Makefile ARCH),aarch64) CFLAGS += $(call TEST_CC_ARG, -mno-outline- atomics)
index 66edbf4e..d49a3bfb 100644
--- a/src/nvidia-
+++ b/src/nvidia-
@@ -95,6 +95,7 @@ endif
ifeq ($(TARGET_
CFLAGS += -mgeneral-regs-only
CFLAGS += -march=armv8-a
+ CFLAGS += -ffixed-x18
CONDITIONAL_
endif
diff --git a/src/nvidia/ Makefile b/src/nvidia/ Makefile Makefile Makefile ARCH),aarch64) CFLAGS += $(call TEST_CC_ARG, -mno-outline- atomics)
index e2f1c672..0f70514b 100644
--- a/src/nvidia/
+++ b/src/nvidia/
@@ -90,6 +90,7 @@ ifeq ($(TARGET_
CFLAGS += -mgeneral-regs-only
CFLAGS += -march=armv8-a
CFLAGS += -mstrict-align
+ CFLAGS += -ffixed-x18
CONDITIONAL_
endif