Changeset 8607db8 in mainline for kernel/arch/amd64/src/amd64.c


Ignore:
Timestamp:
2006-10-27T13:34:20Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ec04b20
Parents:
16d71f41
Message:

amd64: adopt new IRQ interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/amd64.c

    r16d71f41 r8607db8  
    6262#include <syscall/syscall.h>
    6363#include <console/console.h>
     64#include <ddi/irq.h>
     65#include <ddi/device.h>
    6466
    6567
     
    131133
    132134        if (config.cpu_active == 1) {
     135                interrupt_init();
    133136                bios_init();
    134                 i8259_init();   /* PIC */
    135                 i8254_init();   /* hard clock */
    136 
    137                 #ifdef CONFIG_SMP
    138                 exc_register(VECTOR_TLB_SHOOTDOWN_IPI, "tlb_shootdown",
    139                              tlb_shootdown_ipi);
    140                 #endif /* CONFIG_SMP */
     137               
     138                /* PIC */
     139                i8259_init();
    141140        }
    142141}
     
    145144{
    146145        if (config.cpu_active == 1) {
     146                /* Initialize IRQ routing */
     147                irq_init(IRQ_COUNT, IRQ_COUNT);
     148               
     149                /* hard clock */
     150                i8254_init();
     151
    147152#ifdef CONFIG_FB
    148153                if (vesa_present())
     
    151156#endif
    152157                        ega_init();     /* video */
     158               
    153159                /* Enable debugger */
    154160                debugger_init();
     
    184190void arch_post_smp_init(void)
    185191{
    186         i8042_init();   /* keyboard controller */
     192        /* keyboard controller */
     193        i8042_init(device_assign_devno(), IRQ_KBD, device_assign_devno(), IRQ_MOUSE);
    187194}
    188195
     
    190197{
    191198        i8254_calibrate_delay_loop();
    192         i8254_normal_operation();
     199        if (config.cpu_active == 1) {
     200                /*
     201                 * This has to be done only on UP.
     202                 * On SMP, i8254 is not used for time keeping and its interrupt pin remains masked.
     203                 */
     204                i8254_normal_operation();
     205        }
    193206}
    194207
Note: See TracChangeset for help on using the changeset viewer.