Beispiel #1
0
/* Sets up the timer to interrupt TIMER_FREQ times per second,
   and registers the corresponding interrupt. */
void
timer_init (void)
{
  list_init(&blocked_pqueue);
  pit_configure_channel (0, 2, TIMER_FREQ);
  intr_register_ext (0x20, timer_interrupt, "8254 Timer");
}
Beispiel #2
0
/* Sets up the timer to interrupt TIMER_FREQ times per second,
   and registers the corresponding interrupt. */
void
timer_init (void) 
{
  pit_configure_channel (0, 2, TIMER_FREQ);
  intr_register_ext (0x20, timer_interrupt, "8254 Timer");
  list_init(&threadsToWakeUp);
}
Beispiel #3
0
/* Sets up the timer to interrupt TIMER_FREQ times per second,
   and registers the corresponding interrupt. */
void
timer_init (void) 
{
  list_init (&sleep_list);
  pit_configure_channel (0, 2, TIMER_FREQ);
  intr_register_ext (0x20, timer_interrupt, "8254 Timer");
}
Beispiel #4
0
/* Sets up the timer to interrupt TIMER_FREQ times per second,
   and registers the corresponding interrupt. */
void
timer_init (void) 
{
  pit_configure_channel (0, 2, TIMER_FREQ);
  intr_register_ext (0x20, timer_interrupt, "8254 Timer");
  list_init(&dormidos); //PRACTICA1
}
Beispiel #5
0
/* Sets up the timer to interrupt TIMER_FREQ times per second,
   and registers the corresponding interrupt. */
void
timer_init (void) 
{
  pit_configure_channel (0, 2, TIMER_FREQ);
  intr_register_ext (0x20, timer_interrupt, "8254 Timer");
  list_init (&wait_sema_list);
  sema_init (&sema_calc_tick,1);
}
Beispiel #6
0
/* Sets up the timer to interrupt TIMER_FREQ times per second,
   and registers the corresponding interrupt. */
void
timer_init (void) 
{
  pit_configure_channel (0, 2, TIMER_FREQ);
  intr_register_ext (0x20, timer_interrupt, "8254 Timer");
  list_init( &sleeping_threads_list ); // Initialize list of sleeping threads
  ASSERT (list_empty (&sleeping_threads_list));
}
Beispiel #7
0
/* Sets up the timer to interrupt TIMER_FREQ times per second,
   and registers the corresponding interrupt. */
void
timer_init (void) 
{
  pit_configure_channel (0, 2, TIMER_FREQ);
  intr_register_ext (0x20, timer_interrupt, "8254 Timer");

  /* Initialize list */
  list_init (&waiting_in_line);
}
Beispiel #8
0
/* Sets up the timer to interrupt TIMER_FREQ times per second,
   and registers the corresponding interrupt. */
void
timer_init (void) 
{
  pit_configure_channel (0, 2, TIMER_FREQ);
  intr_register_ext (0x20, timer_interrupt, "8254 Timer");

  //initialize sleepingThreads list
  list_init(&sleepingThreads);
}
Beispiel #9
0
/* Sets up the timer to interrupt TIMER_FREQ times per second,
   and registers the corresponding interrupt. */
void
timer_init (void) 
{
  pit_configure_channel (0, 2, TIMER_FREQ);
  intr_register_ext (0x20, timer_interrupt, "8254 Timer");
#if 1 /* pj1 */
  list_init(&sleep_list);
  lock_init(&sleep_list_lock);
#endif
}
Beispiel #10
0
/* Sets up the timer to interrupt TIMER_FREQ times per second,
   and registers the corresponding interrupt. */
void
timer_init (void) 
{
  pit_configure_channel (0, 2, TIMER_FREQ);
  intr_register_ext (0x20, timer_interrupt, "8254 Timer");
  list_init (&sleeping_list);
  printf("Sleeping list initialized");

  list_init (&wakeup_list);
}
Beispiel #11
0
/*! Initializes the serial port device for queued interrupt-driven
    I/O.  With interrupt-driven I/O we don't waste CPU time
    waiting for the serial device to become ready. */
void serial_init_queue(void) {
    enum intr_level old_level;

    if (mode == UNINIT)
        init_poll();
    ASSERT(mode == POLL);

    intr_register_ext(0x20 + 4, serial_interrupt, "serial");
    mode = QUEUE;
    old_level = intr_disable();
    write_ier();
    intr_set_level(old_level);
}
Beispiel #12
0
void
pci_register_irq (struct pci_dev *pd, pci_handler_func * f, void *aux)
{
  int int_vec;
  ASSERT (pd != NULL);
  ASSERT (pd->irq_handler == NULL);

  pd->irq_handler_aux = aux;
  pd->irq_handler = f;
  int_vec = pd->pch.pci_int_line + 0x20;

  list_push_back (&int_devices, &pd->int_peer);

  /* ensure that pci interrupt is hooked */
  if (!intr_is_registered (int_vec))
    intr_register_ext (int_vec, pci_interrupt, "PCI");
}
Beispiel #13
0
/*! Initializes the keyboard. */
void kbd_init(void) {
    intr_register_ext(0x21, keyboard_interrupt, "8042 Keyboard");
}