[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

1850.0. "ACCVIO with Request ID" by DGOSW0::GUESDON () Sun Nov 24 1991 12:15

    When calling the routine MCC_EA_REQUEST_XID, the following Access
    Violation occurs:
    
    %SYSTEM-F-ACCVIO, access violation, reason mask=01, virtual address=010E0020,
                      PC=000E1853, PSL=03C00000
    
    	The virtual address looks like the first longword of a descriptor,
    i.e.:
    
    - a length of 32 (20 Hex)
    - a dtype of DSC_K_DTYPE_T (14 Hex)
    - a class of DSC_K_CLASS_S (01 Hex).
    
    the call to the routine is as follows:
    
    status = mcc_ea_request_xid (address, &MCC_K_NULL_PTR, &MCC_K_NULL_PTR,
    		                 &MCC_K_NULL_PTR, &time_stamp,
    				 &response_buffer, &port_used, &vmsstatus);
    
    where address is a variable of type MCC_T_ID802
          time_stamp is an MCC_T_Decriptor
          response_buffer is an MCC_T_Descriptor
          port_used is defined by a _DESCRIPTOR
    	  vmsstatus is a MCC_T_CVR
    
    has anyone heard of such a problem when using this routine ?
    
    Thank you 
    
    Michel.
    	  
T.RTitleUserPersonal
Name
DateLines
1850.1Version number, please.YAZ8::GUARINOMon Nov 25 1991 19:085
Michel,

Can you tell me what version of the kernel that you are running?

Vin
1850.2Interface Changes between 1.1 & 1.2YAZ8::GUARINOMon Nov 25 1991 19:3694
Michel,

The EA interface has changed from Version 1.1 to 1.2.
From DECmcc Developer's Toolkit Version V1.1.0 Release Notes
Dated February 1991. I extracted the pertinent information
regarding the EA. I have also included a piece of code that calls
mcc_ea_request_xid for 1.1 and 1.2.

Starting on page 2-7.


        .
        .
        .
        2.2.6  Ethernet Access Routines

        The Ethernet Access routines provide controlled and
        distributed access to the VMS Ethernet device drivers for
        Ethernet related DECmcc access modules.



        2.2.7  Restrictions -

        The current Ethernet Access Routine (V1.1) implementation does
        not match what is documented in the MCC SRM V1.1 (pages 578 -
        608).

        The current implementation differs in the following way:  ALL
        ARGUMENTS have another "level of indirection" inserted.  For
        example, if an argument is described as:

                 "MCC usage: LAN_Address,
                  mechanism: by reference",

SOFTWARE NOTES FOR DEVELOPMENT ROUTINES AND TOOLS             Page 2-8



           the current code actually implements:

                 "MCC usage: pointer to LAN_Address,
                  mechanism: by reference".

        Affected routines are:

            - mcc_ea_request_802_packet()
            - mcc_ea_request_enet_packet()
            - mcc_ea_request_xid()
            - mcc_ea_show_enet_device_id()
            - mcc_ea_show_enet_devices()
            - mcc_ea_test_802_loopback()


        In the next available version of the Ethernet Access Routines,
        the implementation will be changed to match the MCC SRM V1.1.

        If these routines are needed before the next DECmcc version is
        available, isolate them in a separate module for easy porting.
        .
        .
        .

MCC_T_ID802        *p_target_addr;
MCC_T_Descriptor   *p_rcv_desc;
MCC_T_Descriptor   *p_time_stamp;
MCC_T_Unsigned32   *p_io_status;
MCC_T_Descriptor   *p_hpd,host_port_used_desc;
MCC_T_Unsigned32   *p_rc,*p_rt;
MCC_T_Descriptor  ,

#ifdef MCC_V11
MCC_T_Descriptor *p_hpud = &host_port_used_desc;
#endif


                .
                .
                .
#ifdef MCC_V11

        /* Need to use OLD mcc_ea routine interface. */
        /*  Request 802 XID  */ 

        stat = mcc_ea_request_xid(&p_target_addr,&p_hpd,&p_rc,
				&p_rt,&p_time_stamp,&p_rcv_desc,&p_hpud,
				&p_io_status); 
#else
        /*  Request 802 XID  */ 

        stat = mcc_ea_request_xid(p_target_addr,p_hpd,p_rc,p_rt,
				p_time_stamp,p_rcv_desc,&host_port_used_desc,
				p_io_status); 
#endif