vmm: x86: set reserved bits in rflags for smp boot
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 May 2019 20:48:32 +0000 (16:48 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 May 2019 21:02:23 +0000 (17:02 -0400)
Again, this is the same problem as in commit:

8dc899e19d0f ("vmm: x86: Set the reserved bits in rflags"),

Where rflags was not set.  This time, it was the guest APs.  This should
be the last of it: single and multicore guests, single and multicore
vthreads.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
user/vmm/vmexit.c

index 331633a..922e23e 100644 (file)
@@ -221,12 +221,9 @@ static bool handle_vmcall_smpboot(struct guest_thread *gth)
        /* We use the BSP's CR3 for now. This should be fine because they
         * change it later anyway. */
        vm_tf_ap->tf_cr3 = vm_tf->tf_cr3;
-
-       /* Starting RIP is passed in via rdi. */
        vm_tf_ap->tf_rip = vm_tf->tf_rdi;
-
-       /* Starting RSP is passed in via rsi. */
        vm_tf_ap->tf_rsp = vm_tf->tf_rsi;
+       vm_tf_ap->tf_rflags = FL_RSVD_1;
 
        vm->up_gpcs++;