Changeset 202 for trunk/hal


Ignore:
Timestamp:
Jul 13, 2017, 2:09:32 PM (7 years ago)
Author:
max@…
Message:

register the ATA IRQs

Location:
trunk/hal/x86_64/core
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/hal/x86_64/core/hal_apic.c

    r199 r202  
    237237vaddr_t ioapic_va __in_kdata = 0;
    238238
    239 #define IRQ_TIMER       0x00
    240 #define IRQ_KEYBOARD    0x01
    241 #define IRQ_COM2        0x03
    242 #define IRQ_COM1        0x04
    243 #define IRQ_FLOPPY      0x06
    244 #define IRQ_ATA0        0x0e
    245 #define IRQ_ATA1        0x0f
    246 
    247239#define IOREGSEL        0x00
    248240#define IOWIN   0x10
  • trunk/hal/x86_64/core/hal_apic.h

    r154 r202  
    177177#       define LAPIC_DCRT_DIV128        0x0a
    178178
     179/*
     180 *******************************************************************************
     181 * IRQ numbers
     182 *******************************************************************************
     183 */
     184
     185#define IRQ_TIMER       0
     186#define IRQ_KEYBOARD    1
     187#define IRQ_COM2        3
     188#define IRQ_COM1        4
     189#define IRQ_FLOPPY      6
     190#define IRQ_ATA0        14
     191#define IRQ_ATA1        15
     192
  • trunk/hal/x86_64/core/hal_init.c

    r199 r202  
    172172        dev->param3 = 0;
    173173
    174         dev->irqs = 5;
     174        dev->irqs = 16;
    175175
    176176        /* COM1 */
    177         dev->irq[4].dev_type = (DEV_FUNC_TXT << 16) | IMPL_TXT_TTY;
    178         dev->irq[4].channel = 0;
    179         dev->irq[4].is_rx = 0;
    180         dev->irq[4].valid = 1;
     177        dev->irq[IRQ_COM1].dev_type = (DEV_FUNC_TXT << 16) | IMPL_TXT_TTY;
     178        dev->irq[IRQ_COM1].channel = 0;
     179        dev->irq[IRQ_COM1].is_rx = 0;
     180        dev->irq[IRQ_COM1].valid = 1;
     181
     182        /* ATA */
     183        dev->irq[IRQ_ATA0].dev_type = (DEV_FUNC_IOC << 16) | IMPL_IOC_BDV;
     184        dev->irq[IRQ_ATA0].channel = 0;
     185        dev->irq[IRQ_ATA0].is_rx = 0;
     186        dev->irq[IRQ_ATA0].valid = 1;
    181187}
    182188
Note: See TracChangeset for help on using the changeset viewer.