Rev 2927 | Rev 3153 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2927 | Rev 3149 | ||
|---|---|---|---|
| Line 150... | Line 150... | ||
| 150 | } |
150 | } |
| 151 | ipl = interrupts_disable(); |
151 | ipl = interrupts_disable(); |
| 152 | spinlock_lock(&bkpoint_lock); |
152 | spinlock_lock(&bkpoint_lock); |
| 153 | 153 | ||
| 154 | /* Check, that the breakpoints do not conflict */ |
154 | /* Check, that the breakpoints do not conflict */ |
| 155 | for (i=0; i<BKPOINTS_MAX; i++) { |
155 | for (i = 0; i < BKPOINTS_MAX; i++) { |
| 156 | if (breakpoints[i].address == (uintptr_t)argv->intval) { |
156 | if (breakpoints[i].address == (uintptr_t)argv->intval) { |
| 157 | printf("Duplicate breakpoint %d.\n", i); |
157 | printf("Duplicate breakpoint %d.\n", i); |
| 158 | spinlock_unlock(&bkpoints_lock); |
158 | spinlock_unlock(&bkpoints_lock); |
| 159 | return 0; |
159 | return 0; |
| 160 | } else if (breakpoints[i].address == (uintptr_t)argv->intval + sizeof(unative_t) || \ |
160 | } else if (breakpoints[i].address == (uintptr_t)argv->intval + sizeof(unative_t) || \ |
| Line 312... | Line 312... | ||
| 312 | cur = &breakpoints[i]; |
312 | cur = &breakpoints[i]; |
| 313 | break; |
313 | break; |
| 314 | } |
314 | } |
| 315 | /* Reinst only breakpoint */ |
315 | /* Reinst only breakpoint */ |
| 316 | if ((breakpoints[i].flags & BKPOINT_REINST) \ |
316 | if ((breakpoints[i].flags & BKPOINT_REINST) \ |
| 317 | && (fireaddr ==breakpoints[i].address+sizeof(unative_t))) { |
317 | && (fireaddr == breakpoints[i].address + sizeof(unative_t))) { |
| 318 | cur = &breakpoints[i]; |
318 | cur = &breakpoints[i]; |
| 319 | break; |
319 | break; |
| 320 | } |
320 | } |
| 321 | } |
321 | } |
| 322 | if (cur) { |
322 | if (cur) { |