Ignore:
Timestamp:
2008-12-05T19:59:03Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
49093a4
Parents:
0258e67
Message:

Merge sparc branch to trunk.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/src/trap/interrupt.c

    r0258e67 r965dc18  
    6868void interrupt(int n, istate_t *istate)
    6969{
     70        uint64_t status;
    7071        uint64_t intrcv;
    7172        uint64_t data0;
     73        status = asi_u64_read(ASI_INTR_DISPATCH_STATUS, 0);
     74        if (status & (!INTR_DISPATCH_STATUS_BUSY))
     75                panic("Interrupt Dispatch Status busy bit not set\n");
    7276
    7377        intrcv = asi_u64_read(ASI_INTR_RECEIVE, 0);
    74         data0 = asi_u64_read(ASI_UDB_INTR_R, ASI_UDB_INTR_R_DATA_0);
     78#if defined (US)
     79        data0 = asi_u64_read(ASI_INTR_R, ASI_UDB_INTR_R_DATA_0);
     80#elif defined (US3)
     81        data0 = asi_u64_read(ASI_INTR_R, VA_INTR_R_DATA_0);
     82#endif
    7583
    7684        irq_t *irq = irq_dispatch_and_lock(data0);
Note: See TracChangeset for help on using the changeset viewer.