kernel: write to all registered consoles with printk()
This commit is contained in:
@@ -21,11 +21,21 @@ static unsigned int log_buffer_writep = 0;
|
||||
|
||||
static void flush_log_buffer(void)
|
||||
{
|
||||
/*
|
||||
if (!early_console) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
console_write(early_console, log_buffer + log_buffer_readp, log_buffer_writep - log_buffer_readp);
|
||||
*/
|
||||
|
||||
unsigned long flags;
|
||||
struct queue *consoles = get_consoles(&flags);
|
||||
queue_foreach(struct console, con, consoles, c_list) {
|
||||
console_write(con, log_buffer + log_buffer_readp, log_buffer_writep - log_buffer_readp);
|
||||
}
|
||||
|
||||
put_consoles(consoles, flags);
|
||||
log_buffer_readp = log_buffer_writep;
|
||||
}
|
||||
|
||||
@@ -41,7 +51,7 @@ static void save_log_message(const char *msg)
|
||||
if (msg[i] == '\0') {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
log_buffer[log_buffer_writep++] = msg[i++];
|
||||
}
|
||||
}
|
||||
@@ -73,6 +83,6 @@ int printk(const char *format, ...)
|
||||
spin_unlock_irqrestore(&log_buffer_lock, flags);
|
||||
|
||||
flush_log_buffer();
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user