Changeset 730376d in mainline for kernel/arch/sparc64/src
- Timestamp:
- 2006-12-20T22:07:25Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0af7a09
- Parents:
- deada67
- Location:
- kernel/arch/sparc64/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/src/proc/scheduler.c
rdeada67 r730376d 95 95 96 96 /* 97 * Write kernel stack address to %g6 and a pointer to the last 98 * item in the userspace window buffer to %g7 in the alternate 99 * and interrupt sets. 97 * Write kernel stack address to %g6 of the alternate and 98 * interrupt global sets. 99 * 100 * Write pointer to the last item in the userspace window buffer 101 * to %g7 in the alternate set. Write to the interrupt %g7 is 102 * not necessary because: 103 * - spill traps operate only in the alternate global set, 104 * - preemptible trap handler switches to alternate globals 105 * before it explicitly uses %g7. 100 106 */ 101 107 uint64_t sp = (uintptr_t) THREAD->kstack + STACK_SIZE … … 110 116 /** Perform sparc64 specific steps before a thread stops running. 111 117 * 112 * Demap any locked DTLB entries i sntalled by the thread (i.e. kernel stack118 * Demap any locked DTLB entries installed by the thread (i.e. kernel stack 113 119 * and userspace window buffer). 114 120 */ -
kernel/arch/sparc64/src/smp/ipi.c
rdeada67 r730376d 74 74 75 75 do { 76 asi_u64_write(ASI_UDB_INTR_W, ASI_UDB_INTR_W_DATA_0, (uintptr_t) func); 76 asi_u64_write(ASI_UDB_INTR_W, ASI_UDB_INTR_W_DATA_0, (uintptr_t) 77 func); 77 78 asi_u64_write(ASI_UDB_INTR_W, ASI_UDB_INTR_W_DATA_1, 0); 78 79 asi_u64_write(ASI_UDB_INTR_W, ASI_UDB_INTR_W_DATA_2, 0); 79 asi_u64_write(ASI_UDB_INTR_W, (mid << INTR_VEC_DISPATCH_MID_SHIFT) | ASI_UDB_INTR_W_DISPATCH, 0); 80 asi_u64_write(ASI_UDB_INTR_W, (mid << 81 INTR_VEC_DISPATCH_MID_SHIFT) | ASI_UDB_INTR_W_DISPATCH, 82 0); 80 83 81 84 membar(); -
kernel/arch/sparc64/src/trap/interrupt.c
rdeada67 r730376d 98 98 */ 99 99 #ifdef CONFIG_DEBUG 100 printf("cpu%d: spurious interrupt (intrcv=%#llx, data0=%#llx)\n", CPU->id, intrcv, data0); 100 printf("cpu%d: spurious interrupt (intrcv=%#llx, " 101 "data0=%#llx)\n", CPU->id, intrcv, data0); 101 102 #endif 102 103 }
Note:
See TracChangeset
for help on using the changeset viewer.