rem: dprintf("(%d)\n", t->cpu->info.cpu_num);
add: kprintf("(%d)\n", t->cpu->info.cpu_num);
context: _dump_thread_info(struct thread *t){	dprintf("THREAD: %p\n", t);	dprintf("id:                 0x%lx\n", t->id);	dprintf("name:               \"%s\"\n", t->name);	dprintf("all_next:           %p\nteam_next:          %p\nq_next:             %p\n",		t->all_next, t->team_next, t->queue_next);	dprintf("priority:           %ld\n", t->priority);	dprintf("state:              %s\n", state_to_text(t, t->state));	dprintf("next_state:         %s\n", state_to_text(t, t->next_state));	dprintf("cpu:                %p ", t->cpu);	if (t->cpu)		dprintf("(%d)\n", t->cpu->info.cpu_num);	else		dprintf("\n");	dprintf("sig_pending:        0x%lx\n", t->sig_pending);	dprintf("in_kernel:          %d\n", t->in_kernel);	dprintf("  sem.blocking:     0x%lx\n", t->sem.blocking);	dprintf("  sem.count:        0x%lx\n", t->sem.count);	dprintf("  sem.acquire_status: 0x%lx\n", t->sem.acquire_status);	dprintf("  sem.flags:        0x%lx\n", t->sem.flags);	dprintf("fault_handler:      %p\n", (void *)t->fault_handler);	dprintf("args:               %p %p\n", t->args1, t->args2);	dprintf("entry:              %p\n", (void *)t->entry);	dprintf("team:               %p, \"%s\"\n", t->team, t->team->name);	dprintf("exit.sem:           0x%lx\n", t->exit.sem);	dprintf("kernel_stack_area:  0x%lx\n", t->kernel_stack_area);	dprintf("kernel_stack_base:  %p\n", (void *)t->kernel_stack_base);	dprintf("user_stack_area:    0x%lx\n", t->user_stack_area);	dprintf("user_stack_base:    %p\n", (void *)t->user_stack_base);	dprintf("user_local_storage: %p\n", (void *)t->user_local_storage);	dprintf("kernel_errno:       %d\n", t->kernel_errno);	dprintf("kernel_time:        %Ld\n", t->kernel_time);	dprintf("user_time:          %Ld\n", t->user_time);	dprintf("architecture dependant section:\n");	arch_thread_dump_info(&t->arch_info);	last_thread_dumped = t;}