|
@@ -1904,16 +1904,6 @@ static int kvm_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
|
|
|
|
|
|
vcpu_load(vcpu);
|
|
|
|
|
|
- set_segment(vcpu, &sregs->cs, VCPU_SREG_CS);
|
|
|
- set_segment(vcpu, &sregs->ds, VCPU_SREG_DS);
|
|
|
- set_segment(vcpu, &sregs->es, VCPU_SREG_ES);
|
|
|
- set_segment(vcpu, &sregs->fs, VCPU_SREG_FS);
|
|
|
- set_segment(vcpu, &sregs->gs, VCPU_SREG_GS);
|
|
|
- set_segment(vcpu, &sregs->ss, VCPU_SREG_SS);
|
|
|
-
|
|
|
- set_segment(vcpu, &sregs->tr, VCPU_SREG_TR);
|
|
|
- set_segment(vcpu, &sregs->ldt, VCPU_SREG_LDTR);
|
|
|
-
|
|
|
dt.limit = sregs->idt.limit;
|
|
|
dt.base = sregs->idt.base;
|
|
|
kvm_arch_ops->set_idt(vcpu, &dt);
|
|
@@ -1953,6 +1943,16 @@ static int kvm_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
|
|
|
if (vcpu->irq_pending[i])
|
|
|
__set_bit(i, &vcpu->irq_summary);
|
|
|
|
|
|
+ set_segment(vcpu, &sregs->cs, VCPU_SREG_CS);
|
|
|
+ set_segment(vcpu, &sregs->ds, VCPU_SREG_DS);
|
|
|
+ set_segment(vcpu, &sregs->es, VCPU_SREG_ES);
|
|
|
+ set_segment(vcpu, &sregs->fs, VCPU_SREG_FS);
|
|
|
+ set_segment(vcpu, &sregs->gs, VCPU_SREG_GS);
|
|
|
+ set_segment(vcpu, &sregs->ss, VCPU_SREG_SS);
|
|
|
+
|
|
|
+ set_segment(vcpu, &sregs->tr, VCPU_SREG_TR);
|
|
|
+ set_segment(vcpu, &sregs->ldt, VCPU_SREG_LDTR);
|
|
|
+
|
|
|
vcpu_put(vcpu);
|
|
|
|
|
|
return 0;
|