Author: mmlr Date: 2011-05-16 10:42:30 +0200 (Mon, 16 May 2011) New Revision: 41527 Changeset: https://dev.haiku-os.org/changeset/41527 Modified: haiku/trunk/headers/private/system/safemode_defs.h haiku/trunk/src/system/boot/platform/bios_ia32/smp.cpp haiku/trunk/src/system/kernel/arch/x86/ioapic.cpp Log: Enable IO-APICs by default. It's been tested on a broad spectrum of hardware and all reports so far have been positive. We fall back to legacy mode in the cases where we can't figure out the correct routing. Modified: haiku/trunk/headers/private/system/safemode_defs.h =================================================================== --- haiku/trunk/headers/private/system/safemode_defs.h 2011-05-16 04:43:58 UTC (rev 41526) +++ haiku/trunk/headers/private/system/safemode_defs.h 2011-05-16 08:42:30 UTC (rev 41527) @@ -21,7 +21,4 @@ # define B_SAFEMODE_DISABLE_LATENCY_CHECK "disable_latency_check" #endif -#define B_SAFEMODE_ENABLE_IOAPIC "enable_ioapic" - // TODO: temprary opt-in, can be removed once IO-APIC code is broadly tested - #endif /* _SYSTEM_SAFEMODE_DEFS_H */ Modified: haiku/trunk/src/system/boot/platform/bios_ia32/smp.cpp =================================================================== --- haiku/trunk/src/system/boot/platform/bios_ia32/smp.cpp 2011-05-16 04:43:58 UTC (rev 41526) +++ haiku/trunk/src/system/boot/platform/bios_ia32/smp.cpp 2011-05-16 08:42:30 UTC (rev 41527) @@ -578,19 +578,11 @@ MenuItem *item; if (gKernelArgs.arch_args.ioapic_phys != 0) { -#if 0 menu->AddItem(item = new(nothrow) MenuItem("Disable IO-APIC")); item->SetType(MENU_ITEM_MARKABLE); item->SetData(B_SAFEMODE_DISABLE_IOAPIC); item->SetHelpText("Disables using the IO APIC for interrupt routing, " "forcing the use of the legacy PIC instead."); -#else - // TODO: This can be removed once IO-APIC code is broadly tested - menu->AddItem(item = new(nothrow) MenuItem("Enable IO-APIC")); - item->SetType(MENU_ITEM_MARKABLE); - item->SetData(B_SAFEMODE_ENABLE_IOAPIC); - item->SetHelpText("Enables using the IO APIC for interrupt routing."); -#endif } if (gKernelArgs.arch_args.apic_phys != 0) { Modified: haiku/trunk/src/system/kernel/arch/x86/ioapic.cpp =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/ioapic.cpp 2011-05-16 04:43:58 UTC (rev 41526) +++ haiku/trunk/src/system/kernel/arch/x86/ioapic.cpp 2011-05-16 08:42:30 UTC (rev 41527) @@ -538,20 +538,11 @@ return; } -#if 0 if (get_safemode_boolean(B_SAFEMODE_DISABLE_IOAPIC, false)) { dprintf("io-apics explicitly disabled, not using io-apics for " "interrupt routing\n"); return; } -#else - // TODO: This can be removed once IO-APIC code is broadly tested - if (!get_safemode_boolean(B_SAFEMODE_ENABLE_IOAPIC, false)) { - dprintf("io-apics not enabled, not using io-apics for interrupt " - "routing\n"); - return; - } -#endif // load acpi module status_t status;