Exemplo n.º 1
0
void kmain(kernel_boot_info_t info)
{
    if(info.magic_number != MULTIBOOT_BOOTLOADER_MAGIC)
    {
        printk("Invalid Boot Image!");
        return;
    }
    else
    {
        printk("Boot Successfull!");
    }

    terminal_initialize();

    // Disable Interrupts
    disable_interrupts();

    install_gdt();
    install_idt();

    // Enable Interrupts
    enable_interrupts();

    install_mm(&info);
    install_paging(&info);
 
    install_keyboard();
    install_pit();
  
    initialize_initrd(&info);

    list_mount_points();
    while(1);
}
Exemplo n.º 2
0
int kmain() {
  install_idt();
  setup_pic();
  clear_screen();
  asm("sti");
  asm("int $1");
  asm("int $2");
  asm("int $3");
  asm("int $4");
  asm("int $5");
  asm("int $6");
  asm("int $7");
  asm("int $9");
  // asm("cli");

  memset(buf, 0, 512);
  read_sectors_from_disk(0, 1, buf);
  print_line("after read: first two bytes");
  print_int(2, buf[0], hex);
  print_int(2, buf[1], hex);
  print_line("done");
	while (1);
}