git: f086954950c6 - stable/14 - amd64 vmx: micro-optimize vmlaunch failure path
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 31 Aug 2025 00:39:54 UTC
The branch stable/14 has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=f086954950c6ee18a72dc28de31ad348150e418f
commit f086954950c6ee18a72dc28de31ad348150e418f
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2025-08-23 12:52:08 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2025-08-31 00:38:23 +0000
amd64 vmx: micro-optimize vmlaunch failure path
(cherry picked from commit 2b35b717188adb843de100c4221ec1ded13024f0)
---
sys/amd64/vmm/intel/vmx_support.S | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/sys/amd64/vmm/intel/vmx_support.S b/sys/amd64/vmm/intel/vmx_support.S
index f393f160b101..2f3871ac7d89 100644
--- a/sys/amd64/vmm/intel/vmx_support.S
+++ b/sys/amd64/vmm/intel/vmx_support.S
@@ -177,13 +177,11 @@ do_launch:
*/
movq %rsp, %rdi /* point %rdi back to 'vmxctx' */
movl $VMX_VMLAUNCH_ERROR, %eax
- jmp decode_inst_error
-
+ /* FALLTHROUGH */
decode_inst_error:
movl $VM_FAIL_VALID, %r11d
- jz inst_error
- movl $VM_FAIL_INVALID, %r11d
-inst_error:
+ movl $VM_FAIL_INVALID, %esi
+ cmovnzl %esi, %r11d
movl %r11d, VMXCTX_INST_FAIL_STATUS(%rdi)
/*