Changeset 7f043c0 in mainline for kernel/arch/ia32/src/smp/apic.c


Ignore:
Timestamp:
2007-05-31T21:39:13Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7bb0c32
Parents:
d8431986
Message:

fix ICC compilation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/src/smp/apic.c

    rd8431986 r7f043c0  
    126126 * @param istate Interrupted state.
    127127 */
    128 static void apic_spurious(int n, istate_t *istate)
     128static void apic_spurious(int n __attribute__((unused)), istate_t *istate __attribute__((unused)))
    129129{
    130130#ifdef CONFIG_DEBUG
    131         printf("cpu%d: APIC spurious interrupt\n", CPU->id);
     131        printf("cpu%u: APIC spurious interrupt\n", CPU->id);
    132132#endif
    133133}
     
    138138}
    139139
    140 static void l_apic_timer_irq_handler(irq_t *irq, void *arg, ...)
     140static void l_apic_timer_irq_handler(irq_t *irq, void *arg __attribute__((unused)), ...)
    141141{
    142142        /*
     
    154154{
    155155        io_apic_id_t idreg;
    156         unsigned int i;
    157 
     156       
    158157        exc_register(VECTOR_APIC_SPUR, "apic_spurious", (iroutine) apic_spurious);
    159158
     
    177176        irq_register(&l_apic_timer_irq);
    178177       
     178        uint8_t i;
    179179        for (i = 0; i < IRQ_COUNT; i++) {
    180180                int pin;
    181181       
    182182                if ((pin = smp_irq_to_pin(i)) != -1)
    183                         io_apic_change_ioredtbl(pin, DEST_ALL, IVT_IRQBASE + i, LOPRI);
     183                        io_apic_change_ioredtbl((uint8_t) pin, DEST_ALL, (uint8_t) (IVT_IRQBASE + i), LOPRI);
    184184        }
    185185       
     
    329329                for (i = 0; i<2; i++) {
    330330                        icr.lo = l_apic[ICRlo];
    331                         icr.vector = ((uintptr_t) ap_boot) / 4096; /* calculate the reset vector */
     331                        icr.vector = (uint8_t) (((uintptr_t) ap_boot) >> 12); /* calculate the reset vector */
    332332                        icr.delmod = DELMOD_STARTUP;
    333333                        icr.destmod = DESTMOD_PHYS;
     
    426426       
    427427        /* Program Logical Destination Register. */
     428        ASSERT(CPU->id < 8)
    428429        ldr.value = l_apic[LDR];
    429         if (CPU->id < sizeof(CPU->id)*8)        /* size in bits */
    430                 ldr.id = (1<<CPU->id);
     430        ldr.id = (uint8_t) (1 << CPU->id);
    431431        l_apic[LDR] = ldr.value;
    432432       
     
    514514 * @param flags Flags.
    515515 */
    516 void io_apic_change_ioredtbl(int pin, int dest, uint8_t v, int flags)
     516void io_apic_change_ioredtbl(uint8_t pin, uint8_t dest, uint8_t v, int flags)
    517517{
    518518        io_redirection_reg_t reg;
     
    522522                dlvr = DELMOD_LOWPRI;
    523523
    524         reg.lo = io_apic_read(IOREDTBL + pin*2);
    525         reg.hi = io_apic_read(IOREDTBL + pin*2 + 1);
     524        reg.lo = io_apic_read((uint8_t) (IOREDTBL + pin * 2));
     525        reg.hi = io_apic_read((uint8_t) (IOREDTBL + pin * 2 + 1));
    526526       
    527527        reg.dest = dest;
     
    532532        reg.intvec = v;
    533533
    534         io_apic_write(IOREDTBL + pin*2, reg.lo);
    535         io_apic_write(IOREDTBL + pin*2 + 1, reg.hi);
     534        io_apic_write((uint8_t) (IOREDTBL + pin * 2), reg.lo);
     535        io_apic_write((uint8_t) (IOREDTBL + pin * 2 + 1), reg.hi);
    536536}
    537537
     
    554554                        pin = smp_irq_to_pin(i);
    555555                        if (pin != -1) {
    556                                 reg.lo = io_apic_read(IOREDTBL + pin * 2);
     556                                reg.lo = io_apic_read((uint8_t) (IOREDTBL + pin * 2));
    557557                                reg.masked = true;
    558                                 io_apic_write(IOREDTBL + pin * 2, reg.lo);
     558                                io_apic_write((uint8_t) (IOREDTBL + pin * 2), reg.lo);
    559559                        }
    560560                       
     
    573573        io_redirection_reg_t reg;       
    574574       
    575         for (i = 0;i < 16; i++) {
     575        for (i = 0; i < 16; i++) {
    576576                if (irqmask & (1 << i)) {
    577577                        /*
     
    581581                        pin = smp_irq_to_pin(i);
    582582                        if (pin != -1) {
    583                                 reg.lo = io_apic_read(IOREDTBL + pin * 2);
     583                                reg.lo = io_apic_read((uint8_t) (IOREDTBL + pin * 2));
    584584                                reg.masked = false;
    585                                 io_apic_write(IOREDTBL + pin * 2, reg.lo);
     585                                io_apic_write((uint8_t) (IOREDTBL + pin * 2), reg.lo);
    586586                        }
    587587                       
Note: See TracChangeset for help on using the changeset viewer.