rem: dprintf("Welcome to Kernel Debugging Land...\n");
add: if (message) { kprintf(message); kprintf("\n"); }  kprintf("Welcome to Kernel Debugging Land...\n");
context: kernel_debugger(const char *message){	cpu_status state;	arch_debug_save_registers(&dbg_register_file[smp_get_current_cpu()][0]);	set_dprintf_enabled(true);	state = disable_interrupts();	// XXX by setting kernel_startup = true, we disable	// XXX the interrupt check in semaphore code etc.	// XXX should be renamed?	kernel_startup = true;	if (sDebuggerOnCPU != smp_get_current_cpu()) {		// halt all of the other cpus		// XXX need to flush current smp mailbox to make sure this goes		// through. Otherwise it'll hang		smp_send_broadcast_ici(SMP_MSG_CPU_HALT, 0, 0, 0, NULL, SMP_MSG_FLAG_SYNC);	}	if (message) {		dprintf(message);		dprintf("\n");	}	dprintf("Welcome to Kernel Debugging Land...\n");	kernel_debugger_loop();	kernel_startup = false;	restore_interrupts(state);	// ToDo: in case we change dbg_register_file - don't we want to restore it?}