123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- /*
- *
- Copyright (c) Eicon Networks, 2002.
- *
- This source file is supplied for the use with
- Eicon Networks range of DIVA Server Adapters.
- *
- Eicon File Revision : 2.1
- *
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
- *
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the GNU General Public License for more details.
- *
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
- #ifdef PLATFORM_GT_32BIT
- /* #define POINTER_32BIT byte * __ptr32 */
- #define POINTER_32BIT dword
- #else
- #define POINTER_32BIT byte *
- #endif
- #if !defined(MIPS_SCOM)
- #define BUFFER_SZ 48
- #define MAINT_OFFS 0x380
- #else
- #define BUFFER_SZ 128
- #if defined(PRI)
- #define MAINT_OFFS 0xef00
- #else
- #define MAINT_OFFS 0xff00
- #endif
- #endif
- #define MIPS_BUFFER_SZ 128
- #if defined(PRI)
- #define MIPS_MAINT_OFFS 0xef00
- #else
- #define MIPS_MAINT_OFFS 0xff00
- #endif
- #define LOG 1
- #define MEMR 2
- #define MEMW 3
- #define IOR 4
- #define IOW 5
- #define B1TEST 6
- #define B2TEST 7
- #define BTESTOFF 8
- #define DSIG_STATS 9
- #define B_CH_STATS 10
- #define D_CH_STATS 11
- #define BL1_STATS 12
- #define BL1_STATS_C 13
- #define GET_VERSION 14
- #define OS_STATS 15
- #define XLOG_SET_MASK 16
- #define XLOG_GET_MASK 17
- #define DSP_READ 20
- #define DSP_WRITE 21
- #define OK 0xff
- #define MORE_EVENTS 0xfe
- #define NO_EVENT 1
- struct DSigStruc
- {
- byte Id;
- byte u;
- byte listen;
- byte active;
- byte sin[3];
- byte bc[6];
- byte llc[6];
- byte hlc[6];
- byte oad[20];
- };
- struct BL1Struc {
- dword cx_b1;
- dword cx_b2;
- dword cr_b1;
- dword cr_b2;
- dword px_b1;
- dword px_b2;
- dword pr_b1;
- dword pr_b2;
- word er_b1;
- word er_b2;
- };
- struct L2Struc {
- dword XTotal;
- dword RTotal;
- word XError;
- word RError;
- };
- struct OSStruc {
- dword free_n;
- };
- typedef union
- {
- struct DSigStruc DSigStats;
- struct BL1Struc BL1Stats;
- struct L2Struc L2Stats;
- struct OSStruc OSStats;
- byte b[BUFFER_SZ];
- word w[BUFFER_SZ>>1];
- word l[BUFFER_SZ>>2]; /* word is wrong, do not use! Use 'd' instead. */
- dword d[BUFFER_SZ>>2];
- } BUFFER;
- typedef union
- {
- struct DSigStruc DSigStats;
- struct BL1Struc BL1Stats;
- struct L2Struc L2Stats;
- struct OSStruc OSStats;
- byte b[MIPS_BUFFER_SZ];
- word w[MIPS_BUFFER_SZ>>1];
- word l[BUFFER_SZ>>2]; /* word is wrong, do not use! Use 'd' instead. */
- dword d[MIPS_BUFFER_SZ>>2];
- } MIPS_BUFFER;
- #if !defined(MIPS_SCOM)
- struct pc_maint
- {
- byte req;
- byte rc;
- POINTER_32BIT mem;
- short length;
- word port;
- byte fill[6];
- BUFFER data;
- };
- #else
- struct pc_maint
- {
- byte req;
- byte rc;
- byte reserved[2]; /* R3000 alignment ... */
- POINTER_32BIT mem;
- short length;
- word port;
- byte fill[4]; /* data at offset 16 */
- BUFFER data;
- };
- #endif
- struct mi_pc_maint
- {
- byte req;
- byte rc;
- byte reserved[2]; /* R3000 alignment ... */
- POINTER_32BIT mem;
- short length;
- word port;
- byte fill[4]; /* data at offset 16 */
- MIPS_BUFFER data;
- };
|