diff options
author | John Baldwin <jhb@FreeBSD.org> | 2022-12-21 18:33:34 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2023-01-26 22:18:27 +0000 |
commit | 622e092eeca40db6229c891e8b29a79a69962f63 (patch) | |
tree | 26d5fb528f3395bd405c3f3f6b459ffd31656bf8 /usr.sbin | |
parent | 3dcdb83c85b5fb65ba9e826efcb7bb34091d80da (diff) | |
download | src-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.c | 9 |
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); } |