[Info-vax] Bounce buffers, was: Re: $sndopr() and dsc64$descriptor

Simon Clubley clubley at remove_me.eisner.decus.org-Earth.UFP
Fri Mar 12 13:58:12 EST 2021


On 2021-03-12, Simon Clubley <clubley at remove_me.eisner.decus.org-Earth.UFP> wrote:
> On 2021-03-12, John Reagan <xyzzy1959 at gmail.com> wrote:
>> For those of you keeping score at home, I checked the sources (Macro-32) and it seems to only deal with 32-bit descriptors.  Since the $SND* services use descriptors to describe non-strings, the internal consumers would also need to handle 64-bit addresses and/or lengths > 64K.  I guess it is the 64-bit addresses that is the "most common" request (ie, this thread).   I think we can deliver this change at the same time we ship object-oriented BASIC.
>>
>
> Interesting. I think David is going to look forward to playing with
> OO Basic from next month. :-)
>
> On a more serious note, has anyone ever considered implementing a
> bounce buffer in the system service interface for these problem
> system services ?
>
> How easy would it be to mark a specific system service as being 32-bit
> only so the system service interface could implement a bounce buffer
> and do the copying to and from the user's buffer as required if the
> user's buffer was outside of the 32-bit address range ?
>

To put this another way, what I am wondering is if some of the system
service processing of arguments could be pushed out to the interface
itself if there is more structured knowledge available to the interface
about what the system services support and so the interface could use
bounce buffers automatically as required ?

Since I have never seen the VMS code, I don't know how easy this would
be to implement for that code base, but in principle, this is no different
to working around hardware limits by also using bounce buffers.

> Simon.
>


-- 
Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.



More information about the Info-vax mailing list