summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormaxv <maxv@NetBSD.org>2020-08-11 15:48:42 +0000
committermaxv <maxv@NetBSD.org>2020-08-11 15:48:42 +0000
commitd742e477ae6345e9b5a60240aeac0b1aeb701c0a (patch)
tree6480a42ceefc1cb2c69c169e5eb278082bd01934 /sys/dev
parentf389da05e254455ec8829b92220c328df58f6829 (diff)
Micro-optimize: use pushq instead of pushw. To avoid LCP stalls and
unaligned stack accesses.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/nvmm/x86/nvmm_x86_svmfunc.S10
-rw-r--r--sys/dev/nvmm/x86/nvmm_x86_vmxfunc.S6
2 files changed, 8 insertions, 8 deletions
diff --git a/sys/dev/nvmm/x86/nvmm_x86_svmfunc.S b/sys/dev/nvmm/x86/nvmm_x86_svmfunc.S
index c9e1d6ac8a8..2bd71511708 100644
--- a/sys/dev/nvmm/x86/nvmm_x86_svmfunc.S
+++ b/sys/dev/nvmm/x86/nvmm_x86_svmfunc.S
@@ -1,4 +1,4 @@
-/* $NetBSD: nvmm_x86_svmfunc.S,v 1.4 2020/07/19 06:36:37 maxv Exp $ */
+/* $NetBSD: nvmm_x86_svmfunc.S,v 1.5 2020/08/11 15:48:42 maxv Exp $ */
/*
* Copyright (c) 2018-2020 The NetBSD Foundation, Inc.
@@ -75,10 +75,10 @@
#define HOST_SAVE_TR \
strw %ax ;\
- pushw %ax
+ pushq %rax
#define HOST_RESTORE_TR \
- popw %ax ;\
+ popq %rax ;\
movzwq %ax,%rdx ;\
movq CPUVAR(GDT),%rax ;\
andq $~0x0200,4(%rax,%rdx, 1) ;\
@@ -86,10 +86,10 @@
#define HOST_SAVE_LDT \
sldtw %ax ;\
- pushw %ax
+ pushq %rax
#define HOST_RESTORE_LDT \
- popw %ax ;\
+ popq %rax ;\
lldtw %ax
/*
diff --git a/sys/dev/nvmm/x86/nvmm_x86_vmxfunc.S b/sys/dev/nvmm/x86/nvmm_x86_vmxfunc.S
index 3dd8d360392..8103a8024ae 100644
--- a/sys/dev/nvmm/x86/nvmm_x86_vmxfunc.S
+++ b/sys/dev/nvmm/x86/nvmm_x86_vmxfunc.S
@@ -1,4 +1,4 @@
-/* $NetBSD: nvmm_x86_vmxfunc.S,v 1.4 2020/07/19 06:36:37 maxv Exp $ */
+/* $NetBSD: nvmm_x86_vmxfunc.S,v 1.5 2020/08/11 15:48:42 maxv Exp $ */
/*
* Copyright (c) 2018-2020 The NetBSD Foundation, Inc.
@@ -100,10 +100,10 @@ END(_vmx_vmxoff)
#define HOST_SAVE_LDT \
sldtw %ax ;\
- pushw %ax
+ pushq %rax
#define HOST_RESTORE_LDT \
- popw %ax ;\
+ popq %rax ;\
lldtw %ax
/*