Exemplo n.º 1
0
void fbcon_ega_planes_putc(struct vc_data *conp, struct display *p, int c, int yy, int xx)
{
	int fg = attr_fgcol(p,c);
	int bg = attr_bgcol(p,c);

	int y;
	u8 *cdat = p->fontdata + (c & p->charmask) * fontheight(p);
	char *where = p->screen_base + xx + yy * p->line_length * fontheight(p);

	setmode(0);
	setop(0);
	setsr(0xf);
	setcolor(bg);
	selectmask();

	setmask(0xff);
	for (y = 0; y < fontheight(p); y++, where += p->line_length) 
		rmw(where);

	where -= p->line_length * y;
	setcolor(fg);
	selectmask();
	for (y = 0; y < fontheight(p); y++, where += p->line_length) 
		if (cdat[y]) {
			setmask(cdat[y]);
			rmw(where);
		}
}
Exemplo n.º 2
0
void vga16_set_pixel(int x, int y, unsigned long c)
{
	volatile char *where;
	setmode(0);
	setop(0);
	setcolor(c);
	selectmask();
	setmask(0x80 >> (x % 8));
	where = fb_mem + y * 80 + x/8;
	rmw(where);
}
Exemplo n.º 3
0
void fbcon_vga_planes_revc(struct display *p, int xx, int yy)
{
	char *where = p->screen_base + xx + yy * p->line_length * fontheight(p);
	int y;
	
	setmode(0);
	setop(0x18);
	setsr(0xf);
	setcolor(0xf);
	selectmask();

	setmask(0xff);
	for (y = 0; y < fontheight(p); y++) {
		rmw(where);
		where += p->line_length;
	}
}
Exemplo n.º 4
0
 T fetch_xor(T value, memory_order mo, debug_info_param info)
 {
     return rmw(rmw_type_t<rmw_type_xor>(), value, mo, info);
 }
Exemplo n.º 5
0
 T fetch_sub(typename atomic_add_type<T>::type value, memory_order mo, debug_info_param info)
 {
     return rmw(rmw_type_t<rmw_type_sub>(), value, mo, info);
 }
Exemplo n.º 6
0
 T exchange(T xchg, memory_order mo, debug_info_param info)
 {
     return rmw(rmw_type_t<rmw_type_swap>(), xchg, mo, info);
 }