|
|
1.1 root 1: /*
2: * @(#)cp.h 7.1 (Berkeley) 5/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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.