diff --git a/kern/arch/x86/console.c b/kern/arch/x86/console.c
index 9c4bd5c..89099bf 100644
--- a/kern/arch/x86/console.c
+++ b/kern/arch/x86/console.c
@@ -252,6 +252,7 @@
 #define SCROLLING_CRT_SIZE	(MAX_SCROLL_LENGTH * CRT_SIZE)
 
 static spinlock_t console_lock = SPINLOCK_INITIALIZER_IRQSAVE;
+bool panic_skip_console_lock;
 
 static unsigned addr_6845;
 static uint16_t *crt_buf;
@@ -655,7 +656,8 @@
 {
 	void logbuf(int c);
 
-	spin_lock_irqsave(&console_lock);
+	if (!panic_skip_console_lock)
+		spin_lock_irqsave(&console_lock);
 
 	#ifndef CONFIG_SERIAL_IO
 		serial_spam_char(c);
@@ -664,7 +666,8 @@
 	cga_putc(c);
 	logbuf(c);
 
-	spin_unlock_irqsave(&console_lock);
+	if (!panic_skip_console_lock)
+		spin_unlock_irqsave(&console_lock);
 }
 
 // `High'-level console I/O.  Used by readline and cprintf.
diff --git a/kern/arch/x86/console.h b/kern/arch/x86/console.h
index e2660f8..6cc5737 100644
--- a/kern/arch/x86/console.h
+++ b/kern/arch/x86/console.h
@@ -26,6 +26,9 @@
 SLIST_HEAD(cons_dev_slist, cons_dev);
 extern struct cons_dev_slist cdev_list;
 
+/* Set this to turn off console locking.  (debugging/panic/NMI) */
+extern bool panic_skip_console_lock;
+
 void cons_init(void);
 /* Returns 0 on success, with the char in *data */
 int cons_get_char(struct cons_dev *cdev, uint8_t *data);
diff --git a/kern/include/stdio.h b/kern/include/stdio.h
index fd9cbaf..fc89b39 100644
--- a/kern/include/stdio.h
+++ b/kern/include/stdio.h
@@ -35,6 +35,7 @@
 void	vprintfmt(void (*putch)(int, void**), void **putdat, const char *fmt, va_list);
 
 // lib/printf.c
+extern bool panic_skip_print_lock;
 void print_lock(void);
 void print_unlock(void);
 void print_unlock_force(void);
diff --git a/kern/src/printf.c b/kern/src/printf.c
index 7b415d9..3fd7ddb 100644
--- a/kern/src/printf.c
+++ b/kern/src/printf.c
@@ -15,9 +15,13 @@
 static spinlock_t output_lock = SPINLOCK_INITIALIZER_IRQSAVE;
 static int output_lock_holder = -1;	/* core_id. */
 static int output_lock_count;
+bool panic_skip_print_lock;
 
 void print_lock(void)
 {
+	if (panic_skip_print_lock)
+		return;
+
 	if (output_lock_holder == core_id_early()) {
 		output_lock_count++;
 		return;
@@ -30,6 +34,9 @@
 
 void print_unlock(void)
 {
+	if (panic_skip_print_lock)
+		return;
+
 	output_lock_count--;
 	if (output_lock_count)
 		return;
