1/* $NetBSD$ */
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 */
18typedef u_long bus_addr_t;
19typedef u_long bus_size_t;
20
21/*
22 * Translation of an Alpha bus address; INTERNAL USE ONLY.
23 */
24struct alpha_bus_space_translation {
25	bus_addr_t	abst_bus_start;	/* start of bus window */
26	bus_addr_t	abst_bus_end;	/* end of bus window */
27	paddr_t		abst_sys_start;	/* start of sysBus window */
28	paddr_t		abst_sys_end;	/* end of sysBus window */
29	int		abst_addr_shift;/* address shift */
30	int		abst_size_shift;/* size shift */
31	int		abst_flags;	/* flags; see below */
32};
33
34#define	ABST_BWX		0x01	/* use BWX to access the bus */
35#define	ABST_DENSE		0x02	/* space is dense */
36
37#define	BUS_SPACE_MAP_LINEAR		0x02
38#define	BUS_SPACE_MAP_PREFETCHABLE     	0x04
39
40#endif /* _ALPHA_BUS_USER_H_ */
41