Changeset 46c20c8 in mainline for kernel/arch/abs32le/include/asm.h
- Timestamp:
- 2010-11-26T20:08:10Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 45df59a
- Parents:
- fb150d78 (diff), ffdd2b9 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - File:
-
- 1 edited
-
kernel/arch/abs32le/include/asm.h (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/abs32le/include/asm.h
rfb150d78 r46c20c8 36 36 #define KERN_abs32le_ASM_H_ 37 37 38 #include <arch/types.h>39 38 #include <typedefs.h> 40 39 #include <config.h> 41 42 extern void interrupt_handlers(void); 43 44 extern void enable_l_apic_in_msr(void); 45 46 47 extern void asm_delay_loop(uint32_t); 48 extern void asm_fake_loop(uint32_t); 49 50 51 static inline __attribute__((noreturn)) void cpu_halt(void) 40 #include <trace.h> 41 42 NO_TRACE static inline void asm_delay_loop(uint32_t usec) 43 { 44 } 45 46 NO_TRACE static inline __attribute__((noreturn)) void cpu_halt(void) 52 47 { 53 48 /* On real hardware this should stop processing further … … 59 54 } 60 55 61 static inline void cpu_sleep(void)56 NO_TRACE static inline void cpu_sleep(void) 62 57 { 63 58 /* On real hardware this should put the CPU into low-power … … 67 62 } 68 63 69 static inline void pio_write_8(ioport8_t *port, uint8_t val)64 NO_TRACE static inline void pio_write_8(ioport8_t *port, uint8_t val) 70 65 { 71 66 } … … 79 74 * 80 75 */ 81 static inline void pio_write_16(ioport16_t *port, uint16_t val)76 NO_TRACE static inline void pio_write_16(ioport16_t *port, uint16_t val) 82 77 { 83 78 } … … 91 86 * 92 87 */ 93 static inline void pio_write_32(ioport32_t *port, uint32_t val)88 NO_TRACE static inline void pio_write_32(ioport32_t *port, uint32_t val) 94 89 { 95 90 } … … 103 98 * 104 99 */ 105 static inline uint8_t pio_read_8(ioport8_t *port)100 NO_TRACE static inline uint8_t pio_read_8(ioport8_t *port) 106 101 { 107 102 return 0; … … 116 111 * 117 112 */ 118 static inline uint16_t pio_read_16(ioport16_t *port)113 NO_TRACE static inline uint16_t pio_read_16(ioport16_t *port) 119 114 { 120 115 return 0; … … 129 124 * 130 125 */ 131 static inline uint32_t pio_read_32(ioport32_t *port) 132 { 133 return 0; 134 } 135 136 static inline ipl_t interrupts_enable(void) 137 { 138 /* On real hardware this unconditionally enables preemption 139 by internal and external interrupts. 140 141 The return value stores the previous interrupt level. */ 142 143 return 0; 144 } 145 146 static inline ipl_t interrupts_disable(void) 147 { 148 /* On real hardware this disables preemption by the usual 149 set of internal and external interrupts. This does not 150 apply to special non-maskable interrupts and sychronous 151 CPU exceptions. 152 153 The return value stores the previous interrupt level. */ 154 155 return 0; 156 } 157 158 static inline void interrupts_restore(ipl_t ipl) 159 { 160 /* On real hardware this either enables or disables preemption 161 according to the interrupt level value from the argument. */ 162 } 163 164 static inline ipl_t interrupts_read(void) 165 { 166 /* On real hardware the return value stores the current interrupt 167 level. */ 168 169 return 0; 170 } 171 172 static inline uintptr_t get_stack_base(void) 173 { 174 /* On real hardware this returns the address of the bottom 175 of the current CPU stack. The the_t structure is stored 176 on the bottom of stack and this is used to identify the 177 current CPU, current task, current thread and current 178 address space. */ 179 180 return 0; 181 } 182 183 static inline uintptr_t *get_ip() 184 { 185 /* On real hardware this returns the current instruction 186 pointer value. The value certainly changes with each 187 instruction, but it can be still used to identify 188 a specific function. */ 126 NO_TRACE static inline uint32_t pio_read_32(ioport32_t *port) 127 { 128 return 0; 129 } 130 131 NO_TRACE static inline ipl_t interrupts_enable(void) 132 { 133 /* 134 * On real hardware this unconditionally enables preemption 135 * by internal and external interrupts. 136 * 137 * The return value stores the previous interrupt level. 138 */ 139 140 return 0; 141 } 142 143 NO_TRACE static inline ipl_t interrupts_disable(void) 144 { 145 /* 146 * On real hardware this disables preemption by the usual 147 * set of internal and external interrupts. This does not 148 * apply to special non-maskable interrupts and sychronous 149 * CPU exceptions. 150 * 151 * The return value stores the previous interrupt level. 152 */ 153 154 return 0; 155 } 156 157 NO_TRACE static inline void interrupts_restore(ipl_t ipl) 158 { 159 /* 160 * On real hardware this either enables or disables preemption 161 * according to the interrupt level value from the argument. 162 */ 163 } 164 165 NO_TRACE static inline ipl_t interrupts_read(void) 166 { 167 /* 168 * On real hardware the return value stores the current interrupt 169 * level. 170 */ 171 172 return 0; 173 } 174 175 NO_TRACE static inline bool interrupts_disabled(void) 176 { 177 /* 178 * On real hardware the return value is true iff interrupts are 179 * disabled. 180 */ 181 182 return false; 183 } 184 185 NO_TRACE static inline uintptr_t get_stack_base(void) 186 { 187 /* 188 * On real hardware this returns the address of the bottom 189 * of the current CPU stack. The the_t structure is stored 190 * on the bottom of stack and this is used to identify the 191 * current CPU, current task, current thread and current 192 * address space. 193 */ 189 194 190 195 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.
