xref: /original-bsd/sys/tahoe/tahoe/cp.h (revision 4d1ce0b0)
1 /*
2  *	@(#)cp.h	7.1 (Berkeley) 05/21/88
3  */
4 
5 /*
6  * Tahoe console processor interface
7  */
8 
9 /*
10  * Reduced DCB layout for byte communication.
11  */
12 #define	CPBUFLEN 200		/* Output buffer length */
13 #ifndef	LOCORE
14 struct	cphdr {
15 	char	cp_unit;	/* Done bit & unit # */
16 	char	cp_comm;	/* Command */
17 	short	cp_count;	/* Counter (when relevant) */
18 };
19 
20 struct	cpdcb_o {		/* Output structure */
21 	struct	cphdr	cp_hdr;
22 	char	cp_buf[CPBUFLEN]; /* Buffer for output or 'stty' */
23 };
24 
25 struct	cpdcb_i {		/* Structure for input */
26 	struct	cphdr	cp_hdr;
27 	char	cpi_buf[4]; 	/* Buffer for input */
28 };
29 #endif
30 
31 #define	CPDONE	0x80		/* 'Done' bit in cp_unit */
32 #define	CPTAKE	0x40		/* CP 'ack' to this cpdcb */
33 
34 /* unit values */
35 #define	CPUNIT	0		/* the CP itself */
36 #define	CPCONS	1		/* console line */
37 #define	CPREMOT	2		/* remote line */
38 #define	CPCLOCK	4		/* realtime clock */
39 
40 /* commands */
41 #define	CPRESET 0
42 #define	CPWRITE 1		/* write device or register */
43 #define	CPREAD	2		/* read device or register */
44 #define	CPSTTY	3		/* set terminal configuration */
45 #define	CPBOOT	4		/* reboot system */
46 
47 /*
48  *	CP specific locations
49  */
50 #define	CPBFLG	0xc0000500	/* System bootflag flags */
51 #define	CPYFLG	0xc0000504	/* Copy of the Y flag */
52 #define	CPOPTS	0xc0000508	/* copy of CP options */
53 #define CPRSRV	0xc000050c	/* reserved for CP usage */
54 #define	CPBDEV	0xc0000510	/* Bootstrap device, saved on boot */
55 #define	CPEDEV	0xc000052f	/* End of device name */
56 
57 #if !defined(LOCORE) && defined(KERNEL)
58 struct	cphdr *cnlast;		/* last command sent to cp */
59 #endif
60