Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm64/src/interrupt.c

    r6de65f3 r84176f3  
    5353        DAIF_write(daif | DAIF_IRQ_FLAG);
    5454
    55         return daif & DAIF_IRQ_FLAG;
     55        return (daif >> DAIF_IRQ_SHIFT) & 1;
    5656}
    5757
     
    6666        DAIF_write(daif & ~DAIF_IRQ_FLAG);
    6767
    68         return daif & DAIF_IRQ_FLAG;
     68        return (daif >> DAIF_IRQ_SHIFT) & 1;
    6969}
    7070
     
    7777        uint64_t daif = DAIF_read();
    7878
    79         DAIF_write((daif & ~DAIF_IRQ_FLAG) | (ipl & DAIF_IRQ_FLAG));
     79        DAIF_write((daif & ~DAIF_IRQ_FLAG) |
     80            ((ipl & 1) << DAIF_IRQ_SHIFT));
    8081}
    8182
     
    8687ipl_t interrupts_read(void)
    8788{
    88         return DAIF_read() & DAIF_IRQ_FLAG;
     89        return (DAIF_read() >> DAIF_IRQ_SHIFT) & 1;
    8990}
    9091
Note: See TracChangeset for help on using the changeset viewer.