[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] how to set VM into debug mode ? what are xmx_entry_helper for?




hi,all
I have three problems,anyone can solve them or one of them or give me some clue? thank you

(1)  first, I want to know what job  xmx_entry_helper   does?
(2) second , whether every VMENTRY will call xmx_entry_helper   ?if not, which function  will VMENTRY call  everytime?
(3)my target is setting VM into debug mode  by set Trag_flag,  the code below  called vmx_properly_set_trap_flag, 
and I add it at the end of vmx_vmexit_handler(). but it does not work.







 inline void vmx_properly_set_trap_flag(struct vcpu *v)
1301 {
1302     /* we are currently stepping, so we need to set the trap flag
1303     * on the next instruction
1304     */
1305     unsigned long int_state = __vmread(GUEST_INTERRUPTIBILITY_INFO);
1306     unsigned long activity_state = __vmread(GUEST_ACTIVITY_STATE);
1307
1308     unsigned long intercepts = __vmread(EXCEPTION_BITMAP);
1309     unsigned long mask = (1UL << TRAP_debug );
1310
1311     unsigned long flags = __vmread(GUEST_RFLAGS);
1312     unsigned long flags_mask = (X86_EFLAGS_TF);
1313
1314     /* make sure the exception bitmap says to vmexit on
1315      * debug exceptions
1316      */
1317     intercepts |= mask;
1318     __vmwrite(EXCEPTION_BITMAP, intercepts);
1319
1320     /* Default to setting trap flag to on */
1321     flags |= flags_mask;
1322
1323     if((activity_state == 1))
1324     {
1325
1326         /* this means we're in HLT mode. Disabling is OK since
1327         ** we will get an NMI to get out of HLT.
1328         ** The NMI will cause a VMExit which will reset TF
1329         ** execution
1330         **/
1331         printk("Turning off SS due to HLT\n");
1332         //flags &= ~(flags_mask);
1333     }
1334
1335     if((int_state & 3) )
1336     {
1337         int_state &= ~(3);
1338         printk("init_state is 3\n");
1339         //__vmwrite(GUEST_INTERRUPTIBILITY_INFO, int_state);
1340     }
1342     /* setting TF due to stepping enabled;*/
1343     __vmwrite(GUEST_RFLAGS, flags);
1344
1345 }



thank you , hope for your help 
--
----------------------------------------------------------
regards,
yandong

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.