[Bug 203643] [bhyve] NetBSD causes bhyve to exit on AMD processors
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 08 Apr 2025 16:51:09 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203643
Keith White <kwhite.uottawa@gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kwhite.uottawa@gmail.com
--- Comment #13 from Keith White <kwhite.uottawa@gmail.com> ---
A "me too" on this.
I'm using a quite old Lenovo Ideapad Z575 and vm-bhyve. The SVM error is
slightly different, it looks like EDK2 is trying to access 0x511 (Firmware
port?). I used a different workaround: update bhyve(8) to log and ignore SVM
errors if environment variable "_BHYVE_AMD_A8_ENABLE_" is set.
==== head /var/run/dmesg.boot =====
Copyright (c) 1992-2025 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 15.0-CURRENT #4 main-n276261-297473069610-dirty: Mon Apr 7 12:16:25
EDT 2025
root@dell7390:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git
llvmorg-19.1.7-0-gcd708029e0b2)
VT(vga): resolution 640x480
CPU: AMD A8-3500M APU with Radeon(tm) HD Graphics (1497.33-MHz K8-class CPU)
Origin="AuthenticAMD" Id=0x300f10 Family=0x12 Model=0x1 Stepping=0
Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
Features2=0x802009<SSE3,MON,CX16,POPCNT>
AMD
Features=0xee500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM,3DNow!+,3DNow!>
AMD
Features2=0x37ff<LAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS,Prefetch,OSVW,IBS,SKINIT,WDT>
SVM: NP,NRIP,NAsids=64
TSC: P-state invariant, performance statistics
===== bhyve.log =====
vm exit[0]
reason SVM
rip 0x000000007fa6e480
inst_length 2
exitcode 0x7b
exitinfo1 0x511021d
exitinfo2 0x7fa6e482
==== usr.sbin/bhyve/amd64/vmexit.c patch ====
diff --git a/usr.sbin/bhyve/amd64/vmexit.c b/usr.sbin/bhyve/amd64/vmexit.c
index 944f5de34645..94dde19eb931 100644
--- a/usr.sbin/bhyve/amd64/vmexit.c
+++ b/usr.sbin/bhyve/amd64/vmexit.c
@@ -288,6 +288,10 @@ vmexit_svm(struct vmctx *ctx __unused, struct vcpu *vcpu,
struct vm_run *vmrun)
EPRINTLN("\texitcode\t%#lx", vme->u.svm.exitcode);
EPRINTLN("\texitinfo1\t%#lx", vme->u.svm.exitinfo1);
EPRINTLN("\texitinfo2\t%#lx", vme->u.svm.exitinfo2);
+ if (getenv("_BHYVE_AMD_A8_ENABLE_")) { /* workaround for Lenovo Ideapad
Z575 */
+ EPRINTLN("\tignoring\t_BHYVE_AMD_A8_ENABLE_ defined");
+ return (VMEXIT_CONTINUE);
+ }
return (VMEXIT_ABORT);
}
--
You are receiving this mail because:
You are the assignee for the bug.