mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 15:37:43 +00:00
Kernel: Allow disabling of IDE controllers with disable_ide
The kernel doesn't like the IDE controllers on an Asus A7N8X-E Deluxe motherboard, so add an option to disable them.
This commit is contained in:
parent
7eaefa5aa6
commit
4d755725bf
1 changed files with 8 additions and 5 deletions
|
@ -25,6 +25,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <AK/UUID.h>
|
#include <AK/UUID.h>
|
||||||
|
#include <Kernel/CommandLine.h>
|
||||||
#include <Kernel/Devices/BlockDevice.h>
|
#include <Kernel/Devices/BlockDevice.h>
|
||||||
#include <Kernel/FileSystem/Ext2FileSystem.h>
|
#include <Kernel/FileSystem/Ext2FileSystem.h>
|
||||||
#include <Kernel/PCI/Access.h>
|
#include <Kernel/PCI/Access.h>
|
||||||
|
@ -60,11 +61,13 @@ bool StorageManagement::boot_argument_contains_partition_uuid()
|
||||||
NonnullRefPtrVector<StorageController> StorageManagement::enumerate_controllers(bool force_pio) const
|
NonnullRefPtrVector<StorageController> StorageManagement::enumerate_controllers(bool force_pio) const
|
||||||
{
|
{
|
||||||
NonnullRefPtrVector<StorageController> controllers;
|
NonnullRefPtrVector<StorageController> controllers;
|
||||||
PCI::enumerate([&](const PCI::Address& address, PCI::ID) {
|
if (!kernel_command_line().contains("disable_ide")) {
|
||||||
if (PCI::get_class(address) == 0x1 && PCI::get_subclass(address) == 0x1) {
|
PCI::enumerate([&](const PCI::Address& address, PCI::ID) {
|
||||||
controllers.append(IDEController::initialize(address, force_pio));
|
if (PCI::get_class(address) == 0x1 && PCI::get_subclass(address) == 0x1) {
|
||||||
}
|
controllers.append(IDEController::initialize(address, force_pio));
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
controllers.append(RamdiskController::initialize());
|
controllers.append(RamdiskController::initialize());
|
||||||
return controllers;
|
return controllers;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue