Rev 4337 | Rev 4343 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4337 | Rev 4342 | ||
---|---|---|---|
Line 202... | Line 202... | ||
202 | spinlock_unlock(&bkpoint_lock); |
202 | spinlock_unlock(&bkpoint_lock); |
203 | interrupts_restore(ipl); |
203 | interrupts_restore(ipl); |
204 | 204 | ||
205 | /* Send IPI */ |
205 | /* Send IPI */ |
206 | #ifdef CONFIG_SMP |
206 | #ifdef CONFIG_SMP |
207 | // ipi_broadcast(VECTOR_DEBUG_IPI); |
207 | // ipi_broadcast(VECTOR_DEBUG_IPI); |
208 | #endif |
208 | #endif |
209 | 209 | ||
210 | return curidx; |
210 | return curidx; |
211 | } |
211 | } |
212 | 212 | ||
213 | #ifdef amd64 |
213 | #ifdef __64_BITS__ |
214 | # define getip(x) ((x)->rip) |
214 | #define getip(x) ((x)->rip) |
215 | #else |
215 | #else |
216 | # define getip(x) ((x)->eip) |
216 | #define getip(x) ((x)->eip) |
217 | #endif |
217 | #endif |
218 | 218 | ||
219 | static void handle_exception(int slot, istate_t *istate) |
219 | static void handle_exception(int slot, istate_t *istate) |
220 | { |
220 | { |
221 | ASSERT(breakpoints[slot].address); |
221 | ASSERT(breakpoints[slot].address); |
Line 274... | Line 274... | ||
274 | { |
274 | { |
275 | unative_t dr6; |
275 | unative_t dr6; |
276 | int i; |
276 | int i; |
277 | 277 | ||
278 | /* Set RF to restart the instruction */ |
278 | /* Set RF to restart the instruction */ |
279 | #ifdef amd64 |
279 | #ifdef __64_BITS__ |
280 | istate->rflags |= RFLAGS_RF; |
280 | istate->rflags |= RFLAGS_RF; |
281 | #else |
281 | #else |
282 | istate->eflags |= EFLAGS_RF; |
282 | istate->eflags |= EFLAGS_RF; |
283 | #endif |
283 | #endif |
284 | 284 | ||
Line 346... | Line 346... | ||
346 | int cmd_print_breakpoints(cmd_arg_t *argv __attribute__((unused))) |
346 | int cmd_print_breakpoints(cmd_arg_t *argv __attribute__((unused))) |
347 | { |
347 | { |
348 | unsigned int i; |
348 | unsigned int i; |
349 | char *symbol; |
349 | char *symbol; |
350 | 350 | ||
351 | #ifdef __32_BITS__ |
351 | #ifdef __32_BITS__ |
352 | printf("# Count Address In symbol\n"); |
352 | printf("# Count Address In symbol\n"); |
353 | printf("-- ----- ---------- ---------\n"); |
353 | printf("-- ----- ---------- ---------\n"); |
354 | #endif |
354 | #endif |
355 | 355 | ||
356 | #ifdef __64_BITS__ |
356 | #ifdef __64_BITS__ |