ACPI boot menu item is for bios_ia32
added a kernel settings option to disable ACPI git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19791 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -32,3 +32,5 @@
|
|||||||
# APM (advanced power management) support
|
# APM (advanced power management) support
|
||||||
# (system shutdown, battery info, ...)
|
# (system shutdown, battery info, ...)
|
||||||
|
|
||||||
|
#acpi true
|
||||||
|
# ACPI support
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#define B_SAFEMODE_DISABLE_USER_ADD_ONS "disableuseraddons"
|
#define B_SAFEMODE_DISABLE_USER_ADD_ONS "disableuseraddons"
|
||||||
#define B_SAFEMODE_DISABLE_IDE_DMA "disableidedma"
|
#define B_SAFEMODE_DISABLE_IDE_DMA "disableidedma"
|
||||||
#define B_SAFEMODE_DISABLE_ACPI "disableacpi"
|
#define B_SAFEMODE_DISABLE_ACPI "disable_acpi"
|
||||||
#define B_SAFEMODE_DISABLE_SMP "disable_smp"
|
#define B_SAFEMODE_DISABLE_SMP "disable_smp"
|
||||||
#define B_SAFEMODE_DISABLE_HYPER_THREADING "disable_hyperthreading"
|
#define B_SAFEMODE_DISABLE_HYPER_THREADING "disable_hyperthreading"
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,25 @@ acpi_std_ops(int32 op,...)
|
|||||||
|
|
||||||
switch(op) {
|
switch(op) {
|
||||||
case B_MODULE_INIT:
|
case B_MODULE_INIT:
|
||||||
|
// check if safemode settings disable DMA
|
||||||
|
|
||||||
|
settings = load_driver_settings("kernel");
|
||||||
|
if (settings != NULL) {
|
||||||
|
acpiDisabled = !get_driver_boolean_parameter(settings, "acpi", true, true);
|
||||||
|
unload_driver_settings(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
settings = load_driver_settings(B_SAFEMODE_DRIVER_SETTINGS);
|
||||||
|
if (settings != NULL) {
|
||||||
|
acpiDisabled = get_driver_boolean_parameter(settings, B_SAFEMODE_DISABLE_ACPI,
|
||||||
|
acpiDisabled, acpiDisabled);
|
||||||
|
unload_driver_settings(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (acpiDisabled) {
|
||||||
|
ERROR("ACPI disabled");
|
||||||
|
return ENOSYS;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef ACPI_DEBUG_OUTPUT
|
#ifdef ACPI_DEBUG_OUTPUT
|
||||||
AcpiDbgLevel = ACPI_DEBUG_ALL | ACPI_LV_VERBOSE;
|
AcpiDbgLevel = ACPI_DEBUG_ALL | ACPI_LV_VERBOSE;
|
||||||
|
|||||||
@@ -444,10 +444,6 @@ add_safe_mode_menu()
|
|||||||
item->SetData(B_SAFEMODE_DISABLE_IDE_DMA);
|
item->SetData(B_SAFEMODE_DISABLE_IDE_DMA);
|
||||||
item->SetType(MENU_ITEM_MARKABLE);
|
item->SetType(MENU_ITEM_MARKABLE);
|
||||||
|
|
||||||
safeMenu->AddItem(item = new(nothrow) MenuItem("Disable ACPI"));
|
|
||||||
item->SetData(B_SAFEMODE_DISABLE_ACPI);
|
|
||||||
item->SetType(MENU_ITEM_MARKABLE);
|
|
||||||
|
|
||||||
platform_add_menus(safeMenu);
|
platform_add_menus(safeMenu);
|
||||||
|
|
||||||
safeMenu->AddItem(item = new(nothrow) MenuItem("Enable on screen debug output"));
|
safeMenu->AddItem(item = new(nothrow) MenuItem("Enable on screen debug output"));
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ platform_add_menus(Menu *menu)
|
|||||||
item->SetType(MENU_ITEM_MARKABLE);
|
item->SetType(MENU_ITEM_MARKABLE);
|
||||||
item->SetData("disable_apm");
|
item->SetData("disable_apm");
|
||||||
item->SetHelpText("This overrides the APM setting in the kernel settings file");
|
item->SetHelpText("This overrides the APM setting in the kernel settings file");
|
||||||
|
|
||||||
|
menu->AddItem(item = new(nothrow) MenuItem("Disable ACPI"));
|
||||||
|
item->SetType(MENU_ITEM_MARKABLE);
|
||||||
|
item->SetData(B_SAFEMODE_DISABLE_ACPI);
|
||||||
|
item->SetHelpText("This overrides the ACPI setting in the kernel settings file");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user