#include "devices/intq.h"
#include <debug.h>
#include "threads/thread.h"
Go to the source code of this file.
Functions | |
static int | next (int pos) |
static void | wait (struct intq *q, struct thread **waiter) |
static void | signal (struct intq *q, struct thread **waiter) |
void | intq_init (struct intq *q) |
bool | intq_empty (const struct intq *q) |
bool | intq_full (const struct intq *q) |
uint8_t | intq_getc (struct intq *q) |
void | intq_putc (struct intq *q, uint8_t byte) |
static void | wait (struct intq *q UNUSED, struct thread **waiter) |
static void | signal (struct intq *q UNUSED, struct thread **waiter) |
bool intq_empty | ( | const struct intq * | q | ) |
Definition at line 21 of file intq.c.
References ASSERT, intq::head, intr_get_level(), INTR_OFF, and intq::tail.
Referenced by intq_getc(), serial_flush(), serial_interrupt(), signal(), wait(), and write_ier().
bool intq_full | ( | const struct intq * | q | ) |
Definition at line 29 of file intq.c.
References ASSERT, intq::head, intr_get_level(), INTR_OFF, next(), and intq::tail.
Referenced by input_full(), input_putc(), intq_putc(), serial_putc(), signal(), and wait().
Definition at line 39 of file intq.c.
References ASSERT, intq::buf, intq_empty(), intr_context(), intr_get_level(), INTR_OFF, intq::lock, lock_acquire(), lock_release(), next(), intq::not_empty, intq::not_full, signal(), intq::tail, and wait().
Referenced by input_getc(), serial_flush(), serial_interrupt(), and serial_putc().
void intq_init | ( | struct intq * | q | ) |
Definition at line 12 of file intq.c.
References intq::head, intq::lock, lock_init(), intq::not_empty, intq::not_full, NULL, and intq::tail.
Referenced by init_poll(), and input_init().
Definition at line 62 of file intq.c.
References ASSERT, intq::buf, intq::head, intq_full(), intr_context(), intr_get_level(), INTR_OFF, intq::lock, lock_acquire(), lock_release(), next(), intq::not_empty, intq::not_full, signal(), and wait().
Referenced by input_putc(), and serial_putc().
static int next | ( | int | pos | ) | [static] |
Definition at line 80 of file intq.c.
References INTQ_BUFSIZE.
Referenced by hash_apply(), intq_full(), intq_getc(), intq_putc(), list_unique(), rehash(), schedule(), uhci_process_completed(), and uhci_remove_stalled().
Definition at line 104 of file intq.c.
References ASSERT, intq_empty(), intq_full(), intr_get_level(), INTR_OFF, NULL, and thread_unblock().
Referenced by intq_getc(), intq_putc(), and main().
Definition at line 88 of file intq.c.
References ASSERT, intq_empty(), intq_full(), intr_context(), intr_get_level(), INTR_OFF, thread_block(), and thread_current().
Referenced by intq_getc(), intq_putc(), main(), sort_chunks(), test_main(), and wait_children().