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]; |