2 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
6 * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9 #ifndef _SYS_DDI_OBSOLETE_H
10 #define _SYS_DDI_OBSOLETE_H
13 * Obsoleted DDI Interfaces
16 #include <sys/types.h>
17 #include <sys/dditypes.h>
18 #include <sys/sunldi.h>
28 extern long strtol(const char *, char **, int);
29 extern unsigned long strtoul(const char *, char **, int);
31 uint8_t ddi_mem_get8(ddi_acc_handle_t handle
, uint8_t *host_addr
);
32 uint16_t ddi_mem_get16(ddi_acc_handle_t handle
, uint16_t *host_addr
);
33 uint32_t ddi_mem_get32(ddi_acc_handle_t handle
, uint32_t *host_addr
);
34 uint64_t ddi_mem_get64(ddi_acc_handle_t handle
, uint64_t *host_addr
);
35 void ddi_mem_put8(ddi_acc_handle_t handle
, uint8_t *dev_addr
, uint8_t value
);
36 void ddi_mem_put16(ddi_acc_handle_t handle
, uint16_t *dev_addr
, uint16_t value
);
37 void ddi_mem_put32(ddi_acc_handle_t handle
, uint32_t *dev_addr
, uint32_t value
);
38 void ddi_mem_put64(ddi_acc_handle_t handle
, uint64_t *dev_addr
, uint64_t value
);
40 void ddi_mem_rep_get8(ddi_acc_handle_t handle
, uint8_t *host_addr
,
41 uint8_t *dev_addr
, size_t repcount
, uint_t flags
);
42 void ddi_mem_rep_get16(ddi_acc_handle_t handle
, uint16_t *host_addr
,
43 uint16_t *dev_addr
, size_t repcount
, uint_t flags
);
44 void ddi_mem_rep_get32(ddi_acc_handle_t handle
, uint32_t *host_addr
,
45 uint32_t *dev_addr
, size_t repcount
, uint_t flags
);
46 void ddi_mem_rep_get64(ddi_acc_handle_t handle
, uint64_t *host_addr
,
47 uint64_t *dev_addr
, size_t repcount
, uint_t flags
);
48 void ddi_mem_rep_put8(ddi_acc_handle_t handle
, uint8_t *host_addr
,
49 uint8_t *dev_addr
, size_t repcount
, uint_t flags
);
50 void ddi_mem_rep_put16(ddi_acc_handle_t handle
, uint16_t *host_addr
,
51 uint16_t *dev_addr
, size_t repcount
, uint_t flags
);
52 void ddi_mem_rep_put32(ddi_acc_handle_t handle
, uint32_t *host_addr
,
53 uint32_t *dev_addr
, size_t repcount
, uint_t flags
);
54 void ddi_mem_rep_put64(ddi_acc_handle_t handle
, uint64_t *host_addr
,
55 uint64_t *dev_addr
, size_t repcount
, uint_t flags
);
57 uint8_t ddi_io_get8(ddi_acc_handle_t handle
, uint8_t *dev_addr
);
58 uint16_t ddi_io_get16(ddi_acc_handle_t handle
, uint16_t *dev_addr
);
59 uint32_t ddi_io_get32(ddi_acc_handle_t handle
, uint32_t *dev_addr
);
60 void ddi_io_put8(ddi_acc_handle_t handle
, uint8_t *dev_addr
, uint8_t value
);
61 void ddi_io_put16(ddi_acc_handle_t handle
, uint16_t *dev_addr
, uint16_t value
);
62 void ddi_io_put32(ddi_acc_handle_t handle
, uint32_t *dev_addr
, uint32_t value
);
64 void ddi_io_rep_get8(ddi_acc_handle_t handle
,
65 uint8_t *host_addr
, uint8_t *dev_addr
, size_t repcount
);
66 void ddi_io_rep_get16(ddi_acc_handle_t handle
,
67 uint16_t *host_addr
, uint16_t *dev_addr
, size_t repcount
);
68 void ddi_io_rep_get32(ddi_acc_handle_t handle
,
69 uint32_t *host_addr
, uint32_t *dev_addr
, size_t repcount
);
70 void ddi_io_rep_put8(ddi_acc_handle_t handle
,
71 uint8_t *host_addr
, uint8_t *dev_addr
, size_t repcount
);
72 void ddi_io_rep_put16(ddi_acc_handle_t handle
,
73 uint16_t *host_addr
, uint16_t *dev_addr
, size_t repcount
);
74 void ddi_io_rep_put32(ddi_acc_handle_t handle
,
75 uint32_t *host_addr
, uint32_t *dev_addr
, size_t repcount
);
77 /* only support older interfaces on 32-bit systems */
79 #define ddi_mem_getb ddi_mem_get8
80 #define ddi_mem_getw ddi_mem_get16
81 #define ddi_mem_getl ddi_mem_get32
82 #define ddi_mem_getll ddi_mem_get64
83 #define ddi_mem_rep_getb ddi_mem_rep_get8
84 #define ddi_mem_rep_getw ddi_mem_rep_get16
85 #define ddi_mem_rep_getl ddi_mem_rep_get32
86 #define ddi_mem_rep_getll ddi_mem_rep_get64
87 #define ddi_mem_putb ddi_mem_put8
88 #define ddi_mem_putw ddi_mem_put16
89 #define ddi_mem_putl ddi_mem_put32
90 #define ddi_mem_putll ddi_mem_put64
91 #define ddi_mem_rep_putb ddi_mem_rep_put8
92 #define ddi_mem_rep_putw ddi_mem_rep_put16
93 #define ddi_mem_rep_putl ddi_mem_rep_put32
94 #define ddi_mem_rep_putll ddi_mem_rep_put64
95 #define ddi_io_getb ddi_io_get8
96 #define ddi_io_getw ddi_io_get16
97 #define ddi_io_getl ddi_io_get32
98 #define ddi_io_putb ddi_io_put8
99 #define ddi_io_putw ddi_io_put16
100 #define ddi_io_putl ddi_io_put32
101 #define ddi_getb ddi_get8
102 #define ddi_getw ddi_get16
103 #define ddi_getl ddi_get32
104 #define ddi_getll ddi_get64
105 #define ddi_rep_getb ddi_rep_get8
106 #define ddi_rep_getw ddi_rep_get16
107 #define ddi_rep_getl ddi_rep_get32
108 #define ddi_rep_getll ddi_rep_get64
109 #define ddi_putb ddi_put8
110 #define ddi_putw ddi_put16
111 #define ddi_putl ddi_put32
112 #define ddi_putll ddi_put64
113 #define ddi_rep_putb ddi_rep_put8
114 #define ddi_rep_putw ddi_rep_put16
115 #define ddi_rep_putl ddi_rep_put32
116 #define ddi_rep_putll ddi_rep_put64
118 /* These can't be define's since they're not asm routines */
119 void ddi_io_rep_getb(ddi_acc_handle_t handle
, uint8_t *host_addr
,
120 uint8_t *dev_addr
, size_t repcount
);
121 void ddi_io_rep_getw(ddi_acc_handle_t handle
, uint16_t *host_addr
,
122 uint16_t *dev_addr
, size_t repcount
);
123 void ddi_io_rep_getl(ddi_acc_handle_t handle
, uint32_t *host_addr
,
124 uint32_t *dev_addr
, size_t repcount
);
125 void ddi_io_rep_putb(ddi_acc_handle_t handle
, uint8_t *host_addr
,
126 uint8_t *dev_addr
, size_t repcount
);
127 void ddi_io_rep_putw(ddi_acc_handle_t handle
, uint16_t *host_addr
,
128 uint16_t *dev_addr
, size_t repcount
);
129 void ddi_io_rep_putl(ddi_acc_handle_t handle
, uint32_t *host_addr
,
130 uint32_t *dev_addr
, size_t repcount
);
132 int ddi_peekc(dev_info_t
*dip
, int8_t *addr
, int8_t *val_p
);
133 int ddi_peeks(dev_info_t
*dip
, int16_t *addr
, int16_t *val_p
);
134 int ddi_peekl(dev_info_t
*dip
, int32_t *addr
, int32_t *val_p
);
135 int ddi_peekd(dev_info_t
*dip
, int64_t *addr
, int64_t *val_p
);
136 int ddi_pokec(dev_info_t
*dip
, int8_t *addr
, int8_t val
);
137 int ddi_pokes(dev_info_t
*dip
, int16_t *addr
, int16_t val
);
138 int ddi_pokel(dev_info_t
*dip
, int32_t *addr
, int32_t val
);
139 int ddi_poked(dev_info_t
*dip
, int64_t *addr
, int64_t val
);
141 uint8_t pci_config_getb(ddi_acc_handle_t handle
, off_t offset
);
142 uint16_t pci_config_getw(ddi_acc_handle_t handle
, off_t offset
);
143 uint32_t pci_config_getl(ddi_acc_handle_t handle
, off_t offset
);
144 uint64_t pci_config_getll(ddi_acc_handle_t handle
, off_t offset
);
145 void pci_config_putb(ddi_acc_handle_t handle
, off_t offset
, uint8_t value
);
146 void pci_config_putw(ddi_acc_handle_t handle
, off_t offset
, uint16_t value
);
147 void pci_config_putl(ddi_acc_handle_t handle
, off_t offset
, uint32_t value
);
148 void pci_config_putll(ddi_acc_handle_t handle
, off_t offset
, uint64_t value
);
150 extern void repinsb(int port
, uint8_t *addr
, int count
);
151 extern void repinsw(int port
, uint16_t *addr
, int count
);
152 extern void repinsd(int port
, uint32_t *addr
, int count
);
153 extern void repoutsb(int port
, uint8_t *addr
, int count
);
154 extern void repoutsw(int port
, uint16_t *addr
, int count
);
155 extern void repoutsd(int port
, uint32_t *addr
, int count
);
158 /* Obsolete LDI event interfaces */
159 extern int ldi_get_eventcookie(ldi_handle_t
, char *,
160 ddi_eventcookie_t
*);
161 extern int ldi_add_event_handler(ldi_handle_t
, ddi_eventcookie_t
,
162 void (*handler
)(ldi_handle_t
, ddi_eventcookie_t
, void *, void *),
163 void *, ldi_callback_id_t
*);
164 extern int ldi_remove_event_handler(ldi_handle_t
, ldi_callback_id_t
);
167 #endif /* not _DDI_STRICT */
173 #endif /* _SYS_DDI_OBSOLETE_H */