diff options
| -rw-r--r-- | Documentation/x86/boot.txt | 3 | ||||
| -rw-r--r-- | drivers/input/serio/i8042-x86ia64io.h | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/Documentation/x86/boot.txt b/Documentation/x86/boot.txt index f15cb74c4f7..406d82d5d2b 100644 --- a/Documentation/x86/boot.txt +++ b/Documentation/x86/boot.txt | |||
| @@ -373,7 +373,7 @@ Protocol: 2.00+ | |||
| 373 | 1 Loadlin | 373 | 1 Loadlin |
| 374 | 2 bootsect-loader (0x20, all other values reserved) | 374 | 2 bootsect-loader (0x20, all other values reserved) |
| 375 | 3 Syslinux | 375 | 3 Syslinux |
| 376 | 4 Etherboot/gPXE | 376 | 4 Etherboot/gPXE/iPXE |
| 377 | 5 ELILO | 377 | 5 ELILO |
| 378 | 7 GRUB | 378 | 7 GRUB |
| 379 | 8 U-Boot | 379 | 8 U-Boot |
| @@ -381,6 +381,7 @@ Protocol: 2.00+ | |||
| 381 | A Gujin | 381 | A Gujin |
| 382 | B Qemu | 382 | B Qemu |
| 383 | C Arcturus Networks uCbootloader | 383 | C Arcturus Networks uCbootloader |
| 384 | D kexec-tools | ||
| 384 | E Extended (see ext_loader_type) | 385 | E Extended (see ext_loader_type) |
| 385 | F Special (0xFF = undefined) | 386 | F Special (0xFF = undefined) |
| 386 | 10 Reserved | 387 | 10 Reserved |
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h index d6cc77a53c7..5f306f79da0 100644 --- a/drivers/input/serio/i8042-x86ia64io.h +++ b/drivers/input/serio/i8042-x86ia64io.h | |||
| @@ -921,6 +921,7 @@ static int __init i8042_platform_init(void) | |||
| 921 | int retval; | 921 | int retval; |
| 922 | 922 | ||
| 923 | #ifdef CONFIG_X86 | 923 | #ifdef CONFIG_X86 |
| 924 | u8 a20_on = 0xdf; | ||
| 924 | /* Just return if pre-detection shows no i8042 controller exist */ | 925 | /* Just return if pre-detection shows no i8042 controller exist */ |
| 925 | if (!x86_platform.i8042_detect()) | 926 | if (!x86_platform.i8042_detect()) |
| 926 | return -ENODEV; | 927 | return -ENODEV; |
| @@ -960,6 +961,14 @@ static int __init i8042_platform_init(void) | |||
| 960 | 961 | ||
| 961 | if (dmi_check_system(i8042_dmi_dritek_table)) | 962 | if (dmi_check_system(i8042_dmi_dritek_table)) |
| 962 | i8042_dritek = true; | 963 | i8042_dritek = true; |
| 964 | |||
| 965 | /* | ||
| 966 | * A20 was already enabled during early kernel init. But some buggy | ||
| 967 | * BIOSes (in MSI Laptops) require A20 to be enabled using 8042 to | ||
| 968 | * resume from S3. So we do it here and hope that nothing breaks. | ||
| 969 | */ | ||
| 970 | i8042_command(&a20_on, 0x10d1); | ||
| 971 | i8042_command(NULL, 0x00ff); /* Null command for SMM firmware */ | ||
| 963 | #endif /* CONFIG_X86 */ | 972 | #endif /* CONFIG_X86 */ |
| 964 | 973 | ||
| 965 | return retval; | 974 | return retval; |
