X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Farch-rpc%2Funcompress.h;h=06231ede54e5c05c82ec1b8d8b625fb2da1f6a31;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=845db94983bdf39deab18a4bb3e73e7e9b023409;hpb=9bf4aaab3e101692164d49b7ca357651eb691cb6;p=linux-2.6.git diff --git a/include/asm-arm/arch-rpc/uncompress.h b/include/asm-arm/arch-rpc/uncompress.h index 845db9498..06231ede5 100644 --- a/include/asm-arm/arch-rpc/uncompress.h +++ b/include/asm-arm/arch-rpc/uncompress.h @@ -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 (¶ms_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); /*