Compare commits
No commits in common. "de2451e55354990a14e99782e2146a3048a22714" and "5c51b82f6a4b8a8988c49049ec8951a8e86d9b4a" have entirely different histories.
de2451e553
...
5c51b82f6a
@ -5,7 +5,7 @@ int main(int argc, char** argv)
|
|||||||
{
|
{
|
||||||
if (argc == 1)
|
if (argc == 1)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Usage: %s [directory]\n", argv[0]);
|
fprintf(stderr, "Usage: %s [directory]", argv[0]);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,14 +35,22 @@ extern "C" void _start()
|
|||||||
|
|
||||||
GDT::load();
|
GDT::load();
|
||||||
|
|
||||||
|
kinfoln("Loaded GDT");
|
||||||
|
|
||||||
Interrupts::install();
|
Interrupts::install();
|
||||||
|
|
||||||
IDT::load();
|
IDT::load();
|
||||||
|
|
||||||
|
kinfoln("Loaded IDT");
|
||||||
|
|
||||||
PIT::initialize(1000); // 1000 times per second
|
PIT::initialize(1000); // 1000 times per second
|
||||||
|
|
||||||
|
kinfoln("Prepared PIT");
|
||||||
|
|
||||||
Scheduler::init();
|
Scheduler::init();
|
||||||
|
|
||||||
|
kinfoln("Prepared scheduler");
|
||||||
|
|
||||||
#ifdef RUN_TEST_AS_INIT
|
#ifdef RUN_TEST_AS_INIT
|
||||||
ensure(Scheduler::load_user_task(STRINGIZE_VALUE_OF(RUN_TEST_AS_INIT)) > 0);
|
ensure(Scheduler::load_user_task(STRINGIZE_VALUE_OF(RUN_TEST_AS_INIT)) > 0);
|
||||||
#else
|
#else
|
||||||
@ -57,6 +65,8 @@ extern "C" void _start()
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
kinfoln("Prepared scheduler tasks");
|
||||||
|
|
||||||
ensure(VFS::mkdir("/dev") == 0);
|
ensure(VFS::mkdir("/dev") == 0);
|
||||||
VFS::mount("/dev", DeviceFS::get());
|
VFS::mount("/dev", DeviceFS::get());
|
||||||
|
|
||||||
|
@ -38,11 +38,11 @@ static uint64_t rdrand()
|
|||||||
|
|
||||||
void Mersenne::init()
|
void Mersenne::init()
|
||||||
{
|
{
|
||||||
|
kdbgln("Preparing random number generator");
|
||||||
|
|
||||||
has_rdrand = CPU::has_feature(CPU::Features::RDRAND);
|
has_rdrand = CPU::has_feature(CPU::Features::RDRAND);
|
||||||
has_rdseed = asm_test_rdseed();
|
has_rdseed = asm_test_rdseed();
|
||||||
|
|
||||||
if (!has_rdrand && !has_rdseed) kwarnln("CPU does not support either RDRAND or RDSEED");
|
|
||||||
|
|
||||||
state ^= (0x45fe1024UL + __moon_version_major()) * (__moon_version_minor() ^ 200UL);
|
state ^= (0x45fe1024UL + __moon_version_major()) * (__moon_version_minor() ^ 200UL);
|
||||||
|
|
||||||
state ^= 0xe0e4f5332ea75b;
|
state ^= 0xe0e4f5332ea75b;
|
||||||
|
Loading…
Reference in New Issue
Block a user