Changeset e2cc9a0 in mainline for kernel/genarch/src/kbd/ns16550.c


Ignore:
Timestamp:
2006-10-06T22:37:15Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
33b1903
Parents:
233af8c5
Message:

Add support for interrupt mapping in the Sabre PCI controller.
Add support for PCI and EBUS interrupt mapping via the OpenFirmware device tree.
Unfortunatelly, the code is not capable enough to earn single ns16550 interrupt.
I suspect something needs to be enabled in the EBUS registers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/kbd/ns16550.c

    r233af8c5 re2cc9a0  
    9191        sysinfo_set_item_val("kbd.irq", NULL, 0);
    9292        sysinfo_set_item_val("kbd.address.virtual", NULL, (uintptr_t) kbd_virt_address);
     93       
     94        ns16550_ier_write(IER_ERBFI);                           /* enable receiver interrupt */
     95       
     96        while (ns16550_lsr_read() & LSR_DATA_READY)
     97                (void) ns16550_rbr_read();
    9398}
    9499
     
    145150        uint8_t x;
    146151
    147         while (((x = ns16550_lsr_read() & LSR_DATA_READY))) {
     152        while (ns16550_lsr_read() & LSR_DATA_READY) {
    148153                x = ns16550_rbr_read();
    149154                if (x != IGNORE_CODE) {
Note: See TracChangeset for help on using the changeset viewer.