Source-Changes-HG archive

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

[src/bouyer-xenpvh]: src/sys/arch/amd64/amd64 Merge back hypervisor_callback ...



details:   https://anonhg.NetBSD.org/src/rev/573b0292c766
branches:  bouyer-xenpvh
changeset: 1024952:573b0292c766
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Sat Apr 11 11:56:51 2020 +0000

description:
Merge back hypervisor_callback and hypervisor_pvhvm_callback, there's no
issues calling Xdoreti in the PV case.

diffstat:

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

diffs (48 lines):

diff -r 249b33d5ca64 -r 573b0292c766 sys/arch/amd64/amd64/vector.S
--- a/sys/arch/amd64/amd64/vector.S     Sat Apr 11 10:11:30 2020 +0000
+++ b/sys/arch/amd64/amd64/vector.S     Sat Apr 11 11:56:51 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vector.S,v 1.73.6.1 2020/04/10 14:41:59 bouyer Exp $   */
+/*     $NetBSD: vector.S,v 1.73.6.2 2020/04/11 11:56:51 bouyer Exp $   */
 
 /*
  * Copyright (c) 1998, 2007, 2008 The NetBSD Foundation, Inc.
@@ -811,36 +811,23 @@
  */
 
 /* Hypervisor callback */
+
 ENTRY(hypervisor_callback)
        movq    (%rsp),%rcx
        movq    8(%rsp),%r11
        addq    $16,%rsp
-       pushq   $0              /* Dummy error code */
-       pushq   $T_ASTFLT
-       INTRENTRY
-       /* sti?? */
-       movq    %rsp,%rdi
-       subq    $8,%rdi;        /* don't forget if_ppl */
-       call    do_hypervisor_callback
-       testb   $SEL_RPL,TF_CS(%rsp)
-       jnz     doreti_checkast
-1:
-       INTRFASTEXIT
-END(hypervisor_callback)
-
 IDTVEC(hypervisor_pvhvm_callback)
        pushq   $0              /* Dummy error code */
        pushq   $T_ASTFLT
        INTRENTRY
        movl    CPUVAR(ILEVEL),%edi
        pushq   %rdi /* for Xdoreti */
-       /* sti?? */
        movq    %rsp,%rdi
-       subq    $8,%rdi;        /* don't forget if_ppl */
        call    do_hypervisor_callback
        incl    CPUVAR(IDEPTH)
        jmp     _C_LABEL(Xdoreti)
 IDTVEC_END(hypervisor_pvhvm_callback)
+END(hypervisor_callback)
 #endif /* XEN */
 
 #ifdef XENPV



Home | Main Index | Thread Index | Old Index