git: 872fc1b8de1a - main - arm64/vmm: Don't load on Ampere eMAG
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 27 Mar 2025 13:47:48 UTC
The branch main has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=872fc1b8de1ac2a10465a315457cd69b4268cbe9
commit 872fc1b8de1ac2a10465a315457cd69b4268cbe9
Author: Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2025-03-27 13:17:30 +0000
Commit: Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2025-03-27 13:47:37 +0000
arm64/vmm: Don't load on Ampere eMAG
Loading vmm.ko on Ampere eMAG locks up the system. Block loading for
now until it can be fixed.
PR: 285051
Reviewed by: tuexen
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D49155
---
sys/arm64/vmm/vmm.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/sys/arm64/vmm/vmm.c b/sys/arm64/vmm/vmm.c
index ad82e6dbd432..f28643db99d2 100644
--- a/sys/arm64/vmm/vmm.c
+++ b/sys/arm64/vmm/vmm.c
@@ -310,6 +310,20 @@ vm_exitinfo(struct vcpu *vcpu)
return (&vcpu->exitinfo);
}
+static int
+vmm_unsupported_quirk(void)
+{
+ /*
+ * Known to not load on Ampere eMAG
+ * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285051
+ */
+ if (CPU_MATCH(CPU_IMPL_MASK | CPU_PART_MASK, CPU_IMPL_APM,
+ CPU_PART_EMAG8180, 0, 0))
+ return (ENXIO);
+
+ return (0);
+}
+
static int
vmm_init(void)
{
@@ -339,6 +353,9 @@ vmm_handler(module_t mod, int what, void *arg)
switch (what) {
case MOD_LOAD:
+ error = vmm_unsupported_quirk();
+ if (error != 0)
+ break;
error = vmmdev_init();
if (error != 0)
break;