Lines Matching refs:pv_vcpu
861 memcpy(v->arch.pv_vcpu.trap_ctxt, c.nat->trap_ctxt,
870 XLAT_trap_info(v->arch.pv_vcpu.trap_ctxt + i,
887 v->arch.pv_vcpu.iopl = v->arch.user_regs.eflags & X86_EFLAGS_IOPL;
898 v->arch.pv_vcpu.ldt_base = c(ldt_base);
899 v->arch.pv_vcpu.ldt_ents = c(ldt_ents);
924 for ( i = 0; i < ARRAY_SIZE(v->arch.pv_vcpu.gdt_frames); ++i )
925 fail |= v->arch.pv_vcpu.gdt_frames[i] != c(gdt_frames[i]);
926 fail |= v->arch.pv_vcpu.gdt_ents != c(gdt_ents);
928 fail |= v->arch.pv_vcpu.ldt_base != c(ldt_base);
929 fail |= v->arch.pv_vcpu.ldt_ents != c(ldt_ents);
935 v->arch.pv_vcpu.kernel_ss = c(kernel_ss);
936 v->arch.pv_vcpu.kernel_sp = c(kernel_sp);
937 for ( i = 0; i < ARRAY_SIZE(v->arch.pv_vcpu.ctrlreg); ++i )
938 v->arch.pv_vcpu.ctrlreg[i] = c(ctrlreg[i]);
940 v->arch.pv_vcpu.event_callback_eip = c(event_callback_eip);
941 v->arch.pv_vcpu.failsafe_callback_eip = c(failsafe_callback_eip);
944 v->arch.pv_vcpu.syscall_callback_eip = c.nat->syscall_callback_eip;
945 v->arch.pv_vcpu.fs_base = c.nat->fs_base;
946 v->arch.pv_vcpu.gs_base_kernel = c.nat->gs_base_kernel;
947 v->arch.pv_vcpu.gs_base_user = c.nat->gs_base_user;
951 v->arch.pv_vcpu.event_callback_cs = c(event_callback_cs);
952 v->arch.pv_vcpu.failsafe_callback_cs = c(failsafe_callback_cs);
956 v->arch.pv_vcpu.ctrlreg[0] &= X86_CR0_TS;
957 v->arch.pv_vcpu.ctrlreg[0] |= read_cr0() & ~X86_CR0_TS;
959 cr4 = v->arch.pv_vcpu.ctrlreg[4];
960 v->arch.pv_vcpu.ctrlreg[4] = cr4 ? pv_guest_cr4_fixup(v, cr4) :
1022 unsigned long gdt_frames[ARRAY_SIZE(v->arch.pv_vcpu.gdt_frames)];
1025 if ( n > ARRAY_SIZE(v->arch.pv_vcpu.gdt_frames) )
1327 if ( n->arch.pv_vcpu.fs_base | (dirty_segment_mask & DIRTY_FS_BASE) )
1328 wrfsbase(n->arch.pv_vcpu.fs_base);
1332 wrmsrl(MSR_SHADOW_GS_BASE, n->arch.pv_vcpu.gs_base_kernel);
1335 if ( n->arch.pv_vcpu.gs_base_user |
1337 wrgsbase(n->arch.pv_vcpu.gs_base_user);
1346 struct pv_vcpu *pv = &n->arch.pv_vcpu;
1357 rflags |= n->arch.pv_vcpu.iopl;
1455 v->arch.pv_vcpu.fs_base = __rdfsbase();
1457 v->arch.pv_vcpu.gs_base_kernel = __rdgsbase();
1459 v->arch.pv_vcpu.gs_base_user = __rdgsbase();
1473 v->arch.pv_vcpu.fs_base = 0;
1475 if ( v->arch.pv_vcpu.fs_base )
1483 v->arch.pv_vcpu.gs_base_user = 0;
1485 if ( v->arch.flags & TF_kernel_mode ? v->arch.pv_vcpu.gs_base_kernel
1486 : v->arch.pv_vcpu.gs_base_user )
1576 v->arch.pv_vcpu.need_update_runstate_area = 1;