void Slip_INIT(char * Memory, int Size) { UNS_type tag_boundary, total_number_of_cells; total_number_of_cells = Size / CEL_SIZE; if (((UNS_type)Memory % CEL_SIZE) != 0) Slip_Fail(MNS_error); if (total_number_of_cells < Minimum_number_of_cells) Slip_Fail(IMM_error); tag_boundary = Grammar_Boundary(); Memory_Initialize((ADR_type)Memory, total_number_of_cells, tag_boundary); Root_Initialize(); Grammar_Initialize(); slipken_persist_init(Intermediate_expression, Grammar_Unspecified); Pool_Initialize_M(); Cache_Initialize_M(); Compile_Initialize(); Dictionary_Initialize(); Environment_Initialize_M(); Thread_Initialize(); Evaluate_Initialize(); Native_Initialize_M(); Print_Initialize(); Read_Initialize(); Stack_Initialize_M(); initialize_print(); MAIN_REGISTER(Grammar_Empty_Vector); MAIN_REGISTER(Grammar_Newline_String); MAIN_REGISTER(Intermediate_expression); /* Slip_Print("cpSlip/c version 13: completion and optimization");*/ /* for (;;)*/ /* read_eval_print_C();*/ }
void kernel_main_init(void) { //__asm__(".cont:\n\tmov %rsp, %rax\n\tmov %rsp, %rbx\n\tint $34\n\tsub %rsp, %rax\n\tjz .cont\n\thlt"); InitializeTimer(); SetTimerEnableMode(ENABLE); kmalloc_init (); ProcessSys_Initialize(); Thread_Initialize(); KeyMan_Initialize(); RegisterCore(0, NULL); CreateThread(ROOT_PID, ThreadPermissionLevel_Kernel, (ThreadEntryPoint)kernel_main, NULL); CoreUpdate(); //BSP is core 0 }