Changeset cecb0789 in mainline for uspace/srv/kbd/port/i8042.c


Ignore:
Timestamp:
2009-02-21T17:27:59Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9688513
Parents:
0cb9fa0
Message:

This is the evil commit. In particular, it does:

  • introduces more powerful pseudo code for userspace IRQ top-half handlers
  • changes the internals of IRQ dispatching
  • simplifies the kernel's i8042 driver
  • adapts the uspace i8042 driver to make use of the new pseudocode
  • breaks all other architectures except ia32
  • breaks almost all existing drivers
  • breaks switching between uspace and kernel drivers
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/kbd/port/i8042.c

    r0cb9fa0 rcecb0789  
    6464#define MOUSE_ACK       0xfa
    6565
    66 static irq_cmd_t i8042_cmds[2] = {
    67         { CMD_PORT_READ_1, (void *) 0x64, 0, 1 },
    68         { CMD_PORT_READ_1, (void *) 0x60, 0, 2 }
     66static irq_cmd_t i8042_cmds[] = {
     67        {
     68                .cmd = CMD_PIO_READ_8,
     69                .addr = (void *) 0x64,
     70                .dstarg = 1
     71        },
     72        {
     73                .cmd = CMD_BTEST,
     74                .value = i8042_OUTPUT_FULL,
     75                .srcarg = 1,
     76                .dstarg = 3
     77        },
     78        {
     79                .cmd = CMD_PREDICATE,
     80                .value = 2,
     81                .srcarg = 3
     82        },
     83        {
     84                .cmd = CMD_PIO_READ_8,
     85                .addr = (void *) 0x60,
     86                .dstarg = 2
     87        },
     88        {
     89                .cmd = CMD_ACCEPT
     90        }
    6991};
    7092
    7193static irq_code_t i8042_kbd = {
    72         2,
     94        sizeof(i8042_cmds) / sizeof(irq_cmd_t),
    7395        i8042_cmds
    7496};
Note: See TracChangeset for help on using the changeset viewer.