RSTS/E CSR Access in MACRO

From: John A. Dundas III <dundas_at_caltech.edu>
Date: Tue Mar 11 18:23:00 2003

Well, nobody else is responding (publicly) so I'll take a stab at it.

At 5:23 PM -0800 3/10/03, Christopher McNabb wrote:
>I've been attempting to do some macro programming of the DEQNA Ethernet
>card under RSTS/E. All of the system calls to actually send/receive
>packetes seem to be very well documented and fairly easy to use. What I
>can't find in any of the manuals (or on the net) is a system call that
>will return the card's MAC address.

I'm not aware of such a function either.

>I know that the MAC address is the first six bytes of the CSR.

Uh, I don't have my DEQNA manual in front of me at the moment, but are you
sure that's correct? Usually the CSR implements bits that control the
module itself and provide status information. The MAC address should be
readable (and writable too), but through some specific function code to the
device. In any event, the correct sequence of commands can surely be
obtained from the manual.

>However,
>I'm not sure how to go about accessing the device's CSR from within
>RSTS/E.

[I'll probably get flamed here, but I'll proceed anyway. My experience is
primarily from RSTS V7 and prior. While I did write system KBMs, run-time
libraries, etc. However these were in user mode, not kernel mode. Never
did get around to writing the virtual disk driver I wanted to. DEC came
out with their own in V8 or V9.]

In order to talk directly to a device under RSTS you need to be in kernel
mode, not user mode. I am not aware of a RSTS-native way to do something
like RSX or VMS connect-to-interrupt directives or the like. Similarly
there is not a (published) way to map I/O space to user space. This is
really the kind of thing you need to accomplish what you are asking.

>Ideally, I'd use a subroutine that would return any network
>card's MAC given its type (XH or XE) and unit number.

I imagine it could be done, but you'd have to do some kernel-mode hacking
to accomplish it.

>I know that I can't be the first person to have ever tried to do this,
>so I'm turning to those who should know - you guys. Any help would be
>greatly appreciated.

Afraid that's the best I can offer. You might check the various internals
manuals at <http://elvira.stacken.kth.se/rstsdoc/rsts-doc-v80/> and see if
that gives you any hints. If you do figure it out, please post the results.

John
Received on Tue Mar 11 2003 - 18:23:00 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:36:11 BST