extended_type_info_typeid() : typeid_system::extended_type_info_typeid_0( boost::serialization::guid< T >() ) { type_register(typeid(T)); key_register(); }
extended_type_info_typeid() : typeid_system::extended_type_info_typeid_0(get_key()) { type_register(typeid(T)); key_register(); }
void kmain(multiboot_info_t* mbd, unsigned int magic ) { if ( magic != 0x2BADB002 ) { // TODO: Hacer un kputs. kprint ( "Warning: No se inicializo con GRUB, intentando de todas formas.\n" ); } //Primero tenemos que corregir mbd para que sea una direccion virtual valida mbd = (multiboot_info_t*)( PA2KVA( (uint32_t) mbd) ); //Ahora si, usando mbd que apunta bien a los datos del grub, inicializamos todo kinit( mbd ); kprint("llego\n"); key_init(); //Aca asigna Esc a la funcion menu key_register(menu, 1); //Seteo Fs key_register(mostrar_slot,59); key_register(mostrar_slot,60); key_register(mostrar_slot,61); key_register(mostrar_slot,62); key_register(mostrar_slot,63); key_register(mostrar_slot,64); key_register(mostrar_slot,65); key_register(mostrar_slot,66); key_register(mostrar_slot,67); kprint("binding keys done\n"); if(tty_init(&tty_kernel, menu_in)) { panic("fallo el inicio de las tty"); } //Lanzamos programa para cargar tareas y modificar quantums. set_isr_handler( 14, &pf ); // #PF // El idle task... siempre listo... :-) programs_t idle; idle.va_entry = idletask; crear_kthread( &idle, 10 ); //Iniciamos Scheduler iniciar_scheduler(); extern unsigned char ej1[]; extern unsigned char ej2[]; extern unsigned char ej3[]; extern unsigned char ej4[]; programas[0] = (programs_t *) ej1; programas[1]= (programs_t *) ej2; programas[2] = (programs_t *) ej3; programas[3]= (programs_t *) ej4; programas[4]= (programs_t *) ej1; set_irq_handler( 0, &timer ); set_irq_handler( 1, &irq_keyboard ); menu(1); sti(); //Lanzamos programa menu while(1); }