The branch stable/13 has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=622e092eeca40db6229c891e8b29a79a69962f63

commit 622e092eeca40db6229c891e8b29a79a69962f63
Author:     John Baldwin <[email protected]>
AuthorDate: 2022-12-21 18:33:34 +0000
Commit:     John Baldwin <[email protected]>
CommitDate: 2023-01-26 22:18:27 +0000

    bhyve: Simplify spinup_ap_realmode slightly.
    
    There is no reason to modify the passed in rip variable.
    
    Reviewed by:    corvink, markj
    Differential Revision:  https://reviews.freebsd.org/D37647
    
    (cherry picked from commit e53fcff1848bb5acafc3dc38cfeb34724d9b0b96)
---
 usr.sbin/bhyve/spinup_ap.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/usr.sbin/bhyve/spinup_ap.c b/usr.sbin/bhyve/spinup_ap.c
index af8d40030a08..0498ee91232d 100644
--- a/usr.sbin/bhyve/spinup_ap.c
+++ b/usr.sbin/bhyve/spinup_ap.c
@@ -45,21 +45,20 @@ __FBSDID("$FreeBSD$");
 #include "spinup_ap.h"
 
 static void
-spinup_ap_realmode(struct vmctx *ctx, int newcpu, uint64_t *rip)
+spinup_ap_realmode(struct vmctx *ctx, int newcpu, uint64_t rip)
 {
        int vector, error;
        uint16_t cs;
        uint64_t desc_base;
        uint32_t desc_limit, desc_access;
 
-       vector = *rip >> PAGE_SHIFT;
-       *rip = 0;
+       vector = rip >> PAGE_SHIFT;
 
        /*
         * Update the %cs and %rip of the guest so that it starts
         * executing real mode code at at 'vector << 12'.
         */
-       error = vm_set_register(ctx, newcpu, VM_REG_GUEST_RIP, *rip);
+       error = vm_set_register(ctx, newcpu, VM_REG_GUEST_RIP, 0);
        assert(error == 0);
 
        error = vm_get_desc(ctx, newcpu, VM_REG_GUEST_CS, &desc_base,
@@ -87,7 +86,7 @@ spinup_ap(struct vmctx *ctx, int newcpu, uint64_t rip)
        error = vcpu_reset(ctx, newcpu);
        assert(error == 0);
 
-       spinup_ap_realmode(ctx, newcpu, &rip);
+       spinup_ap_realmode(ctx, newcpu, rip);
 
        vm_resume_cpu(ctx, newcpu);
 }

Reply via email to