Rev 4344 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4344 | Rev 4345 | ||
|---|---|---|---|
| Line 34... | Line 34... | ||
| 34 | 34 | ||
| 35 | #ifndef KERN_ia64_ASM_H_ |
35 | #ifndef KERN_ia64_ASM_H_ |
| 36 | #define KERN_ia64_ASM_H_ |
36 | #define KERN_ia64_ASM_H_ |
| 37 | 37 | ||
| 38 | #include <config.h> |
38 | #include <config.h> |
| - | 39 | #include <typedefs.h> |
|
| 39 | #include <arch/types.h> |
40 | #include <arch/types.h> |
| 40 | #include <arch/register.h> |
41 | #include <arch/register.h> |
| 41 | 42 | ||
| 42 | #define IA64_IOSPACE_ADDRESS 0xE001000000000000ULL |
43 | #define IA64_IOSPACE_ADDRESS 0xE001000000000000ULL |
| 43 | 44 | ||
| Line 86... | Line 87... | ||
| 86 | uintptr_t prt = (uintptr_t) port; |
87 | uintptr_t prt = (uintptr_t) port; |
| 87 | 88 | ||
| 88 | asm volatile ("mf\n" ::: "memory"); |
89 | asm volatile ("mf\n" ::: "memory"); |
| 89 | 90 | ||
| 90 | return *((uint16_t *)(IA64_IOSPACE_ADDRESS + |
91 | return *((uint16_t *)(IA64_IOSPACE_ADDRESS + |
| 91 | ((prt & 0xffE) | ((prt >> 2) << 12)))); |
92 | ((prt & 0xfff) | ((prt >> 2) << 12)))); |
| 92 | } |
93 | } |
| 93 | 94 | ||
| 94 | static inline uint32_t pio_read_32(ioport32_t *port) |
95 | static inline uint32_t pio_read_32(ioport32_t *port) |
| 95 | { |
96 | { |
| 96 | uintptr_t prt = (uintptr_t) port; |
97 | uintptr_t prt = (uintptr_t) port; |