palacios_free(msg);
- spin_lock_irqsave(&(cons->queue->lock), flags);
+ palacios_spinlock_lock_irqsave(&(cons->queue->lock), flags);
entries = cons->queue->num_entries;
- spin_unlock_irqrestore(&(cons->queue->lock), flags);
+ palacios_spinlock_unlock_irqrestore(&(cons->queue->lock), flags);
if (entries > 0) {
wake_up_interruptible(&(cons->intr_queue));
poll_wait(filp, &(cons->intr_queue), poll_tb);
- spin_lock_irqsave(&(cons->queue->lock), flags);
+ palacios_spinlock_lock_irqsave(&(cons->queue->lock), flags);
entries = cons->queue->num_entries;
- spin_unlock_irqrestore(&(cons->queue->lock), flags);
+ palacios_spinlock_unlock_irqrestore(&(cons->queue->lock), flags);
if (entries > 0) {
// DEBUG("Returning from POLL\n");
DEBUG("Releasing the Console File desc\n");
- spin_lock_irqsave(&(cons->queue->lock), flags);
+ palacios_spinlock_lock_irqsave(&(cons->queue->lock), flags);
cons->connected = 0;
- spin_unlock_irqrestore(&(cons->queue->lock), flags);
+ palacios_spinlock_unlock_irqrestore(&(cons->queue->lock), flags);
while ((msg = dequeue(cons->queue))) {
palacios_free(msg);
return -1;
}
- spin_lock_irqsave(&(cons->lock), flags);
+ palacios_spinlock_lock_irqsave(&(cons->lock), flags);
if (cons->connected == 0) {
cons->connected = 1;
acquired = 1;
}
- spin_unlock_irqrestore(&(cons->lock), flags);
+ palacios_spinlock_unlock_irqrestore(&(cons->lock), flags);
if (acquired == 0) {
ERROR("Console already connected\n");
cons->queue = create_queue(CONSOLE_QUEUE_LEN);
- spin_lock_init(&(cons->lock));
+ palacios_spinlock_init(&(cons->lock));
init_waitqueue_head(&(cons->intr_queue));
cons->guest = guest;
struct palacios_console * cons = (struct palacios_console *) console;
cons->open = 0;
+
+ remove_guest_ctrl(cons->guest, V3_VM_CONSOLE_CONNECT);
+ deinit_queue(cons->queue);
+
+ palacios_spinlock_deinit(&(cons->lock));
+
+ palacios_free(cons);
}
return 0;
}
+static int console_deinit(void)
+{
+ // nothing to do
+ return 0;
+}
static struct linux_ext console_ext = {
.name = "CONSOLE",
.init = console_init,
- .deinit = NULL,
+ .deinit = console_deinit,
.guest_init = NULL,
.guest_deinit = NULL
};