Exemple #1
0
// Иницилизация контроллера и драйвера
void fd_init()
{
   puts_color("Starting FD driver...", 0x0b);
#if (CFG_FD_READ_CACHE == 1)
   // Иницилизируем кольцевую кэш-очередь
   uint i;
   for (i = 0; i < CFG_FD_READ_CACHE_SIZE; i++)
      fd_cache[i].LBA = -1;
   fd_cache_pos = 0;
   printf_color(0x0a, "\t\t%dKb sector cache\n", CFG_FD_READ_CACHE_SIZE/2);
#else
   puts_color(0x0a, "\tno sector cache\n");
#endif

   fd_clear_int_flag();
   out_DOR(0x1c);    // Включаем двигатель первого привода
   fd_wait_for_RQM();

   // Посылаем команду Иницилизация
   out_FIFO(0x07);
   out_FIFO(0x00);

   //fd_wait_for_RQM();
   fd_wait_for_int();

   out_FIFO(0x08);      // Посылаем комадну Sense Interrupt Status
   uchar ST0;
   ST0 = in_FIFO();           // И считываем ее результат: ST0 и PCN
   in_FIFO();
}
Exemple #2
0
void panic(char *msg)
{
   puts_color("\nKernel panic!\nOops: ", 0xc);
   puts_color(msg, 0x0c);
   asm("cli; hlt");
   while(1);
}
Exemple #3
0
void			auth_wrongful(t_ftp_client *client)
{
  (void)client;
  puts_color("authentification: bad login password\n", RED);
}
Exemple #4
0
// Инициализация PIC
void irq_init()
{
   puts_color("Remapping IRQs...\t\t", 0x0b);
   remap_irqs(IRQ0_INT, IRQ8_INT);
   printf_color(0x0a, "IRQ0 = int 0x%x, IRQ8 = int 0x%x\n", IRQ0_INT, IRQ8_INT);
}