fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-arm / arch-rpc / uncompress.h
index 845db94..06231ed 100644 (file)
@@ -60,38 +60,35 @@ static const unsigned long palette_4[16] = {
  * params_phys is a linker defined symbol - see
  * arch/arm/boot/compressed/Makefile
  */
-extern struct param_struct params_phys;
-#define params (&params_phys)
+extern __attribute__((pure)) struct param_struct *params(void);
+#define params (params())
 
 #ifndef STANDALONE_DEBUG 
 /*
  * This does not append a newline
  */
-static void puts(const char *s)
+static void putc(int c)
 {
        extern void ll_write_char(char *, char c, char white);
        int x,y;
-       unsigned char c;
        char *ptr;
 
        x = params->video_x;
        y = params->video_y;
 
-       while ( ( c = *(unsigned char *)s++ ) != '\0' ) {
-               if ( c == '\n' ) {
+       if (c == '\n') {
+               if (++y >= video_num_lines)
+                       y--;
+       } else if (c == '\r') {
+               x = 0;
+       } else {
+               ptr = VIDMEM + ((y*video_num_columns*params->bytes_per_char_v+x)*bytes_per_char_h);
+               ll_write_char(ptr, c, white);
+               if (++x >= video_num_columns) {
                        x = 0;
                        if ( ++y >= video_num_lines ) {
                                y--;
                        }
-               } else {
-                       ptr = VIDMEM + ((y*video_num_columns*params->bytes_per_char_v+x)*bytes_per_char_h);
-                       ll_write_char(ptr, c, white);
-                       if ( ++x >= video_num_columns ) {
-                               x = 0;
-                               if ( ++y >= video_num_lines ) {
-                                       y--;
-                               }
-                       }
                }
        }
 
@@ -99,6 +96,10 @@ static void puts(const char *s)
        params->video_y = y;
 }
 
+static inline void flush(void)
+{
+}
+
 static void error(char *x);
 
 /*