415,18 → 415,14 |
return 0; |
} |
|
int udebug_regs_read(thread_t *t, void **buffer, size_t *n) |
int udebug_regs_read(thread_t *t, void *buffer) |
{ |
istate_t *state; |
void *regs_buffer; |
int rc; |
ipl_t ipl; |
|
klog_printf("udebug_regs_read()"); |
|
/* Prepare a buffer to hold the registers */ |
regs_buffer = malloc(sizeof(istate_t), 0); |
|
ipl = interrupts_disable(); |
|
/* On success, this will lock t->debug_lock */ |
445,14 → 441,11 |
} |
|
/* Copy to the allocated buffer */ |
memcpy(regs_buffer, state, sizeof(istate_t)); |
memcpy(buffer, state, sizeof(istate_t)); |
|
_thread_op_end(t); |
interrupts_restore(ipl); |
|
*buffer = regs_buffer; |
*n = sizeof(istate_t); |
|
return 0; |
} |
|
471,6 → 464,7 |
/* On success, this will lock t->debug_lock */ |
rc = _thread_op_begin(t, false); |
if (rc != EOK) { |
klog_printf("error locking thread"); |
interrupts_restore(ipl); |
return rc; |
} |
484,7 → 478,7 |
return EBUSY; |
} |
|
memcpy(t->uspace_state, buffer, sizeof(t->uspace_state)); |
memcpy(t->uspace_state, buffer, sizeof(istate_t)); |
|
_thread_op_end(t); |
interrupts_restore(ipl); |