VirtualBox

Changeset 58938 in vbox for trunk/include


Ignore:
Timestamp:
Dec 1, 2015 2:17:45 PM (9 years ago)
Author:
vboxsync
Message:

HM,DBGF: Made DBGF notify HM about changes to VMM event and interrupt breakpoints. Made HM cache the basic info wrt ring-0 loop selection, opting for using a debug loop when debugging takes place to avoid cluttering slowing down the normal execution loop. The plan is to extend the single stepping loop and to put complicated dtrace probes into the same loop. Modified the VMX loop selection already.

Location:
trunk/include/VBox/vmm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/dbgf.h

    r58932 r58938  
    256256    DBGFEVENT_MEMORY_ROM_WRITE,
    257257
     258    /** The first VM exit event. */
     259    DBGFEVENT_EXIT_FIRST,
    258260    /** Exit - Task switch.
    259261     * @todo not yet implemented.  */
    260     DBGFEVENT_EXIT_TASK_SWITCH,
     262    DBGFEVENT_EXIT_TASK_SWITCH = DBGFEVENT_EXIT_FIRST,
    261263    /** Exit - HALT instruction.
    262264     * @todo not yet implemented.  */
     
    316318     * @todo not yet implemented.  */
    317319    DBGFEVENT_EXIT_VMM_CALL,
     320    /** Exit - the last common event. */
     321    DBGFEVENT_EXIT_LAST_COMMON = DBGFEVENT_EXIT_VMM_CALL,
     322
     323    /** Exit - VT-x - First. */
     324    DBGFEVENT_EXIT_VMX_FIRST,
    318325    /** Exit - VT-x VMCLEAR instruction.
    319326     * @todo not yet implemented.  */
    320     DBGFEVENT_EXIT_VTX_VMCLEAR,
     327    DBGFEVENT_EXIT_VMX_VMCLEAR = DBGFEVENT_EXIT_VMX_FIRST,
    321328    /** Exit - VT-x VMLAUNCH instruction.
    322329     * @todo not yet implemented.  */
    323     DBGFEVENT_EXIT_VTX_VMLAUNCH,
     330    DBGFEVENT_EXIT_VMX_VMLAUNCH,
    324331    /** Exit - VT-x VMPTRLD instruction.
    325332     * @todo not yet implemented.  */
    326     DBGFEVENT_EXIT_VTX_VMPTRLD,
     333    DBGFEVENT_EXIT_VMX_VMPTRLD,
    327334    /** Exit - VT-x VMPTRST instruction.
    328335     * @todo not yet implemented.  */
    329     DBGFEVENT_EXIT_VTX_VMPTRST,
     336    DBGFEVENT_EXIT_VMX_VMPTRST,
    330337    /** Exit - VT-x VMREAD instruction.
    331338     * @todo not yet implemented.  */
    332     DBGFEVENT_EXIT_VTX_VMREAD,
     339    DBGFEVENT_EXIT_VMX_VMREAD,
    333340    /** Exit - VT-x VMRESUME instruction.
    334341     * @todo not yet implemented.  */
    335     DBGFEVENT_EXIT_VTX_VMRESUME,
     342    DBGFEVENT_EXIT_VMX_VMRESUME,
    336343    /** Exit - VT-x VMWRITE instruction.
    337344     * @todo not yet implemented.  */
    338     DBGFEVENT_EXIT_VTX_VMWRITE,
     345    DBGFEVENT_EXIT_VMX_VMWRITE,
    339346    /** Exit - VT-x VMXOFF instruction.
    340347     * @todo not yet implemented.  */
    341     DBGFEVENT_EXIT_VTX_VMXOFF,
     348    DBGFEVENT_EXIT_VMX_VMXOFF,
    342349    /** Exit - VT-x VMXON instruction.
    343350     * @todo not yet implemented.  */
    344     DBGFEVENT_EXIT_VTX_VMXON,
     351    DBGFEVENT_EXIT_VMX_VMXON,
    345352    /** Exit - VT-x VMFUNC instruction.
    346353     * @todo not yet implemented.  */
    347     DBGFEVENT_EXIT_VTX_VMFUNC,
     354    DBGFEVENT_EXIT_VMX_VMFUNC,
     355    /** Exit - VT-x - Last. */
     356    DBGFEVENT_EXIT_VMX_LAST = DBGFEVENT_EXIT_VMX_VMFUNC,
     357
     358    /** Exit - AMD-V - first */
     359    DBGFEVENT_EXIT_SVM_FIRST,
    348360    /** Exit - AMD-V VMRUN instruction.
    349361     * @todo not yet implemented.  */
    350     DBGFEVENT_EXIT_SVM_VMRUN,
     362    DBGFEVENT_EXIT_SVM_VMRUN = DBGFEVENT_EXIT_SVM_FIRST,
    351363    /** Exit - AMD-V VMLOAD instruction.
    352364     * @todo not yet implemented.  */
     
    361373     * @todo not yet implemented.  */
    362374    DBGFEVENT_EXIT_SVM_CLGI,
     375    /** The last ADM-V VM exit event. */
     376    DBGFEVENT_EXIT_SVM_LAST = DBGFEVENT_EXIT_SVM_CLGI,
     377
     378    /** The last VM exit event. */
     379    DBGFEVENT_EXIT_LAST = DBGFEVENT_EXIT_SVM_LAST,
     380
    363381
    364382    /** End of valid event values. */
  • trunk/include/VBox/vmm/hm.h

    r58110 r58938  
    227227VMMR3_INT_DECL(void)            HMR3NotifyScheduled(PVMCPU pVCpu);
    228228VMMR3_INT_DECL(void)            HMR3NotifyEmulated(PVMCPU pVCpu);
     229VMMR3_INT_DECL(void)            HMR3NotifyDebugEventChanged(PVM pVM);
     230VMMR3_INT_DECL(void)            HMR3NotifyDebugEventChangedPerCpu(PVM pVM, PVMCPU pVCpu);
    229231VMMR3_INT_DECL(bool)            HMR3IsActive(PVMCPU pVCpu);
    230232VMMR3_INT_DECL(void)            HMR3PagingModeChanged(PVM pVM, PVMCPU pVCpu, PGMMODE enmShadowMode, PGMMODE enmGuestMode);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette