Changeset 86666 in vbox for trunk/src/VBox/VMM/include
- Timestamp:
- Oct 21, 2020 3:01:32 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 141042
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/DBGFInternal.h
r86098 r86666 747 747 748 748 749 #ifndef VBOX_WITH_LOTS_OF_DBGF_BPS 749 750 /** 750 751 * Breakpoint search optimization. … … 761 762 /** Pointer to a breakpoint search optimziation structure. */ 762 763 typedef DBGFBPSEARCHOPT *PDBGFBPSEARCHOPT; 764 #else 765 /** 766 * Hardware breakpoint state. 767 */ 768 typedef struct DBGFBPHW 769 { 770 /** The flat GC address of the breakpoint. */ 771 RTGCUINTPTR GCPtr; 772 /** The breakpoint handle if active, NIL_DBGFBP if disabled. */ 773 DBGFBP hBp; 774 /** The access type (one of the X86_DR7_RW_* value). */ 775 uint8_t fType; 776 /** The access size. */ 777 uint8_t cb; 778 /** Flag whether the breakpoint is currently enabled. */ 779 bool fEnabled; 780 /** Padding. */ 781 uint8_t bPad; 782 } DBGFBPHW; 783 AssertCompileSize(DBGFBPHW, 16); 784 /** Pointer to a hardware breakpoint state. */ 785 typedef DBGFBPHW *PDBGFBPHW; 786 /** Pointer to a const hardware breakpoint state. */ 787 typedef const DBGFBPHW *PCDBGFBPHW; 788 #endif 763 789 764 790 … … 790 816 /** The number of enabled hardware I/O breakpoints. */ 791 817 uint8_t cEnabledHwIoBreakpoints; 818 #ifndef VBOX_WITH_LOTS_OF_DBGF_BPS 792 819 /** The number of enabled INT3 breakpoints. */ 793 820 uint8_t cEnabledInt3Breakpoints; 794 821 uint8_t abPadding; /**< Unused padding space up for grabs. */ 822 #else 823 uint16_t u16Pad; 824 #endif 795 825 uint32_t uPadding; 796 826 … … 830 860 uint32_t u32Padding[2]; /**< Alignment padding. */ 831 861 862 #ifndef VBOX_WITH_LOTS_OF_DBGF_BPS 832 863 /** Array of hardware breakpoints. (0..3) 833 864 * This is shared among all the CPUs because life is much simpler that way. */ … … 843 874 /** INT3 breakpoint search optimizations. */ 844 875 DBGFBPSEARCHOPT Int3; 876 #else 877 /** Array of hardware breakpoints (0..3). 878 * This is shared among all the CPUs because life is much simpler that way. */ 879 DBGFBPHW aHwBreakpoints[4]; 880 #endif 845 881 846 882 /** … … 907 943 uint32_t offVM; 908 944 945 #ifndef VBOX_WITH_LOTS_OF_DBGF_BPS 909 946 /** Current active breakpoint (id). 910 947 * This is ~0U if not active. It is set when a execution engine … … 915 952 * @todo drop this in favor of aEvents! */ 916 953 uint32_t iActiveBp; 954 #else 955 /** Current active breakpoint handle. 956 * This is NIL_DBGFBP if not active. It is set when a execution engine 957 * encounters a breakpoint and returns VINF_EM_DBG_BREAKPOINT. 958 * 959 * @todo drop this in favor of aEvents! */ 960 DBGFBP hBpActive; 961 #endif 917 962 /** Set if we're singlestepping in raw mode. 918 963 * This is checked and cleared in the \#DB handler. */ … … 1092 1137 void dbgfR3AsTerm(PUVM pUVM); 1093 1138 void dbgfR3AsRelocate(PUVM pUVM, RTGCUINTPTR offDelta); 1139 #ifdef VBOX_WITH_LOTS_OF_DBGF_BPS 1140 DECLHIDDEN(int) dbgfR3BpInit(PVM pVM); 1141 DECLHIDDEN(int) dbgfR3BpTerm(PVM pVM); 1142 #else 1094 1143 int dbgfR3BpInit(PVM pVM); 1144 #endif 1095 1145 int dbgfR3InfoInit(PUVM pUVM); 1096 1146 int dbgfR3InfoTerm(PUVM pUVM);
Note:
See TracChangeset
for help on using the changeset viewer.