IMPLEMENTATION[ia32,amd64]:
#include <cstring>
-#include "cmdline.h"
bool Config::hlt_works_ok = true;
char const Config::char_micro = '\265';
bool Config::apic = false;
bool Config::getchar_does_hlt_works_ok = false;
+unsigned Config::scheduler_irq_vector;
#ifdef CONFIG_WATCHDOG
bool Config::watchdog = false;
void
Config::init_arch()
{
- char const *cmdline = Cmdline::cmdline();
-
#ifdef CONFIG_WATCHDOG
- if (strstr(cmdline, " -watchdog"))
+ if (Koptions::o()->opt(Koptions::F_watchdog))
{
watchdog = true;
apic = true;
}
#endif
- if (strstr(cmdline, " -nohlt"))
+ if (Koptions::o()->opt(Koptions::F_nohlt))
hlt_works_ok = false;
- if (strstr(cmdline, " -apic"))
+ if (Koptions::o()->opt(Koptions::F_apic))
apic = true;
if (scheduler_mode == SCHED_APIC)
#include <feature.h>
KIP_KERNEL_FEATURE("io_prot");
#endif
-
-
-IMPLEMENTATION[(ia32 | amd64) && pit_timer]:
-
-unsigned Config::scheduler_irq_vector = 0x20U;
-
-
-IMPLEMENTATION[(ia32 | amd64) && rtc_timer]:
-unsigned Config::scheduler_irq_vector = 0x28U;
-
-
-IMPLEMENTATION[(ia32 | amd64) && apic_timer]:
-
-unsigned Config::scheduler_irq_vector = Config::Apic_timer_vector;
-
-IMPLEMENTATION[(ia32 | amd64) && hpet_timer]:
-
-unsigned Config::scheduler_irq_vector;