On Wed, 22 Dec 2004, Johnny Billquist wrote:

> On Wed, 22 Dec 2004, Tom Ivar Helbekkmo wrote:
>
>> ian@beathoven.com (paramucho) writes:
>>
>>> I do have one question though, why isn't the line:
>>>
>>> csrbase = roundup(csrbase + devtab[i].csralign,
>>> devtab[i].csralign);
>>>
>>> included in the closing section of the routine below [...]

>>
>> Because I never noticed that bug? :-)
>>
>> Actually, the code in question won't even be reached. There is no
>> device that is in floating CSR space, but with a fixed interrupt
>> vector. If there were, my existing code would expect multiple devices
>> of that type to have individual vectors, but to share a CSR address.
>> That can't be right -- it would just be silly. So, in effect, the
>> whole "if (devtab[i].csr == FLOAT) {" group can be removed, and the
>> loop can be simplified to:

>
> A small additional nitpick.
> If I read the code correctly, you might skip vector addresses between
> devices. That's wrong, even though it's usually okay. Most systems
> automatically detect the vector anyhow. And some hardware use a software
> settable vector as well.
>
> Anyhow, it's only for the CSRs that one must skip addresses, in order to
> generate non-existant memory errors when one device type is finished.


Looking a bit more, I might be reading the code wrong, though.
Haven't really read through it. Just saw the roundup-stuff for the vector
calculations...

Johnny

Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt@update.uu.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
----------
To unsubscribe (or subscribe) from (to) this list, send a message to
info-pdp11-request@village.org, with the first line of the message
body being "unsubscribe" or "subscribe", respectively (without the quotes).