Yes.You could have your own put[s,char,ch] functions to directly write to the UART. Something like: #define TIMEOUT 0xffff #define SERIAL_BASE 0xBD000020 static volatile unsigned char * const com1 = (unsigned char *)SERIAL_BASE; void puts(unsigned char *cp) { unsigned char ch; int i = 0; while (*cp) { do { ch = com1[SER_CMD]; slow_down(); i++; if (i>TIMEOUT) { break; } } while (0 == (ch & TX_BUSY)); com1[SER_DATA] = *cp++; } putch('\r'); putch('\n'); } slow_down() is a function that would go over 10000 iterations without doing anything. Just #define the serial base,command register and the data register addresses. HTH, Manoj > -----Original Message----- > From: Marek Zawadzki [mailto:mzawadzk@cs.stevens-tech.edu] > Sent: Wednesday, March 20, 2002 9:00 AM > To: unlisted-recipients > Cc: kernelnewbies@nl.linux.org > Subject: alternative to printk, printing without buffering > > > Hello, > > Is there any alternative to printk which will output a given > string to the > screen immediately, with no buffering, in all the cases? (sort of > direct-device acccess) > Sometimes when my kernel dies messages die with it in the buffer and I > can't see what was the cause. > Thanks! > > -marek > > -- > Kernelnewbies: Help each other learn about the Linux kernel. > Archive: http://mail.nl.linux.org/kernelnewbies/ > FAQ: http://kernelnewbies.org/faq/ > -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/