Changeset 1120276 in mainline
- Timestamp:
- 2005-12-27T12:03:29Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7614565
- Parents:
- 39494010
- Location:
- arch/sparc64
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/sparc64/include/asm.h
r39494010 r1120276 123 123 } 124 124 125 /** Write CLEAR_SOFTINT Register. 126 * 127 * Bits set in CLEAR_SOFTINT register will be cleared in SOFTINT register. 128 * 129 * @param New value of CLEAR_SOFTINT register. 130 */ 131 static inline void clear_softint_write(__u64 v) 132 { 133 __asm__ volatile ("wr %0, %1, %%clear_softint\n" : : "r" (v), "i" (0)); 134 } 135 125 136 /** Enable interrupts. 126 137 * -
arch/sparc64/include/drivers/tick.h
r39494010 r1120276 30 30 #define __sparc64_TICK_H__ 31 31 32 #define TICK_DELTA 10000032 #define TICK_DELTA 500000 33 33 34 34 extern void tick_init(void); -
arch/sparc64/src/drivers/tick.c
r39494010 r1120276 32 32 #include <arch/register.h> 33 33 #include <debug.h> 34 #include < print.h>34 #include <time/clock.h> 35 35 36 /** Initialize tick interrupt. */ 36 37 void tick_init(void) 37 38 { … … 45 46 } 46 47 48 /** Process tick interrupt. 49 * 50 * @param n Interrupt Level, 14, (can be ignored) 51 * @param stack Stack pointer of the interrupted context. 52 */ 47 53 void tick_interrupt(int n, void *stack) 48 54 { 49 panic("Unserviced %s.\n", __FUNCTION__); 55 softint_reg_t softint, clear; 56 57 softint.value = softint_read(); 58 59 /* 60 * Make sure we are servicing interrupt_level_14 61 */ 62 ASSERT(n == 14); 63 64 /* 65 * Make sure we are servicing TICK_INT. 66 */ 67 ASSERT(softint.tick_int); 68 69 /* 70 * Clear tick interrupt. 71 */ 72 clear.value = 0; 73 clear.tick_int = 1; 74 clear_softint_write(clear.value); 75 76 /* 77 * Restart counter. 78 */ 79 tick_write(0); 80 81 clock(); 50 82 }
Note:
See TracChangeset
for help on using the changeset viewer.