diff options
author | Liav A <liavalb@gmail.com> | 2022-12-22 03:46:22 +0200 |
---|---|---|
committer | Jelle Raaijmakers <jelle@gmta.nl> | 2023-01-06 11:09:56 +0100 |
commit | 0f7cc468b2221d54ea79523922a2f21790c02645 (patch) | |
tree | c4925082a1d18b26e3367839a01536daa5792abc /Base | |
parent | fc5bcd84764d60ae18a74a3918d3d0ee6d6a913e (diff) | |
download | serenity-0f7cc468b2221d54ea79523922a2f21790c02645.zip |
Kernel: Make i8042 controller initialization sequence more robust
The setting of scan code set sequence is removed, as it's buggy and
could lead the controller to fail immediately when doing self-test
afterwards. We will restore it when we understand how to do so safely.
Allow the user to determine a preferred detection path with a new kernel
command line argument. The defualt option is to check i8042 presence
with an ACPI check and if necessary - an "aggressive" test to determine
i8042 existence in the system.
Also, keep the i8042 controller pointer on the stack, so don't assign
m_i8042_controller member pointer if it does not exist.
Diffstat (limited to 'Base')
-rw-r--r-- | Base/usr/share/man/man7/boot_parameters.md | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Base/usr/share/man/man7/boot_parameters.md b/Base/usr/share/man/man7/boot_parameters.md index 35b5c5d1c1..b04099bedd 100644 --- a/Base/usr/share/man/man7/boot_parameters.md +++ b/Base/usr/share/man/man7/boot_parameters.md @@ -28,9 +28,7 @@ List of options: during the boot sequence. Leaving only the AHCI and Ram Disk controllers. * **`disable_physical_storage`** - If present on the command line, neither AHCI, or IDE controllers will be initialized on boot. - -* **`disable_ps2_controller`** - If present on the command line, the I8042 keyboard controller will not be initialized on boot. - + * **`disable_uhci_controller`** - If present on the command line, the UHCI controller will not be initialized on boot. * **`disable_virtio`** - If present on the command line, virtio devices will not be detected, and initialized on boot. @@ -61,6 +59,12 @@ has set up before booting the Kernel, don't initialize any driver. * **`init_args`** - This parameter expects a set of arguments to pass to the **`init`** program. The value should be a set of strings separated by `,` characters. +* **`i8042_presence_mode`** - This parameter expects one of the following values: + **`aggressive-test`** - The i8042 initialization sequence should only try an aggressive presence test. + **`auto`** - The i8042 initialization sequence should try to check if ACPI says i8042 exists, and if not an aggressive presence test should take place to determine presence. + **`none`** - Assume there's no i8042 controller in the system. + **`force`** - Assume there's i8042 controller in the system. + * **`panic`** - This parameter expects **`halt`** or **`shutdown`**. This is particularly useful in CI contexts. * **`pci`** - This parameter expects **`ecam`**, **`io`** or **`none`**. When selecting **`none`** |