iplleoram.c 3.17 KB
/*
 *  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;