Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3744 → Rev 3745

/branches/sparc/kernel/genarch/src/fb/fb.c
219,8 → 219,10
*/
static void screen_scroll(void)
{
if (ylogo > 0)
if (ylogo > 0) {
logo_hide();
return;
}
unsigned int row;
232,11 → 234,13
unsigned int x;
unsigned int col;
for (col = 0, x = 0; col < cols; col++, x += FONT_WIDTH) {
for (col = 0, x = 0; col < cols; col++,
x += FONT_WIDTH) {
uint8_t glyph;
if (row < rows - 1) {
if (backbuf[BB_POS(col, row)] == backbuf[BB_POS(col, row + 1)])
if (backbuf[BB_POS(col, row)] ==
backbuf[BB_POS(col, row + 1)])
continue;
glyph = backbuf[BB_POS(col, row + 1)];
244,7 → 248,8
glyph = 0;
memcpy(&fb_addr[FB_POS(x, y + yd)],
&glyphs[GLYPH_POS(glyph, yd)], glyphscanline);
&glyphs[GLYPH_POS(glyph, yd)],
glyphscanline);
}
}
}
293,7 → 298,8
case '\t':
cursor_remove();
do {
glyph_draw((uint8_t) ' ', position % cols, position / cols);
glyph_draw((uint8_t) ' ', position % cols,
position / cols);
position++;
} while ((position % 8) && (position < cols * rows));
break;
335,9 → 341,13
for (y = 0; y < FONT_SCANLINES; y++) {
unsigned int x;
for (x = 0; x < FONT_WIDTH; x++)
rgb_conv(&glyphs[GLYPH_POS(glyph, y) + x * pixelbytes],
(fb_font[ROW2Y(glyph) + y] & (1 << (7 - x))) ? FG_COLOR : BG_COLOR);
for (x = 0; x < FONT_WIDTH; x++) {
void *dst = &glyphs[GLYPH_POS(glyph, y) +
x * pixelbytes];
uint32_t rgb = (fb_font[ROW2Y(glyph) + y] &
(1 << (7 - x))) ? FG_COLOR : BG_COLOR;
rgb_conv(dst, rgb);
}
}
}
362,7 → 372,9
for (x = 0; x < xres; x++)
rgb_conv(&fb_addr[FB_POS(x, y)],
(x < LOGO_WIDTH) ? fb_logo[y * LOGO_WIDTH + x] : LOGO_COLOR);
(x < LOGO_WIDTH) ?
fb_logo[y * LOGO_WIDTH + x] :
LOGO_COLOR);
}
}
376,10 → 388,13
unsigned int x;
unsigned int col;
for (col = 0, x = 0; col < cols; col++, x += FONT_WIDTH)
memcpy(&fb_addr[FB_POS(x, y + yd)],
&glyphs[GLYPH_POS(backbuf[BB_POS(col, row)], yd)],
glyphscanline);
for (col = 0, x = 0; col < cols;
col++, x += FONT_WIDTH) {
void *d = &fb_addr[FB_POS(x, y + yd)];
void *s = &glyphs[GLYPH_POS(backbuf[BB_POS(col,
row)], yd)];
memcpy(d, s, glyphscanline);
}
}
}
391,10 → 406,10
memcpy(&fb_addr[FB_POS(COL2X(cols), y)], bgscan, size);
}
if (ROW2Y(rowtrim) < yres) {
if (ROW2Y(rowtrim) + ylogo < yres) {
unsigned int y;
for (y = ROW2Y(rowtrim); y < yres; y++)
for (y = ROW2Y(rowtrim) + ylogo; y < yres; y++)
memcpy(&fb_addr[FB_POS(0, y)], bgscan, bgscanbytes);
}
}
/branches/sparc/kernel/generic/src/proc/thread.c
211,7 → 211,7
void thread_init(void)
{
THREAD = NULL;
atomic_set(&nrdy,0);
atomic_set(&nrdy, 0);
thread_slab = slab_cache_create("thread_slab", sizeof(thread_t), 0,
thr_constructor, thr_destructor, 0);
 
/branches/sparc/kernel/arch/sparc64/include/drivers/scr.h
49,6 → 49,7
extern scr_type_t scr_type;
 
extern void scr_init(ofw_tree_node_t *node);
extern void scr_redraw(void);
 
#endif
 
/branches/sparc/kernel/arch/sparc64/src/console.c
175,6 → 175,7
*/
void arch_grab_console(void)
{
scr_redraw();
switch (kbd_type) {
#ifdef CONFIG_Z8530
case KBD_Z8530:
/branches/sparc/kernel/arch/sparc64/src/drivers/scr.c
237,5 → 237,10
fb_init(&props);
}
 
void scr_redraw(void)
{
fb_redraw();
}
 
/** @}
*/
/branches/sparc/kernel/arch/ppc32/src/ppc32.c
152,6 → 152,7
*/
void arch_grab_console(void)
{
fb_redraw();
cuda_grab();
}
 
/branches/sparc/kernel/arch/mips32/src/console.c
36,6 → 36,7
#include <arch/console.h>
#include <arch/drivers/serial.h>
#include <arch/drivers/msim.h>
#include <genarch/fb/fb.h>
 
void console_init(devno_t devno)
{
50,6 → 51,9
*/
void arch_grab_console(void)
{
#ifdef CONFIG_FB
fb_redraw();
#endif
msim_kbd_grab();
}