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; |