Subject: Re: if_ie status.
To: Michael Richardson <mcr@latour.sandelman.ocunix.on.ca>
From: Holger Veit <Holger.Veit@gmd.de>
List: port-sun3
Date: 04/13/1994 11:36:33
[...]
>   I thank Intel for neglecting to document in any form the
> "intermediate system control block pointer" --- ic/i82586.h and the
> other various code is particularly obscure on this count, and I only
> gleamed what was going on yesterday. Why is the iscp needed? I really
> don't know. 
>   
I also observed this long time ago, when one of my students tried to
design a PC board for the 586  (The 586, really! ;-)).
The ISCP is necessary because it is an initialization structure that is
modified by the 586. See example PL/M listing lines 324:
	ISCP.BUSY = 01H;	/* This words set by the CPU to 01H,
				   82586 clears it. */
Thus the ISCP must be located in RAM. In contrast, the SCP (at 0xffff4)
is in ROM (poor 8086 design). The interesting question that directly arises
is why such an init flag is not kept in the 586 itself (power on reset
sets a flipflop to 1, when the initialization is done, it is cleared),
or if it is necessary to have this in RAM why it is not kept together with
the SCB data.
The latter is the user interface structure, I understand that stuff which
is not intended for normal operation (init flag) should be placed elsewhere.
The internal flipflop is a bad solution, because it needs a separate I/O
port for read access, which would be an expensive solution, because
the 82586 was designed to use shared memory exclusively (ignore the question
how the Channel Attention bit is set). With the ISCP the CPU can monitor
the reset phase of the LAN controller.
I believe (from the gap in the "preliminary" data sheet) that the necessity
of such a flag was detected in later design stages, and since real designers
like to write doc as much as real programmers do, the update of the data
sheet was simply forgotten. The (not only Intel) data books are full of
such missing features. Should not happen, though.

-- 
         Dr. Holger Veit                   | INTERNET: Holger.Veit@gmd.de
|  |   / GMD-SET German National Research  | Phone: (+49) 2241 14 2448
|__|  /  Center for Computer Science       | Fax:   (+49) 2241 14 2342
|  | /   Schloss Birlinghoven              | Had a nightmare yesterday:
|  |/    53754 St. Augustin, Germany       | My system started up with
                                           | ... Booting vmunix.el ...

------------------------------------------------------------------------------