1 /* $NetBSD: bus_user.h,v 1.3 2019/09/23 16:17:54 skrll Exp $ */
2 /*
3  * XXX This file is a stopgap intended to keep NetBSD/alpha buildable
4  * XXX while developers figure out whether/how to expose to userland
5  * XXX the bus_space(9) and pci(9) facilities used by libalpha (which
6  * XXX is used by X11).
7  * XXX
8  * XXX Do NOT add new definitions to this file.
9  */
10 #ifndef _ALPHA_BUS_USER_H_
11 #define _ALPHA_BUS_USER_H_
12 
13 #include <sys/types.h>
14 
15 /*
16  * Addresses (in bus space).
17  */
18 typedef u_long bus_addr_t;
19 typedef u_long bus_size_t;
20 
21 #define PRIxBUSADDR "lx"
22 #define PRIxBUSSIZE "lx"
23 #define PRIuBUSSIZE "lu"
24 
25 /*
26  * Translation of an Alpha bus address; INTERNAL USE ONLY.
27  */
28 struct alpha_bus_space_translation {
29           bus_addr_t          abst_bus_start;     /* start of bus window */
30           bus_addr_t          abst_bus_end;       /* end of bus window */
31           __paddr_t abst_sys_start;     /* start of sysBus window */
32           __paddr_t abst_sys_end;       /* end of sysBus window */
33           int                 abst_addr_shift;/* address shift */
34           int                 abst_size_shift;/* size shift */
35           int                 abst_flags;         /* flags; see below */
36 };
37 
38 #define   ABST_BWX            0x01      /* use BWX to access the bus */
39 #define   ABST_DENSE                    0x02      /* space is dense */
40 
41 #define   BUS_SPACE_MAP_LINEAR                    0x02
42 #define   BUS_SPACE_MAP_PREFETCHABLE              0x04
43 
44 #endif /* _ALPHA_BUS_USER_H_ */
45