Skip to content

Commit

Permalink
Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/li…
Browse files Browse the repository at this point in the history
…nux/kernel/git/tip/linux-2.6-tip

* 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, setup: Don't skip mode setting for the standard VGA modes
  x86-64, setup: Inhibit decompressor output if video info is invalid
  x86, setup: When restoring the screen, update boot_params.screen_info
  • Loading branch information
Linus Torvalds committed Feb 28, 2010
2 parents d6cd471 + 8e92dc7 commit f6a0b5c
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 10 deletions.
2 changes: 0 additions & 2 deletions arch/x86/boot/compressed/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -180,11 +180,9 @@ static void __putstr(int error, const char *s)
return;
#endif

#ifdef CONFIG_X86_32
if (real_mode->screen_info.orig_video_mode == 0 &&
lines == 0 && cols == 0)
return;
#endif

x = real_mode->screen_info.orig_x;
y = real_mode->screen_info.orig_y;
Expand Down
9 changes: 1 addition & 8 deletions arch/x86/boot/video-vga.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,15 @@ static u8 vga_set_basic_mode(void)
{
struct biosregs ireg, oreg;
u16 ax;
u8 rows;
u8 mode;

initregs(&ireg);

/* Query current mode */
ax = 0x0f00;
intcall(0x10, &ireg, &oreg);
mode = oreg.al;

set_fs(0);
rows = rdfs8(0x484); /* rows minus one */

if ((oreg.ax == 0x5003 || oreg.ax == 0x5007) &&
(rows == 0 || rows == 24))
return mode;

if (mode != 3 && mode != 7)
mode = 3;

Expand Down
7 changes: 7 additions & 0 deletions arch/x86/boot/video.c
Original file line number Diff line number Diff line change
Expand Up @@ -298,11 +298,18 @@ static void restore_screen(void)
}

/* Restore cursor position */
if (saved.curx >= xs)
saved.curx = xs-1;
if (saved.cury >= ys)
saved.cury = ys-1;

initregs(&ireg);
ireg.ah = 0x02; /* Set cursor position */
ireg.dh = saved.cury;
ireg.dl = saved.curx;
intcall(0x10, &ireg, NULL);

store_cursor_position();
}

void set_video(void)
Expand Down

0 comments on commit f6a0b5c

Please sign in to comment.