Compare commits

..

No commits in common. "de2451e55354990a14e99782e2146a3048a22714" and "5c51b82f6a4b8a8988c49049ec8951a8e86d9b4a" have entirely different histories.

3 changed files with 13 additions and 3 deletions

View File

@ -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;
} }

View File

@ -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());

View File

@ -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;