Line 1,322: |
Line 1,322: |
| | MemoryState | | | MemoryState |
| |} | | |} |
| + | |
| + | =svcSetHardwareBreakPoint= |
| + | This is essentially an interface for writing values to the debug-unit (B/W)RP registers. registerId range 0..5 = breakpoints(BRP0-5), 0x100..0x101 = watchpoints(WRP0-1), anything outside of these ranges will result in an error. This is used for both adding and removing/disabling breakpoints/watchpoints, hence the raw control value parameter. |
| + | |
| + | Here the kernel sets bit15 in the DSCR, to enable monitor-mode debugging. |
| + | |
| + | Regardless of whether this is for a BRP, when bit21 is set in the control input parameter(BRP type = contextID), the kernel will load the target process [[KProcess|contextID]] and use that internally for the value field. The target process is specified via a [[KDebug]] handle passed as the "value" parameter. |
| + | |
| + | Lastly, the kernel disables the specified (B/W)RP, then writes the value parameter / loaded contextID to the (B/W)VR, then writes the input control value to the (B/W)CR. |
| | | |
| = Processes = | | = Processes = |