aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2022-12-21 18:33:34 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2023-01-26 22:18:27 +0000
commit622e092eeca40db6229c891e8b29a79a69962f63 (patch)
tree26d5fb528f3395bd405c3f3f6b459ffd31656bf8 /usr.sbin
parent3dcdb83c85b5fb65ba9e826efcb7bb34091d80da (diff)
downloadsrc-622e092eeca40db6229c891e8b29a79a69962f63.tar.gz
src-622e092eeca40db6229c891e8b29a79a69962f63.zip
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)
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/bhyve/spinup_ap.c9
1 files 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);
}