Changes in kernel/arch/arm32/include/asm.h [d99c1d2:7a0359b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/include/asm.h
rd99c1d2 r7a0359b 41 41 #include <config.h> 42 42 #include <arch/interrupt.h> 43 #include <trace.h> 43 44 44 45 /** No such instruction on ARM to sleep CPU. */ 45 static inline void cpu_sleep(void)46 NO_TRACE static inline void cpu_sleep(void) 46 47 { 47 48 } 48 49 49 static inline void pio_write_8(ioport8_t *port, uint8_t v)50 NO_TRACE static inline void pio_write_8(ioport8_t *port, uint8_t v) 50 51 { 51 52 *port = v; 52 53 } 53 54 54 static inline void pio_write_16(ioport16_t *port, uint16_t v)55 NO_TRACE static inline void pio_write_16(ioport16_t *port, uint16_t v) 55 56 { 56 57 *port = v; 57 58 } 58 59 59 static inline void pio_write_32(ioport32_t *port, uint32_t v)60 NO_TRACE static inline void pio_write_32(ioport32_t *port, uint32_t v) 60 61 { 61 62 *port = v; 62 63 } 63 64 64 static inline uint8_t pio_read_8(ioport8_t *port)65 NO_TRACE static inline uint8_t pio_read_8(ioport8_t *port) 65 66 { 66 67 return *port; 67 68 } 68 69 69 static inline uint16_t pio_read_16(ioport16_t *port)70 NO_TRACE static inline uint16_t pio_read_16(ioport16_t *port) 70 71 { 71 72 return *port; 72 73 } 73 74 74 static inline uint32_t pio_read_32(ioport32_t *port)75 NO_TRACE static inline uint32_t pio_read_32(ioport32_t *port) 75 76 { 76 77 return *port; … … 84 85 * 85 86 */ 86 static inline uintptr_t get_stack_base(void)87 NO_TRACE static inline uintptr_t get_stack_base(void) 87 88 { 88 89 uintptr_t v; 90 89 91 asm volatile ( 90 92 "and %[v], sp, %[size]\n" … … 92 94 : [size] "r" (~(STACK_SIZE - 1)) 93 95 ); 96 94 97 return v; 95 98 }
Note:
See TracChangeset
for help on using the changeset viewer.