| Kernel v2.4.13 /drivers/char/console.c |
|---|
 2.4.13
 drivers
 char
 console.c
diff -u --recursive --new-file v2.4.12/linux/drivers/char/console.c linux/drivers/char/console.c
--- v2.4.12/linux/drivers/char/console.c Sun Sep 23 11:40:57 2001
+++ linux/drivers/char/console.c Mon Oct 15 14:00:43 2001
@@ -399,20 +399,28 @@
else {
u16 *q = p;
int cnt = count;
+ u16 a;
if (!can_do_color) {
- while (cnt--) *q++ ^= 0x0800;
+ while (cnt--) {
+ a = scr_readw(q);
+ a ^= 0x0800;
+ scr_writew(a, q);
+ q++;
+ }
} else if (hi_font_mask == 0x100) {
while (cnt--) {
- u16 a = *q;
+ a = scr_readw(q);
a = ((a) & 0x11ff) | (((a) & 0xe000) >> 4) | (((a) & 0x0e00) << 4);
- *q++ = a;
+ scr_writew(a, q);
+ q++;
}
} else {
while (cnt--) {
- u16 a = *q;
+ a = scr_readw(q);
a = ((a) & 0x88ff) | (((a) & 0x7000) >> 4) | (((a) & 0x0700) << 4);
- *q++ = a;
+ scr_writew(a, q);
+ q++;
}
}
}
|