Commit 3dbff0d5 authored by Linus Torvalds's avatar Linus Torvalds

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
parents ca2a88f5 cd34ab8b
...@@ -373,7 +373,7 @@ Protocol: 2.00+ ...@@ -373,7 +373,7 @@ Protocol: 2.00+
1 Loadlin 1 Loadlin
2 bootsect-loader (0x20, all other values reserved) 2 bootsect-loader (0x20, all other values reserved)
3 Syslinux 3 Syslinux
4 Etherboot/gPXE 4 Etherboot/gPXE/iPXE
5 ELILO 5 ELILO
7 GRUB 7 GRUB
8 U-Boot 8 U-Boot
...@@ -381,6 +381,7 @@ Protocol: 2.00+ ...@@ -381,6 +381,7 @@ Protocol: 2.00+
A Gujin A Gujin
B Qemu B Qemu
C Arcturus Networks uCbootloader C Arcturus Networks uCbootloader
D kexec-tools
E Extended (see ext_loader_type) E Extended (see ext_loader_type)
F Special (0xFF = undefined) F Special (0xFF = undefined)
10 Reserved 10 Reserved
......
...@@ -921,6 +921,7 @@ static int __init i8042_platform_init(void) ...@@ -921,6 +921,7 @@ static int __init i8042_platform_init(void)
int retval; int retval;
#ifdef CONFIG_X86 #ifdef CONFIG_X86
u8 a20_on = 0xdf;
/* Just return if pre-detection shows no i8042 controller exist */ /* Just return if pre-detection shows no i8042 controller exist */
if (!x86_platform.i8042_detect()) if (!x86_platform.i8042_detect())
return -ENODEV; return -ENODEV;
...@@ -960,6 +961,14 @@ static int __init i8042_platform_init(void) ...@@ -960,6 +961,14 @@ static int __init i8042_platform_init(void)
if (dmi_check_system(i8042_dmi_dritek_table)) if (dmi_check_system(i8042_dmi_dritek_table))
i8042_dritek = true; 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 */ #endif /* CONFIG_X86 */
return retval; return retval;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment