From 4f670845ff9ab6c48bcb5f7bf4d4ef6dc3c3064b Mon Sep 17 00:00:00 2001 From: manuel Date: Tue, 27 Mar 2012 11:51:08 +0200 Subject: reorganize file structure to match the upstream requirements --- pintos-progos/devices/intq.h | 43 ------------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 pintos-progos/devices/intq.h (limited to 'pintos-progos/devices/intq.h') diff --git a/pintos-progos/devices/intq.h b/pintos-progos/devices/intq.h deleted file mode 100644 index 2312b12..0000000 --- a/pintos-progos/devices/intq.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef DEVICES_INTQ_H -#define DEVICES_INTQ_H - -#include "threads/interrupt.h" -#include "threads/synch.h" - -/* An "interrupt queue", a circular buffer shared between - kernel threads and external interrupt handlers. - - Interrupt queue functions can be called from kernel threads or - from external interrupt handlers. Except for intq_init(), - interrupts must be off in either case. - - The interrupt queue has the structure of a "monitor". Locks - and condition variables from threads/synch.h cannot be used in - this case, as they normally would, because they can only - protect kernel threads from one another, not from interrupt - handlers. */ - -/* Queue buffer size, in bytes. */ -#define INTQ_BUFSIZE 64 - -/* A circular queue of bytes. */ -struct intq - { - /* Waiting threads. */ - struct lock lock; /* Only one thread may wait at once. */ - struct thread *not_full; /* Thread waiting for not-full condition. */ - struct thread *not_empty; /* Thread waiting for not-empty condition. */ - - /* Queue. */ - uint8_t buf[INTQ_BUFSIZE]; /* Buffer. */ - int head; /* New data is written here. */ - int tail; /* Old data is read here. */ - }; - -void intq_init (struct intq *); -bool intq_empty (const struct intq *); -bool intq_full (const struct intq *); -uint8_t intq_getc (struct intq *); -void intq_putc (struct intq *, uint8_t); - -#endif /* devices/intq.h */ -- cgit v1.2.3