[Bug 203643] [bhyve] NetBSD causes bhyve to exit on AMD processors

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 12 Mar 2025 18:41:16 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203643

Mark Peek <mp@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mp@FreeBSD.org

--- Comment #9 from Mark Peek <mp@FreeBSD.org> ---
Booting and installing NetBSD on an AMD Ryzen 7 7840U worked fine.

Looking at the error being returned:
exitcode 0x7b shows it was an IO exit

exitinfo1 can be decoded from the AMD Programmers Manual Volume 2 Chapter
15.10.2
0x3f8021c shows REP OUTS to port 0x3f8 (COM1 serial port)

exitinfo2 is the address of the instruction following the OUTS

The IO is handled in svm_handle_io()
https://github.com/freebsd/freebsd-src/blob/main/sys/amd64/vmm/amd/svm.c#L785

There is a check for the SVM DecodeAssist feature here:
https://github.com/freebsd/freebsd-src/blob/main/sys/amd64/vmm/amd/svm.c#L808

The system information listed in this bug report do not have DecodeAssist
listed.
The 7840U I used shows these SVM features:
SVM: NP,NRIP,VClean,AFlush,DAssist,NAsids=32768

By stubbing that call to decode_assist() to return 0, I was able to get the
same error to occur on my hardware.

Looking back in the history, the check svm_handlt_io() was put in via this
commit and commit message:
https://github.com/freebsd/freebsd-src/commit/bbadcde418c29fe312a1d9d39b768735f285efbd

"Don't attempt to handle INS/OUTS VM-exits unless the DecodeAssist capabilityis
available. The effective segment field in EXITINFO1 is not valid withoutthis
capability."

You could try modifying the code to not do the decode_assist() check and see if
it works on your system. Or try turning on graphics for the VM to see if it
will boot using a graphics console.

-- 
You are receiving this mail because:
You are the assignee for the bug.