<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 24 May 2004 19:15:11 +0100
From   : Sprow <info@...>
Subject: Re: Tube / Master Coprocessor question

In article <16562.6777.640000.345763@...>,
   Angus Duggan <angus.duggan@...> wrote:
> Mike Tomlinson writes:
> >The lower 4 bytes form the actual address; if the upper 2 bytes are FF,
> >the code is loaded/run in the  I/O processor, if they're 00, it's
> >loaded/run in the second processor.  Can't recall offhand what values
> >other than FF or 00 mean, if anything (my AUG's in the loft.)

> Actually, 0xFFFFxxxx is reserved for the I/O processor. 

Yup, all the FS APIs set aside 4 bytes for load/exec but some FS's skimp on
how these are actually stored. For example DFS ran out of space in the
catalogue so 

> DNFS variants only support 18-bit addresses, rather than store a full 3 
> bytes for each.

Ahem, 4 bytes.

In article <40B1B407.7020902@...>,
   Richard Gellman <splodge@...> wrote:
> >>Note that contrary to the expected behavior, the data is not 
> >>signalled by interrupts.
> >
> >I'd have to disagree there. A cursory disassembly of the IRQ handler shows
> >that messaging from the IO processor to the 2nd processor is done
> >exclusively with interrupts, and the high speed block data transfers with
> >NMIs.
> >
> Note aftwards I said "almost" all transfers :) 

S'pose it depends what you define as "almost all transfers", as in "almost
all of the operating system entry points" or "almost all of those by
frequency of use"
Sprow.
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>