Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/amd64/amd64 Limit the amount of code in TEXT_USER_B...



details:   https://anonhg.NetBSD.org/src/rev/a9d9aad6136e
branches:  trunk
changeset: 971547:a9d9aad6136e
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Mon Apr 27 16:55:50 2020 +0000

description:
Limit the amount of code in TEXT_USER_BEGIN/TEXT_USER_END for
hypervisor_pvhvm_callback, for the benefit of SVS. Suggested by maxv@

diffstat:

 sys/arch/amd64/amd64/vector.S |  16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diffs (42 lines):

diff -r 5e8662aea876 -r a9d9aad6136e sys/arch/amd64/amd64/vector.S
--- a/sys/arch/amd64/amd64/vector.S     Mon Apr 27 16:29:17 2020 +0000
+++ b/sys/arch/amd64/amd64/vector.S     Mon Apr 27 16:55:50 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vector.S,v 1.74 2020/04/25 15:26:16 bouyer Exp $       */
+/*     $NetBSD: vector.S,v 1.75 2020/04/27 16:55:50 bouyer Exp $       */
 
 /*
  * Copyright (c) 1998, 2007, 2008 The NetBSD Foundation, Inc.
@@ -761,12 +761,10 @@
        movq    (%rsp),%rcx
        movq    8(%rsp),%r11
        addq    $16,%rsp
-       jmp _C_LABEL(Xhypervisor_pvhvm_callback)
-       TEXT_USER_BEGIN
-IDTVEC(hypervisor_pvhvm_callback)
        pushq   $0              /* Dummy error code */
        pushq   $T_ASTFLT
        INTRENTRY
+IDTVEC(handle_hypervisor_callback)
        movl    CPUVAR(ILEVEL),%edi
        pushq   %rdi /* for Xdoreti */
        incl    CPUVAR(IDEPTH)
@@ -781,9 +779,17 @@
 1:
 #endif
        jmp     _C_LABEL(Xdoreti)
+IDTVEC_END(handle_hypervisor_callback)
+END(hypervisor_callback)
+
+       TEXT_USER_BEGIN
+IDTVEC(hypervisor_pvhvm_callback)
+       pushq   $0              /* Dummy error code */
+       pushq   $T_ASTFLT
+       INTRENTRY
+       jmp _C_LABEL(Xhandle_hypervisor_callback)
 IDTVEC_END(hypervisor_pvhvm_callback)
        TEXT_USER_END
-END(hypervisor_callback)
 #endif /* XEN */
 
 #ifdef XENPV



Home | Main Index | Thread Index | Old Index