📄 civar.c
字号:
#ifndef lintstatic char *sccsid = "@(#)civar.c 4.1 (ULTRIX) 7/2/90";#endif lint/************************************************************************ * * * Copyright (c) 1988 - 1989 by * * Digital Equipment Corporation, Maynard, MA * * All rights reserved. * * * * This software is furnished under a license and may be used and * * copied only in accordance with the terms of such license and * * with the inclusion of the above copyright notice. This * * software or any other copies thereof may not be provided or * * otherwise made available to any other person. No title to and * * ownership of the software is hereby transferred. * * * * The information in this software is subject to change without * * notice and should not be construed as a commitment by Digital * * Equipment Corporation. * * * * Digital assumes no responsibility for the use or reliability * * of its software on equipment which is not supplied by Digital. * * * ************************************************************************ * * * Facility: Systems Communication Architecture * Computer Interconnect Port Driver * * Abstract: This module contains Computer Interconnect Port Driver( * CI ) internal data structures and variables. * * Creator: Todd M. Katz Creation Date: November 12, 1985 * * Modification History: * * 06-Jun-1990 Pete Keilty * 1. Added six new error events to the ci_clse table for the CIXCD. * 2. Added preliminary support for the CIKMF and SHAC. * * 29-Mar-1990 Pete Keilty * Add microcode entry 6/4,5/5,5/4 to cibca_aa_mrltab[]. * * 02-Jan-1990 Pete Keilty * Add microcode entry 6/3 to cibca_aa_mrltab[]. * * 19-Sep-1989 Pete Keilty * Added XCD support, removed XCB. * * 05-Mar-1989 Todd M. Katz TMK0008 * Include header file ../vaxmsi/msisysap.h. * * 07-Oct-1988 Todd M. Katz TMK0007 * Modify cibca_aa_mrltab[] so that a warning is printed whenever revision * level 2 self-test microcode is encountered, regardless of the * functional microcode revision level. Previously, presence of revision * level 2 self-test microcode was always regarded as a fatal error. * * 22-Sep-1988 Todd M. Katz TMK0006 * 1. Update ci_clppdse[] and ci_cltab[][] to reflect the creation of a * new path specific CI PPD severe error event logged only by the CI * PPD itself and never by the CI port driver. * 2. Update all console logging message strings. * * 18-Aug-1988 Todd M. Katz TMK0005 * 1. SCA event code formats have been complete redefined. Both new * severity levels as well as severity level modifiers have been * created. The GVP subclass( ESC_GVP ) has been eliminated. Most * current CI event codes have been reassigned to different severity * levels. New event codes have been added. Revise and add new * console logging format tables, and update ci_cltab[][]. * 2. Update ci_pdt by removing ci_map_reason( Map_reason ) and * ci_log_packet( Log_pcrashes ), two functions no longer required by * the CI PPD, and adding ci_log_badport(), a new mandatory PD routine * required by the CI PPD. * 3. Delete ci_map_cipc[]. Port driver specific path crash reason codes * codes no longer exist and all reason code mapping takes place * entirely within the CI PPD. * * 03-Jun-1988 Todd M. Katz TMK0004 * 1. Update console logging format table ci_clppdlpc[]. * * 03-Jun-1988 Todd M. Katz TMK0003 * 1. Create a single unified hierarchical set of naming conventions for * use within the CI port driver and describe them within ciport.h. * Apply these conventions to all names( routine, macro, constant, and * data structure ) used within the driver. * 2. Add support for the CIXCB hardware port type by adding cixcb_regoff( * register offsets ) and cixcb_mrltab[]( microcode revision table ). * 3. Update all microcode revision tables to current support levels. Add * self-test revision levels to cibca_aa_rltab[] and cibca_ba_mrltab[] * so that both functional and self-test revision levels maybe verified * following the initial port initialization of all CIBX family ports. * 4. Rename CF_PORT -> CF_RPORT. * 8. Update the console logging tables ci_cltab[][] and ci_clie[] to * reflect elimination of the informational event IE_INVHPT, the * renumbering of the remaining informational event codes, and the * addition of new codes IE_STRAY, IE_POWER, and IE_POWERUP. * * 02-Jun-1988 Ricky S. Palmer * Removed inclusion of header file ../vaxmsi/msisysap.h * * 09-Apr-1988 Todd M. Katz TMK0002 * Add support for the CIBCA-BA hardware port type by renaming * cibca_mrltable[] -> cibca_aa_mrltab[] and by adding cibca_ba_mrltab[], * a CIBCA-BA microcode revison table. * * 08-Jan-1988 Todd M. Katz TMK0001 * Formated module, revised comments, increased generality and * robustness, made CI PPD and GVP completely independent from underlying * port drivers, and added SMP support. *//* Libraries and Include Files. */#include "../h/types.h"#include "../h/param.h"#include "../h/time.h"#include "../h/ksched.h"#include "../h/errlog.h"#include "../io/scs/sca.h"#include "../io/scs/scaparam.h"#include "../io/ci/cippdsysap.h"#include "../io/ci/cisysap.h"#include "../io/msi/msisysap.h"#include "../io/bi/bvpsysap.h"#include "../io/gvp/gvpsysap.h"#include "../io/uba/uqsysap.h"#include "../io/sysap/sysap.h"#include "../io/ci/cippdscs.h"#include "../io/ci/ciscs.h"#include "../io/msi/msiscs.h"#include "../io/bi/bvpscs.h"#include "../io/gvp/gvpscs.h"#include "../io/uba/uqscs.h"#include "../io/scs/scs.h"#include "../io/gvp/gvp.h"#include "../io/ci/cippd.h"#include "../io/ci/ciport.h"/* External Variables and Routines. */extern PB *cippd_get_pb();extern SCSH *gvp_alloc_dg(), *gvp_alloc_msg(), *gvp_remove_dg(), *gvp_remove_msg();extern u_long ci_alloc_buf(), ci_get_port(), ci_init_pb(), ci_req_data(), ci_send_data(), ci_remote_reset(), ci_remote_start(), ci_send_reqid(), ci_set_circuit(), cippd_open_pb(), gvp_map_buf();extern void ci_crash_lport(), ci_dealloc_buf(), ci_init_port(), ci_inv_cache(), ci_log_badport(), ci_notify_port(), ci_shutdown(), ci_test_lpconn(), ci_update_ptype(), cippd_crash_pb(), cippd_remove_pb(), gvp_add_dg(), gvp_add_msg(), gvp_dealloc_dg(), gvp_dealloc_msg(), gvp_send_dg(), gvp_send_msg(), gvp_unmap_buf();/* Global Variables and Data Structures. */u_char *ci_black_hole /* CI Black Hole Mapping Page */ = NULL;u_long ci_bhole_pfn /* CI Black Hole Page Frame Number */ = 0;u_short ci_ucode_type /* CI Functional Microcode Type */ = 0;PDT ci_pdt = { /* CI Port Dispatch Table */ /* Mandatory PD Functions */ gvp_alloc_dg, /* Allocate Datagram Buffer */ gvp_dealloc_dg, /* Deallocate Datagram Buffer */ gvp_add_dg, /* Add Datagram Buffer to Free Pool */ gvp_remove_dg, /* Remove Dg Buffer from Free Pool */ gvp_alloc_msg, /* Allocate Message Buffer */ gvp_dealloc_msg, /* Deallocate Message Buffer */ gvp_add_msg, /* Add Message Buffer to Free Pool */ gvp_remove_msg, /* Remove Msg Buffer from Free Pool */ gvp_send_msg, /* Send Sequenced Message */ gvp_map_buf, /* Map Buffer */ gvp_unmap_buf, /* Unmap Buffer */ cippd_open_pb, /* Transition Formative Path to Open */ cippd_crash_pb, /* Crash Path */ cippd_get_pb, /* Retrieve Path Block */ cippd_remove_pb, /* Remove Path Block from Databases */ ci_remote_reset, /* Reset Remote Port and System */ ci_remote_start, /* Start Remote Port and System */ /* Optional PD Functions */ gvp_send_dg, /* Send Datagram */ ci_send_data, /* Send Block Data */ ci_req_data, /* Request Block Data */ ci_crash_lport, /* Crash Local Port */ ci_shutdown, /* Inform Systems of Local Shutdown */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -