Page MenuHomeFreeBSD

D37647.diff
No OneTemporary

D37647.diff

diff --git a/usr.sbin/bhyve/spinup_ap.c b/usr.sbin/bhyve/spinup_ap.c
--- a/usr.sbin/bhyve/spinup_ap.c
+++ b/usr.sbin/bhyve/spinup_ap.c
@@ -45,21 +45,20 @@
#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 @@
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);
}

File Metadata

Mime Type
text/plain
Expires
Thu, Apr 30, 12:57 PM (4 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32514599
Default Alt Text
D37647.diff (1 KB)

Event Timeline