forked from Minki/linux
Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/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, e820: Guard against array overflowed in __e820_add_region() x86, setup: remove obsolete pre-Kconfig CONFIG_VIDEO_ variables
This commit is contained in:
commit
0cc6d77e55
@ -31,7 +31,6 @@ static inline void vesa_store_mode_params_graphics(void) {}
|
||||
|
||||
static int vesa_probe(void)
|
||||
{
|
||||
#if defined(CONFIG_VIDEO_VESA) || defined(CONFIG_FIRMWARE_EDID)
|
||||
struct biosregs ireg, oreg;
|
||||
u16 mode;
|
||||
addr_t mode_ptr;
|
||||
@ -49,8 +48,7 @@ static int vesa_probe(void)
|
||||
vginfo.signature != VESA_MAGIC ||
|
||||
vginfo.version < 0x0102)
|
||||
return 0; /* Not present */
|
||||
#endif /* CONFIG_VIDEO_VESA || CONFIG_FIRMWARE_EDID */
|
||||
#ifdef CONFIG_VIDEO_VESA
|
||||
|
||||
set_fs(vginfo.video_mode_ptr.seg);
|
||||
mode_ptr = vginfo.video_mode_ptr.off;
|
||||
|
||||
@ -102,9 +100,6 @@ static int vesa_probe(void)
|
||||
}
|
||||
|
||||
return nmodes;
|
||||
#else
|
||||
return 0;
|
||||
#endif /* CONFIG_VIDEO_VESA */
|
||||
}
|
||||
|
||||
static int vesa_set_mode(struct mode_info *mode)
|
||||
|
@ -47,14 +47,6 @@ static u8 vga_set_basic_mode(void)
|
||||
|
||||
initregs(&ireg);
|
||||
|
||||
#ifdef CONFIG_VIDEO_400_HACK
|
||||
if (adapter >= ADAPTER_VGA) {
|
||||
ireg.ax = 0x1202;
|
||||
ireg.bx = 0x0030;
|
||||
intcall(0x10, &ireg, NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
ax = 0x0f00;
|
||||
intcall(0x10, &ireg, &oreg);
|
||||
mode = oreg.al;
|
||||
@ -62,11 +54,9 @@ static u8 vga_set_basic_mode(void)
|
||||
set_fs(0);
|
||||
rows = rdfs8(0x484); /* rows minus one */
|
||||
|
||||
#ifndef CONFIG_VIDEO_400_HACK
|
||||
if ((oreg.ax == 0x5003 || oreg.ax == 0x5007) &&
|
||||
(rows == 0 || rows == 24))
|
||||
return mode;
|
||||
#endif
|
||||
|
||||
if (mode != 3 && mode != 7)
|
||||
mode = 3;
|
||||
|
@ -221,7 +221,6 @@ static unsigned int mode_menu(void)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_VIDEO_RETAIN
|
||||
/* Save screen content to the heap */
|
||||
static struct saved_screen {
|
||||
int x, y;
|
||||
@ -299,10 +298,6 @@ static void restore_screen(void)
|
||||
ireg.dl = saved.curx;
|
||||
intcall(0x10, &ireg, NULL);
|
||||
}
|
||||
#else
|
||||
#define save_screen() ((void)0)
|
||||
#define restore_screen() ((void)0)
|
||||
#endif
|
||||
|
||||
void set_video(void)
|
||||
{
|
||||
|
@ -17,19 +17,8 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Enable autodetection of SVGA adapters and modes. */
|
||||
#undef CONFIG_VIDEO_SVGA
|
||||
|
||||
/* Enable autodetection of VESA modes */
|
||||
#define CONFIG_VIDEO_VESA
|
||||
|
||||
/* Retain screen contents when switching modes */
|
||||
#define CONFIG_VIDEO_RETAIN
|
||||
|
||||
/* Force 400 scan lines for standard modes (hack to fix bad BIOS behaviour */
|
||||
#undef CONFIG_VIDEO_400_HACK
|
||||
|
||||
/* This code uses an extended set of video mode numbers. These include:
|
||||
/*
|
||||
* This code uses an extended set of video mode numbers. These include:
|
||||
* Aliases for standard modes
|
||||
* NORMAL_VGA (-1)
|
||||
* EXTENDED_VGA (-2)
|
||||
@ -67,13 +56,8 @@
|
||||
/* The "recalculate timings" flag */
|
||||
#define VIDEO_RECALC 0x8000
|
||||
|
||||
/* Define DO_STORE according to CONFIG_VIDEO_RETAIN */
|
||||
#ifdef CONFIG_VIDEO_RETAIN
|
||||
void store_screen(void);
|
||||
#define DO_STORE() store_screen()
|
||||
#else
|
||||
#define DO_STORE() ((void)0)
|
||||
#endif /* CONFIG_VIDEO_RETAIN */
|
||||
|
||||
/*
|
||||
* Mode table structures
|
||||
|
@ -115,7 +115,7 @@ static void __init __e820_add_region(struct e820map *e820x, u64 start, u64 size,
|
||||
{
|
||||
int x = e820x->nr_map;
|
||||
|
||||
if (x == ARRAY_SIZE(e820x->map)) {
|
||||
if (x >= ARRAY_SIZE(e820x->map)) {
|
||||
printk(KERN_ERR "Ooops! Too many entries in the memory map!\n");
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user