Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 1072 → Rev 1074

//kernel/trunk/arch/amd64/src/proc/scheduler.c
38,7 → 38,7
{
CPU->arch.tss->rsp0 = (__address) &THREAD->kstack[THREAD_STACK_SIZE-SP_DELTA];
 
/* Syscall support - write thread address to hidden part of gs */
/* Syscall support - write thread stack address to hidden part of gs */
swapgs();
write_msr(AMD_MSR_GS,
(__u64)&THREAD->kstack);
//kernel/trunk/arch/amd64/src/debugger.c
191,6 → 191,12
return curidx;
}
 
#ifdef amd64
# define getip(x) ((x)->rip)
#else
# define getip(x) ((x)->eip)
#endif
 
static void handle_exception(int slot, istate_t *istate)
{
ASSERT(breakpoints[slot].address);
207,8 → 213,8
*((__native *) breakpoints[slot].address));
}
}
printf("Reached breakpoint %d:%P(%s)\n", slot, istate->rip,
get_symtab_entry(istate->rip));
printf("Reached breakpoint %d:%P(%s)\n", slot, getip(istate),
get_symtab_entry(getip(istate)));
printf("***Type 'exit' to exit kconsole.\n");
atomic_set(&haltstate,1);
kconsole("debug");
221,7 → 227,11
int i;
/* Set RF to restart the instruction */
#ifdef amd64
istate->rflags |= RFLAGS_RF;
#else
istate->eflags |= EFLAGS_RF;
#endif
 
dr6 = read_dr6();
for (i=0; i < BKPOINTS_MAX; i++) {