[BACK]Return to prom.h CVS log [TXT][DIR] Up to [local] / sys / arch / mvme88k / include

Annotation of sys/arch/mvme88k/include/prom.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: prom.h,v 1.16 2006/05/16 22:51:28 miod Exp $ */
                      2: /*
                      3:  * Copyright (c) 1998 Steve Murphree, Jr.
                      4:  * Copyright (c) 1996 Nivas Madhur
                      5:  * Copyright (c) 1995 Theo de Raadt
                      6:  * All rights reserved.
                      7:  *
                      8:  * Redistribution and use in source and binary forms, with or without
                      9:  * modification, are permitted provided that the following conditions
                     10:  * are met:
                     11:  * 1. Redistributions of source code must retain the above copyright
                     12:  *    notice, this list of conditions and the following disclaimer.
                     13:  * 2. Redistributions in binary form must reproduce the above copyright
                     14:  *    notice, this list of conditions and the following disclaimer in the
                     15:  *    documentation and/or other materials provided with the distribution.
                     16:  * 3. The name of the author may not be used to endorse or promote products
                     17:  *    derived from this software without specific prior written permission.
                     18:  *
                     19:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     20:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     21:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     22:  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     23:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     24:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     25:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     26:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     27:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     28:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     29:  */
                     30: #ifndef __MACHINE_PROM_H__
                     31: #define __MACHINE_PROM_H__
                     32:
                     33: /* BUG trap vector */
                     34: #define        MVMEPROM_VECTOR         496
                     35:
                     36: #define MVMEPROM_INCHR         0x00
                     37: #define MVMEPROM_INSTAT                0x01
                     38: #define MVMEPROM_INLN          0x02
                     39: #define MVMEPROM_READSTR       0x03
                     40: #define MVMEPROM_READLN                0x04
                     41: #define MVMEPROM_DSKRD         0x10
                     42: #define MVMEPROM_DSKWR         0x11
                     43: #define MVMEPROM_DSKCFIG       0x12
                     44: #define MVMEPROM_DSKFMT                0x14
                     45: #define MVMEPROM_DSKCTRL       0x15
                     46: #define MVMEPROM_NETFOPEN      0x1b
                     47: #define MVMEPROM_NETFREAD      0x1c
                     48: #define MVMEPROM_NETCTRL       0x1d
                     49: #define MVMEPROM_OUTCHR                0x20
                     50: #define MVMEPROM_OUTSTR                0x21
                     51: #define MVMEPROM_OUTSTRCRLF    0x22
                     52: #define MVMEPROM_WRITE         0x23
                     53: #define MVMEPROM_WRITELN       0x24
                     54: #define        MVMEPROM_OUTCRLF        0x26
                     55: #define MVMEPROM_DELAY         0x43
                     56: #define MVMEPROM_RTC_RD                0x53
                     57: #define MVMEPROM_EXIT          0x63
                     58: #define MVMEPROM_GETBRDID      0x70
                     59: #define MVMEPROM_ENVIRON       0x71
                     60: #define        MVMEPROM_FORKMPU        0x100
                     61:
                     62: #define NETCTRLCMD_GETETHER    1
                     63:
                     64: #define ENVIRONCMD_WRITE       1
                     65: #define ENVIRONCMD_READ                2
                     66: #define ENVIRONTYPE_EOL                0
                     67: #define ENVIRONTYPE_START      1
                     68: #define ENVIRONTYPE_DISKBOOT   2
                     69: #define ENVIRONTYPE_ROMBOOT    3
                     70: #define ENVIRONTYPE_NETBOOT    4
                     71: #define ENVIRONTYPE_MEMSIZE    5
                     72:
                     73: #define        FORKMPU_NOT_IDLE        -1
                     74: #define        FORKMPU_BAD_ADDRESS     -2
                     75: #define        FORKMPU_NO_MPU          -3
                     76:
                     77: #ifndef LOCORE
                     78: struct mvmeprom_netctrl {
                     79:        u_char  ctrl;
                     80:        u_char  dev;
                     81:        u_short status;
                     82:        u_long  cmd;
                     83:        u_long  addr;
                     84:        u_long  len;
                     85:        u_long  flags;
                     86: };
                     87:
                     88: struct mvmeprom_netfopen {
                     89:        u_char  ctrl;
                     90:        u_char  dev;
                     91:        u_short status;
                     92:        char    filename[64];
                     93: };
                     94:
                     95: struct mvmeprom_netfread {
                     96:        u_char  ctrl;
                     97:        u_char  dev;
                     98:        u_short status;
                     99:        u_long  addr;
                    100:        u_short bytes;
                    101:        u_short blk;
                    102:        u_long  timeout;
                    103: };
                    104:
                    105: struct prom_environ_hdr {
                    106:        u_char  type;
                    107:        u_char  len;
                    108: };
                    109:
                    110: struct mvmeprom_brdid {
                    111:        u_long  eye_catcher;
                    112:        u_char  rev;
                    113:        u_char  month;
                    114:        u_char  day;
                    115:        u_char  year;
                    116:        u_short size;
                    117:        u_short rsv1;
                    118:        u_short model;
                    119:        u_char  suffix[2];
                    120:        u_short options;
                    121:        u_char  family;
                    122:        u_char  cpu;
                    123:        u_short ctrlun;
                    124:        u_short devlun;
                    125:        u_short devtype;
                    126:        u_short devnum;
                    127:        u_long  bug;
                    128:        u_char  version[4];
                    129:        u_char  serial[12];             /* SBC serial number */
                    130:        u_char  id[16];                 /* SBC id */
                    131:        u_char  pwa[16];                /* printed wiring assembly number */
                    132:        u_char  speed[4];               /* cpu speed */
                    133:        u_char  etheraddr[6];           /* mac address, all zero if no ether */
                    134:        u_char  fill[2];
                    135:        u_char  scsiid[2];              /* local SCSI id */
                    136:        u_char  sysid[8];               /* system id - nothing on mvme187 */
                    137:        u_char  brd1_pwb[8];            /* memory board 1 pwb */
                    138:        u_char  brd1_serial[8];         /* memory board 1 serial */
                    139:        u_char  brd2_pwb[8];            /* memory board 2 pwb */
                    140:        u_char  brd2_serial[8];         /* memory board 2 serial */
                    141:        u_char  reserved[153];
                    142:        u_char  cksum[1];
                    143: };
                    144:
                    145: struct mvmeprom_time {
                    146:         u_char year_BCD;
                    147:         u_char month_BCD;
                    148:         u_char day_BCD;
                    149:         u_char wday_BCD;
                    150:         u_char hour_BCD;
                    151:         u_char min_BCD;
                    152:         u_char sec_BCD;
                    153:         u_char cal_BCD;
                    154: };
                    155:
                    156: struct mvmeprom_dskio {
                    157:        u_char  ctrl_lun;
                    158:        u_char  dev_lun;
                    159:        u_short status;
                    160:        void    *pbuffer;
                    161:        u_long  blk_num;
                    162:        u_short blk_cnt;
                    163:        u_char  flag;
                    164: #define BUG_FILE_MARK  0x80
                    165: #define IGNORE_FILENUM 0x02
                    166: #define END_OF_FILE    0x01
                    167:        u_char  addr_mod;
                    168: };
                    169: #define MVMEPROM_BLOCK_SIZE    256
                    170:
                    171: extern unsigned long bugvec[2], sysbugvec[2];  /* BUG trap vector copies */
                    172:
                    173: #endif /* _LOCORE */
                    174:
                    175: #ifndef RB_NOSYM
                    176: #define RB_NOSYM 0x4000
                    177: #endif
                    178: #endif /* __MACHINE_PROM_H__ */

CVSweb