problem with vgacon on Alphas

Thomas Bogendoerfer (tsbogend@alpha.franken.de)
Sat, 8 Aug 1998 14:16:50 +0200


Hi,

after some reports about freezing Alpha machines with 2.1.113 as soon
as someone switches from X to a normal console. I've tried it myself and
my machine also stopped after I pressed CTRL-ALT-F1 under X.

I've tracked the problem down (serial console is your friend) to
a memcpy_from(), where the source is a kernel address, which is
a no no on Alphas. Below is a patch, which fixes this problem.

I hope the patch will make into one of the next kernels.

Thomas.

Index: vgacon.c
===================================================================
RCS file: /usr/src/cvs/linux/drivers/video/vgacon.c,v
retrieving revision 1.1.1.8
diff -u -r1.1.1.8 vgacon.c
--- vgacon.c 1998/08/02 09:55:38 1.1.1.8
+++ vgacon.c 1998/08/08 11:59:09
@@ -454,6 +454,8 @@
*/
vga_video_num_columns = c->vc_cols;
vga_video_num_lines = c->vc_rows;
+ if (vga_is_gfx)
+ return 1;
scr_memcpyw_to((u16 *) c->vc_origin, (u16 *) c->vc_screenbuf, c->vc_screenbuf_size);
return 0; /* Redrawing not needed */
}
@@ -934,6 +936,8 @@
c->vc_x = ORIG_X;
c->vc_y = ORIG_Y;
}
+ if (vga_is_gfx)
+ return;
scr_memcpyw_from((u16 *) c->vc_screenbuf, (u16 *) c->vc_origin, c->vc_screenbuf_size);
}

-- 
See, you not only have to be a good coder to create a system like Linux,
you have to be a sneaky bastard too ;-)
                   [Linus Torvalds in <4rikft$7g5@linux.cs.Helsinki.FI>]

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html