![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: Sorry to bother you with this, but I've been diligently looking for answers from my contacts and from the web and "no joy" yet. I'm porting a set of vax vms drivers to alpha vms. Additionally, these are drivers for DR11-C (and W) devices, so we're using a 3rd party PCI look-alike cards. The third party has drivers, written in vax macro (compiled on the alpha), and I have the original vax drivers. My strategy is to read both drivers and cull the code I need into a new drivers, written in C. It's going pretty well but I am running into a few problems 1. I am having trouble finding documentation on the system macros, e.g. $EQU. I have found some doc in the VAX device driver support reference, but not all ($EQU is an example, but I know what that means). 2. The existing 3rd party driver has a workaround in it. The workaround is most easily explained by the code: BBS #IDB$V_MCJ, - ; Did they fix IOHANDLE allocation yet? IDB$L_FLAGS(R5), 1492$ MOVL #MCJ$S_MCJ+<2*8>, R1 ; Nope, allocate 2 IOHANDLE pointers JSB G^EXE$ALONONPAGED In converting to C I did find the call_entry routine exe$std_alononpaged, but it takes different args than the JSB version. and I don't know where to find documentation on that routine. The routine may not be needed (the bug may be fixed) but I still would like to figure out where to find documentation on these system routines - any of the online help libraries? Thanks for your help. I find it very hard to phrase detailed technical questions in an understandable manner, so if this is not clear please let me know. David Elins delins@foliage.com The Answer is : When writing drivers, access to the OpenVMS source listings CD-ROM set is often very beneficial. QB-MT1AB-E8 OpenVMS Alpha Source Listings CD-ROM QT-MT1AB-Q8 OpenVMS Alpha Source Listings CD-ROM Updates QB-001AB-E8 OpenVMS VAX Source Listings CD-ROM QT-001AB-Q8 OpenVMS VAX Source Listings CD-ROM Updates For system macros not referenced in the OpenVMS device driver documentation, access to the listings or techniques such as the extraction and examination of the contents of the Macro32 libraries can be used. Current information on OpenVMS Alpha device drivers is available in the Digital Press book "Writing OpenVMS Alpha Device Drivers in C". (http://www.bh.com/) Information on OpenVMS VAX device drivers is available in older OpenVMS documentation sets and in the "archived" bookshelf of the OpenVMS VAX CD-ROM documentation set -- the OpenVMS VAX device driver information was retired some time ago. The OpenVMS VAX Device Support Manual, and the OpenVMS VAX Device Support Reference Manual were the two manuals most commonly involved. (Older versions of the OpenVMS Alpha device driver documentation are also available in the archived manual bookshelf.)
|