Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/drivers/ega/ega.c

    rda1bafb ra71c158  
    4242#include <arch/mm/page.h>
    4343#include <synch/spinlock.h>
    44 #include <typedefs.h>
     44#include <arch/types.h>
    4545#include <arch/asm.h>
    4646#include <memstr.h>
    47 #include <str.h>
     47#include <string.h>
    4848#include <console/chardev.h>
    4949#include <console/console.h>
     
    6363
    6464typedef struct {
    65         IRQ_SPINLOCK_DECLARE(lock);
     65        SPINLOCK_DECLARE(lock);
    6666       
    6767        uint32_t cursor;
     
    7171} ega_instance_t;
    7272
    73 static void ega_putchar(outdev_t *, wchar_t, bool);
    74 static void ega_redraw(outdev_t *);
     73static void ega_putchar(outdev_t *dev, wchar_t ch, bool silent);
     74static void ega_redraw(outdev_t *dev);
    7575
    7676static outdev_operations_t egadev_ops = {
     
    540540        ega_instance_t *instance = (ega_instance_t *) dev->data;
    541541       
    542         irq_spinlock_lock(&instance->lock, true);
     542        ipl_t ipl = interrupts_disable();
     543        spinlock_lock(&instance->lock);
    543544       
    544545        switch (ch) {
     
    563564        ega_move_cursor(instance, silent);
    564565       
    565         irq_spinlock_unlock(&instance->lock, true);
     566        spinlock_unlock(&instance->lock);
     567        interrupts_restore(ipl);
    566568}
    567569
     
    570572        ega_instance_t *instance = (ega_instance_t *) dev->data;
    571573       
    572         irq_spinlock_lock(&instance->lock, true);
     574        ipl_t ipl = interrupts_disable();
     575        spinlock_lock(&instance->lock);
    573576       
    574577        memcpy(instance->addr, instance->backbuf, EGA_VRAM_SIZE);
     
    576579        ega_show_cursor(instance, silent);
    577580       
    578         irq_spinlock_unlock(&instance->lock, true);
     581        spinlock_unlock(&instance->lock);
     582        interrupts_restore(ipl);
    579583}
    580584
     
    594598        egadev->data = instance;
    595599       
    596         irq_spinlock_initialize(&instance->lock, "*ega.instance.lock");
     600        spinlock_initialize(&instance->lock, "*ega_lock");
    597601       
    598602        instance->base = base;
Note: See TracChangeset for help on using the changeset viewer.