diff -urN --exclude=offsets.h clean/kernel/printk.c linux/kernel/printk.c --- clean/kernel/printk.c Thu Oct 25 09:11:55 2001 +++ linux/kernel/printk.c Fri Oct 26 11:10:30 2001 @@ -669,6 +669,9 @@ #define VGALINES 24 #define VGACOLS 80 +#define UART_BASE ((char *)0xc0000000FF5E0000) +#include + static int current_ypos = VGALINES, current_xpos = 0; void @@ -679,6 +682,16 @@ while (len-- > 0) { c = *str++; +#ifdef CONFIG_IA64_HP_PROTO + while (!(UART_LSR_TEMT & readb((char *)(UART_BASE + UART_LSR)))) + ; /* spin */ + + writeb(c, (char *)UART_BASE + UART_TX); + + if (c == '\n') + writeb('\r', (char *)UART_BASE + UART_TX); +#else + if (current_ypos >= VGALINES) { /* scroll 1 line up */ for (k = 1, j = 0; k < VGALINES; k++, j++) { @@ -703,6 +716,7 @@ current_ypos++; } } +#endif } }