AMD doesn't encode page depth in eptp. As a result, the page level is
decided by the host la57 value. Without this, it uses 4 level page and
therefore cause machine enable la57 have garbage page translation.
Details
Details
- Reviewers
kib - Commits
- rGef26f64c1122: amd64/pmap: Return la57 in amd nested page
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
This patch has made bhyve work on modern AMD CPUs for us.
root@mortis:~ # sysctl hw.model hw.model: AMD EPYC 9845 160-Core Processor root@mortis:~ # uname -a FreeBSD mortis.local.abi.am 16.0-CURRENT FreeBSD 16.0-CURRENT #0 arcpatch-D57978-n286987-9ccbd8092c1a: Fri Sep 11 06:53:09 UTC 2026 root@mortis.local.abi.am:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 root@mortis:~ # sysctl vm.pmap.la57 vm.pmap.la57: 1
Before this path being applied, bhyve would just get stuck.
Thank you all!