Rev 3022 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3022 | Rev 4055 | ||
---|---|---|---|
Line 34... | Line 34... | ||
34 | 34 | ||
35 | #ifndef KERN_ppc32_ASM_H_ |
35 | #ifndef KERN_ppc32_ASM_H_ |
36 | #define KERN_ppc32_ASM_H_ |
36 | #define KERN_ppc32_ASM_H_ |
37 | 37 | ||
38 | #include <arch/types.h> |
38 | #include <arch/types.h> |
- | 39 | #include <typedefs.h> |
|
39 | #include <config.h> |
40 | #include <config.h> |
40 | 41 | ||
41 | /** Enable interrupts. |
42 | /** Enable interrupts. |
42 | * |
43 | * |
43 | * Enable interrupts and return previous |
44 | * Enable interrupts and return previous |
Line 147... | Line 148... | ||
147 | void cpu_halt(void); |
148 | void cpu_halt(void); |
148 | void asm_delay_loop(uint32_t t); |
149 | void asm_delay_loop(uint32_t t); |
149 | 150 | ||
150 | extern void userspace_asm(uintptr_t uspace_uarg, uintptr_t stack, uintptr_t entry); |
151 | extern void userspace_asm(uintptr_t uspace_uarg, uintptr_t stack, uintptr_t entry); |
151 | 152 | ||
- | 153 | static inline void pio_write_8(ioport8_t *port, uint8_t v) |
|
- | 154 | { |
|
- | 155 | *port = v; |
|
- | 156 | } |
|
- | 157 | ||
- | 158 | static inline void pio_write_16(ioport16_t *port, uint16_t v) |
|
- | 159 | { |
|
- | 160 | *port = v; |
|
- | 161 | } |
|
- | 162 | ||
- | 163 | static inline void pio_write_32(ioport32_t *port, uint32_t v) |
|
- | 164 | { |
|
- | 165 | *port = v; |
|
- | 166 | } |
|
- | 167 | ||
- | 168 | static inline uint8_t pio_read_8(ioport8_t *port) |
|
- | 169 | { |
|
- | 170 | return *port; |
|
- | 171 | } |
|
- | 172 | ||
- | 173 | static inline uint16_t pio_read_16(ioport16_t *port) |
|
- | 174 | { |
|
- | 175 | return *port; |
|
- | 176 | } |
|
- | 177 | ||
- | 178 | static inline uint32_t pio_read_32(ioport32_t *port) |
|
- | 179 | { |
|
- | 180 | return *port; |
|
- | 181 | } |
|
- | 182 | ||
152 | #endif |
183 | #endif |
153 | 184 | ||
154 | /** @} |
185 | /** @} |
155 | */ |
186 | */ |