Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 1326 → Rev 1327

//kernel/trunk/genarch/include/fb/fb.h
34,5 → 34,6
 
extern spinlock_t fb_lock;
void fb_init(__address addr, unsigned int x, unsigned int y, unsigned int bpp, unsigned int scan);
void fb_register(void);
 
#endif
//kernel/trunk/genarch/src/fb/fb.c
47,6 → 47,7
static unsigned int xres = 0;
static unsigned int yres = 0;
static unsigned int scanline = 0;
static unsigned int bitspp = 0;
static unsigned int pixelbytes = 0;
 
static unsigned int position = 0;
348,6 → 349,7
fbaddress = (unsigned char *) addr;
xres = x;
yres = y;
bitspp = bpp;
scanline = scan;
rows = y / FONT_SCANLINES;
359,14 → 361,18
 
chardev_initialize("fb", &framebuffer, &fb_ops);
stdout = &framebuffer;
sysinfo_set_item_val("Framebuffer",NULL,true);
sysinfo_set_item_val("Framebuffer.width",NULL,x);
sysinfo_set_item_val("Framebuffer.height",NULL,y);
sysinfo_set_item_val("Framebuffer.scanline",NULL,scan);
sysinfo_set_item_val("Framebuffer.bpp",NULL,bpp);
sysinfo_set_item_val("Framebuffer.address.virtual",NULL,addr);
}
 
 
/** Register framebuffer in sysinfo
*
*/
void fb_register(void)
{
sysinfo_set_item_val("fb", NULL, true);
sysinfo_set_item_val("fb.width", NULL, xres);
sysinfo_set_item_val("fb.height", NULL, yres);
sysinfo_set_item_val("fb.scanline", NULL, scanline);
sysinfo_set_item_val("fb.bpp", NULL, bitspp);
sysinfo_set_item_val("fb.address.virtual", NULL, (__address) fbaddress);
}
//kernel/trunk/generic/include/syscall/syscall.h
31,7 → 31,7
 
typedef enum {
SYS_IO = 0,
SYS_TLS_SET = 1, /* Hardcoded in AMD64,IA32 uspace - psthread.S */
SYS_TLS_SET = 1, /* Hardcoded in AMD64, IA32 uspace - psthread.S */
SYS_THREAD_CREATE,
SYS_THREAD_EXIT,
SYS_TASK_GET_ID,
//kernel/trunk/arch/ppc32/include/console.h
30,5 → 30,6
#define __ppc32_CONSOLE_H__
 
extern void ppc32_console_init(void);
extern void ppc32_console_register(void);
 
#endif
//kernel/trunk/arch/ppc32/src/console.c
39,3 → 39,9
/* TODO: Framebuffer mapping */
fb_init(0xf0000000 + (bootinfo.screen.addr & ((__address) ~0 >> 15)), bootinfo.screen.width, bootinfo.screen.height, bootinfo.screen.bpp, bootinfo.screen.scanline);
}
 
 
void ppc32_console_register(void)
{
fb_register();
}
//kernel/trunk/arch/ppc32/src/ppc32.c
62,6 → 62,8
if (config.cpu_active == 1) {
/* Merge all zones to 1 big zone */
zone_merge_all();
ppc32_console_register();
}
}
 
//kernel/trunk/arch/ia32/src/drivers/vesa.c
80,7 → 80,8
 
fb_init(vram_lin_addr, vesa_width, vesa_height, vesa_bpp, vesa_scanline);
sysinfo_set_item_val("Framebuffer.address.physical",NULL,vesa_ph_addr);
fb_register();
sysinfo_set_item_val("fb.address.physical", NULL, vesa_ph_addr);
}
 
#endif