Rev 2141 | Rev 3672 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2141 | Rev 2272 | ||
---|---|---|---|
Line 72... | Line 72... | ||
72 | status = asi_u64_read(ASI_INTR_DISPATCH_STATUS, 0); |
72 | status = asi_u64_read(ASI_INTR_DISPATCH_STATUS, 0); |
73 | if (status & INTR_DISPATCH_STATUS_BUSY) |
73 | if (status & INTR_DISPATCH_STATUS_BUSY) |
74 | panic("Interrupt Dispatch Status busy bit set\n"); |
74 | panic("Interrupt Dispatch Status busy bit set\n"); |
75 | 75 | ||
76 | do { |
76 | do { |
77 | asi_u64_write(ASI_UDB_INTR_W, ASI_UDB_INTR_W_DATA_0, (uintptr_t) |
77 | asi_u64_write(ASI_UDB_INTR_W, ASI_UDB_INTR_W_DATA_0, |
78 | func); |
78 | (uintptr_t) func); |
79 | asi_u64_write(ASI_UDB_INTR_W, ASI_UDB_INTR_W_DATA_1, 0); |
79 | asi_u64_write(ASI_UDB_INTR_W, ASI_UDB_INTR_W_DATA_1, 0); |
80 | asi_u64_write(ASI_UDB_INTR_W, ASI_UDB_INTR_W_DATA_2, 0); |
80 | asi_u64_write(ASI_UDB_INTR_W, ASI_UDB_INTR_W_DATA_2, 0); |
81 | asi_u64_write(ASI_UDB_INTR_W, |
81 | asi_u64_write(ASI_UDB_INTR_W, |
82 | (mid << INTR_VEC_DISPATCH_MID_SHIFT) | |
82 | (mid << INTR_VEC_DISPATCH_MID_SHIFT) | |
83 | ASI_UDB_INTR_W_DISPATCH, 0); |
83 | ASI_UDB_INTR_W_DISPATCH, 0); |