forked from Minki/linux
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull small x86 fixes from Peter Anvin: "A collection of very small fixes, mostly pure documentation." * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, doc: Document that bootloader ID 4 is used also by iPXE x86, doc: Add a formal bootloader ID for kexec-tools x86, 8042: Enable A20 using KBC to fix S3 resume on some MSI laptops
This commit is contained in:
commit
3dbff0d5e8
@ -373,7 +373,7 @@ Protocol: 2.00+
|
||||
1 Loadlin
|
||||
2 bootsect-loader (0x20, all other values reserved)
|
||||
3 Syslinux
|
||||
4 Etherboot/gPXE
|
||||
4 Etherboot/gPXE/iPXE
|
||||
5 ELILO
|
||||
7 GRUB
|
||||
8 U-Boot
|
||||
@ -381,6 +381,7 @@ Protocol: 2.00+
|
||||
A Gujin
|
||||
B Qemu
|
||||
C Arcturus Networks uCbootloader
|
||||
D kexec-tools
|
||||
E Extended (see ext_loader_type)
|
||||
F Special (0xFF = undefined)
|
||||
10 Reserved
|
||||
|
@ -921,6 +921,7 @@ static int __init i8042_platform_init(void)
|
||||
int retval;
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
u8 a20_on = 0xdf;
|
||||
/* Just return if pre-detection shows no i8042 controller exist */
|
||||
if (!x86_platform.i8042_detect())
|
||||
return -ENODEV;
|
||||
@ -960,6 +961,14 @@ static int __init i8042_platform_init(void)
|
||||
|
||||
if (dmi_check_system(i8042_dmi_dritek_table))
|
||||
i8042_dritek = true;
|
||||
|
||||
/*
|
||||
* A20 was already enabled during early kernel init. But some buggy
|
||||
* BIOSes (in MSI Laptops) require A20 to be enabled using 8042 to
|
||||
* resume from S3. So we do it here and hope that nothing breaks.
|
||||
*/
|
||||
i8042_command(&a20_on, 0x10d1);
|
||||
i8042_command(NULL, 0x00ff); /* Null command for SMM firmware */
|
||||
#endif /* CONFIG_X86 */
|
||||
|
||||
return retval;
|
||||
|
Loading…
Reference in New Issue
Block a user