summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k/include/bugio.h
blob: 32be8a03ed0535e239df2ef5115a72085ab8e812 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/*	$OpenBSD: bugio.h,v 1.9 2001/08/12 12:03:02 heko Exp $ */
#ifndef __MACHINE_BUGIO_H__
#define __MACHINE_BUGIO_H__
#include "sys/cdefs.h"

struct bugdisk_io {
	char	clun;
	char	dlun;
	short	status;
	void	*addr;
	int	blkno;
#define	fileno	blkno
	short	nblks;
	char	flag;
#define	FILEMARKFLAG	0x80
#define	IGNOREFILENO	0x02
#define	ENDOFFILE	0x01
	char	am;
};	

/* values are in BCD {upper nibble+lower nibble} */

struct bugrtc {
	unsigned char	Y;
	unsigned char	M;
	unsigned char	D;
	unsigned char	d;
	unsigned char	H;
	unsigned char	m;
	unsigned char	s;
	unsigned char	c;
};

/* Board ID - lots of info */

struct bugbrdid {
	unsigned char	eye[4];
	char	rev;
	char	month;
	char	day;
	char	year;
	short	packetsize;
	short	dummy;
	short	brdno;
	unsigned char	brdsuf[2];
	char	options[3];
	char	family:4;
	char	cpu:4;
	short	clun;
	short	dlun;
	short	type;
	short	dev;
	int	option;
	char	version[4];
	char	serial[12];			/* SBC serial number */
	char	id[16];				/* SBC id */
	char	pwa[16];				/* printed wiring assembly number */
	char	speed[4];			/* cpu speed */
	char	etheraddr[6];		/* mac address, all zero if no ether */
	char	fill[2];		
	char	scsiid[2];			/* local SCSI id */
	char	sysid[8];			/* system id - nothing on mvme187 */
	char	brd1_pwb[8];		/* memory board 1 pwb */
	char	brd1_serial[8];	/* memory board 1 serial */
	char	brd2_pwb[8];		/* memory board 2 pwb */
	char	brd2_serial[8];	/* memory board 2 serial */
	char	reserved[153];
	char	cksum[1];
};

struct bugniocall {
	unsigned char clun;
	unsigned char dlun;
	unsigned char ci;
	unsigned char cd;
#define	NETCTRL_INITDEVICE	0
#define	NETCTRL_GETHDW		1
#define	NETCTRL_TX		2
#define	NETCTRL_RX		3
#define	NETCTRL_FLUSH		4
#define	NETCTRL_RESET		5
	unsigned long cid;
	unsigned long memaddr;
	unsigned long nbytes;
	unsigned long csword;
};
void buginit	__P((void));
int buginstat	__P((void));
char buginchr	__P((void));
void bugoutchr	__P((unsigned char));
void bugoutstr	__P((char *, char *));
void bugpcrlf	__P((void));
int bugdskrd	__P((struct bugdisk_io *));
int bugdskwr	__P((struct bugdisk_io *));
void bugrtcrd	__P((struct bugrtc *));
void bugreturn	__P((void));
int bugfork	__P((int cpu, unsigned address));
void bugbrdid	__P((struct bugbrdid *));
void bugnetctrl	__P((struct bugniocall *));
#endif /* __MACHINE_BUGIO_H__ */