Boot framework rework (#45)
[lunaix-os.git] / lunaix-os / arch / generic / includes / sys / port_io.h
1 #ifndef __LUNAIX_ARCH_PORT_IO_H
2 #define __LUNAIX_ARCH_PORT_IO_H
3
4 #include <lunaix/types.h>
5
6 static inline u8_t
7 port_rdbyte(int port)
8 {
9     return 0;
10 }
11
12 static inline void
13 port_rdbytes(int port, void* addr, int cnt)
14 {
15     return;
16 }
17
18 static inline u16_t
19 port_rdword(int port)
20 {
21     return 0;
22 }
23
24 static inline void
25 port_rdwords(int port, void* addr, int cnt)
26 {
27     asm volatile("cld\n"
28                  "repne\n"
29                  "insw"
30                  : "=D"(addr), "=c"(cnt)
31                  : "d"(port), "0"(addr), "1"(cnt)
32                  : "memory", "cc");
33 }
34
35 static inline u32_t
36 port_rddword(int port)
37 {
38     return 0;
39 }
40
41 static inline void
42 port_rddwords(int port, void* addr, int cnt)
43 {
44     return;
45 }
46
47 static inline void
48 port_wrbyte(int port, u8_t data)
49 {
50     return;
51 }
52
53 static inline void
54 port_wrbytes(int port, const void* addr, int cnt)
55 {
56     return;
57 }
58
59 static inline void
60 port_wrword(int port, u16_t data)
61 {
62     return;
63 }
64
65 static inline void
66 port_wrwords(int port, const void* addr, int cnt)
67 {
68     return;
69 }
70
71 static inline void
72 port_wrdwords(int port, const void* addr, int cnt)
73 {
74     return;
75 }
76
77 static inline void
78 port_wrdword(int port, u32_t data)
79 {
80     return;
81 }
82
83 static inline void
84 port_delay(int counter)
85 {
86     return;
87 }
88
89 #endif /* __LUNAIX_ARCH_PORT_IO_H */