iplleoram.c
3.17 KB
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
/*
* F i l e N a m e : i p l r a m . c
*
****************************************************************************
* (C) Copyright ALPS Electric Co., Ltd. 1995-1996
****************************************************************************
* Version
*
* ver Date
* ---- --------
* 1.06 '96-11-05 Delete LeoIPLcommand_que_buf memory.
* 1.05 '96-10-30 Add LeoIPLclr_que_flag . Clr_queue operation use this memory .
* 1.04 '96-10-01 Change LeoIPLdma_que_buf size ( 1->2 ) .
* 1.03 '96-07-15 Move LeoIPL_sys_data to top of file .
* 1.02 '96-02-27 Rename iplram.c to iplleoram.c .
* 1.01 '96-02-03 Debug. Add "LEO" to top of ram name.
* 1.00 '95-12-20 Initial revision .
****************************************************************************
*/
#include <ultra64.h>
#include "leodefine.h"
#include "leodrive.h"
/**************************************************
* SYSTEM INFORMATION AREA
***************************************************/
union leo_sys_form LeoIPL_sys_data;
/**************************************************
* THREAD
***************************************************/
OSThread LeoIPLcommandThread;
OSThread LeoIPLinterruptThread;
u64 LeoIPLcommandThreadStack[LeoIPL_STACKSIZE/8];
u64 LeoIPLinterruptThreadStack[LeoIPL_STACKSIZE/8];
/**************************************************
* Queue
***************************************************/
OSMesgQueue LeoIPLcommand_que; /* コマンドキューイング用 */
OSMesgQueue LeoIPLevent_que; /* 割り込み処理用 */
OSMesgQueue LeoIPLcontrol_que; /* コマンド処理用 */
OSMesgQueue LeoIPLdma_que; /* DMA転送処理用 */
OSMesgQueue LeoIPLblock_que; /* コマンド受信ブロック用 */
OSMesg LeoIPLcommand_que_buf[CMD_BLK_Q_SIZE]; /* コマンドキューイング用 */
OSMesg LeoIPLevent_que_buf; /* 割り込み処理用 */
OSMesg LeoIPLcontrol_que_buf; /* コマンド処理用 */
OSMesg LeoIPLdma_que_buf[DMA_Q_SIZE]; /* DMA転送処理用 */
OSMesg LeoIPLblock_que_buf; /* コマンド受信ブロック用 */
/**************************************************
* Others
***************************************************/
u8 *LeoIPLwrite_pointer; /* バッファ先頭アドレス */
OSMesg LeoIPLcur_command;
/*-------------------------------------*/
/* Drive Register Shadow ram */
/*-------------------------------------*/
u32 LeoIPLasic_bm_ctl_shadow;
u32 LeoIPLasic_seq_ctl_shadow;
/*-------------------------------------*/
/* Drive parameters */
/*-------------------------------------*/
u8 LeoIPLdrive_flag; /* 0 : system info isnot read */
/* 1 : system info already read */
u8 LeoIPLclr_que_flag; /* 0 : CLEAR QUE not requested */
/* 1 : CLEAR QUE requested */
u16 LeoIPLrw_flags;
u8 LeoIPLdisk_type; /* Disk type */
struct tgt_param_form LeoIPLtgt_param;