Changes

929 bytes added ,  09:11, 1 July 2015
no edit summary
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 =