Subversion Repositories HelenOS

Rev

Rev 4339 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4339 Rev 4343
Line 160... Line 160...
160
 
160
 
161
    /* Check, that the breakpoints do not conflict */
161
    /* Check, that the breakpoints do not conflict */
162
    for (i = 0; i < BKPOINTS_MAX; i++) {
162
    for (i = 0; i < BKPOINTS_MAX; i++) {
163
        if (breakpoints[i].address == (uintptr_t)argv->intval) {
163
        if (breakpoints[i].address == (uintptr_t)argv->intval) {
164
            printf("Duplicate breakpoint %d.\n", i);
164
            printf("Duplicate breakpoint %d.\n", i);
165
            spinlock_unlock(&bkpoints_lock);
165
            spinlock_unlock(&bkpoint_lock);
166
            return 0;
166
            return 0;
167
        } else if (breakpoints[i].address == (uintptr_t)argv->intval +
167
        } else if (breakpoints[i].address == (uintptr_t)argv->intval +
168
            sizeof(unative_t) || breakpoints[i].address ==
168
            sizeof(unative_t) || breakpoints[i].address ==
169
            (uintptr_t)argv->intval - sizeof(unative_t)) {
169
            (uintptr_t)argv->intval - sizeof(unative_t)) {
170
            printf("Adjacent breakpoints not supported, conflict "
170
            printf("Adjacent breakpoints not supported, conflict "
171
                "with %d.\n", i);
171
                "with %d.\n", i);
172
            spinlock_unlock(&bkpoints_lock);
172
            spinlock_unlock(&bkpoint_lock);
173
            return 0;
173
            return 0;
174
        }
174
        }
175
           
175
       
176
    }
176
    }
177
 
177
 
178
    for (i = 0; i < BKPOINTS_MAX; i++)
178
    for (i = 0; i < BKPOINTS_MAX; i++)
179
        if (!breakpoints[i].address) {
179
        if (!breakpoints[i].address) {
180
            cur = &breakpoints[i];
180
            cur = &breakpoints[i];