mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-17 23:15:52 +00:00
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)
|
static int vesa_probe(void)
|
||||||
{
|
{
|
||||||
#if defined(CONFIG_VIDEO_VESA) || defined(CONFIG_FIRMWARE_EDID)
|
|
||||||
struct biosregs ireg, oreg;
|
struct biosregs ireg, oreg;
|
||||||
u16 mode;
|
u16 mode;
|
||||||
addr_t mode_ptr;
|
addr_t mode_ptr;
|
||||||
@ -49,8 +48,7 @@ static int vesa_probe(void)
|
|||||||
vginfo.signature != VESA_MAGIC ||
|
vginfo.signature != VESA_MAGIC ||
|
||||||
vginfo.version < 0x0102)
|
vginfo.version < 0x0102)
|
||||||
return 0; /* Not present */
|
return 0; /* Not present */
|
||||||
#endif /* CONFIG_VIDEO_VESA || CONFIG_FIRMWARE_EDID */
|
|
||||||
#ifdef CONFIG_VIDEO_VESA
|
|
||||||
set_fs(vginfo.video_mode_ptr.seg);
|
set_fs(vginfo.video_mode_ptr.seg);
|
||||||
mode_ptr = vginfo.video_mode_ptr.off;
|
mode_ptr = vginfo.video_mode_ptr.off;
|
||||||
|
|
||||||
@ -102,9 +100,6 @@ static int vesa_probe(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
return nmodes;
|
return nmodes;
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif /* CONFIG_VIDEO_VESA */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int vesa_set_mode(struct mode_info *mode)
|
static int vesa_set_mode(struct mode_info *mode)
|
||||||
|
@ -47,14 +47,6 @@ static u8 vga_set_basic_mode(void)
|
|||||||
|
|
||||||
initregs(&ireg);
|
initregs(&ireg);
|
||||||
|
|
||||||
#ifdef CONFIG_VIDEO_400_HACK
|
|
||||||
if (adapter >= ADAPTER_VGA) {
|
|
||||||
ireg.ax = 0x1202;
|
|
||||||
ireg.bx = 0x0030;
|
|
||||||
intcall(0x10, &ireg, NULL);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ax = 0x0f00;
|
ax = 0x0f00;
|
||||||
intcall(0x10, &ireg, &oreg);
|
intcall(0x10, &ireg, &oreg);
|
||||||
mode = oreg.al;
|
mode = oreg.al;
|
||||||
@ -62,11 +54,9 @@ static u8 vga_set_basic_mode(void)
|
|||||||
set_fs(0);
|
set_fs(0);
|
||||||
rows = rdfs8(0x484); /* rows minus one */
|
rows = rdfs8(0x484); /* rows minus one */
|
||||||
|
|
||||||
#ifndef CONFIG_VIDEO_400_HACK
|
|
||||||
if ((oreg.ax == 0x5003 || oreg.ax == 0x5007) &&
|
if ((oreg.ax == 0x5003 || oreg.ax == 0x5007) &&
|
||||||
(rows == 0 || rows == 24))
|
(rows == 0 || rows == 24))
|
||||||
return mode;
|
return mode;
|
||||||
#endif
|
|
||||||
|
|
||||||
if (mode != 3 && mode != 7)
|
if (mode != 3 && mode != 7)
|
||||||
mode = 3;
|
mode = 3;
|
||||||
|
@ -221,7 +221,6 @@ static unsigned int mode_menu(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_VIDEO_RETAIN
|
|
||||||
/* Save screen content to the heap */
|
/* Save screen content to the heap */
|
||||||
static struct saved_screen {
|
static struct saved_screen {
|
||||||
int x, y;
|
int x, y;
|
||||||
@ -299,10 +298,6 @@ static void restore_screen(void)
|
|||||||
ireg.dl = saved.curx;
|
ireg.dl = saved.curx;
|
||||||
intcall(0x10, &ireg, NULL);
|
intcall(0x10, &ireg, NULL);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
#define save_screen() ((void)0)
|
|
||||||
#define restore_screen() ((void)0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void set_video(void)
|
void set_video(void)
|
||||||
{
|
{
|
||||||
|
@ -17,19 +17,8 @@
|
|||||||
|
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
|
||||||
/* Enable autodetection of SVGA adapters and modes. */
|
/*
|
||||||
#undef CONFIG_VIDEO_SVGA
|
* This code uses an extended set of video mode numbers. These include:
|
||||||
|
|
||||||
/* 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:
|
|
||||||
* Aliases for standard modes
|
* Aliases for standard modes
|
||||||
* NORMAL_VGA (-1)
|
* NORMAL_VGA (-1)
|
||||||
* EXTENDED_VGA (-2)
|
* EXTENDED_VGA (-2)
|
||||||
@ -67,13 +56,8 @@
|
|||||||
/* The "recalculate timings" flag */
|
/* The "recalculate timings" flag */
|
||||||
#define VIDEO_RECALC 0x8000
|
#define VIDEO_RECALC 0x8000
|
||||||
|
|
||||||
/* Define DO_STORE according to CONFIG_VIDEO_RETAIN */
|
|
||||||
#ifdef CONFIG_VIDEO_RETAIN
|
|
||||||
void store_screen(void);
|
void store_screen(void);
|
||||||
#define DO_STORE() store_screen()
|
#define DO_STORE() store_screen()
|
||||||
#else
|
|
||||||
#define DO_STORE() ((void)0)
|
|
||||||
#endif /* CONFIG_VIDEO_RETAIN */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mode table structures
|
* 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;
|
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");
|
printk(KERN_ERR "Ooops! Too many entries in the memory map!\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user