def METHOD_NAME(self, address):
    idx = None
    for i in range(4):
        if self.hwdebug[i] == address:
            idx = i
            break
    if idx is None:
        raise Exception("Watchpoint not found at 0x%.8x" % address)
    self.hwdebug[idx] = 0
    ctrl_disable = ~(1 << (2*idx))      # we are not enabled
    ctrl_disperm = ~(0xf << (16+(4*idx)))  # mask off the rwx stuff
    ctrl_mask = ctrl_disable & ctrl_disperm
    for tid in self.getThreads().keys():
        ctx = self.getRegisterContext(tid)
        ctrl = ctx.getRegister(e_i386.REG_DEBUG7)
        ctrl &= ctrl_mask
        # logger.debug("debug%d: %.8x debug7: %.8x" % (idx,address,ctrl|ctrl_orig))
        ctx.setRegister(e_i386.REG_DEBUG7, ctrl)
        ctx.setRegister(e_i386.REG_DEBUG0 + idx, 0)
    return