Subject: Re: VAX 8200 MP spinup code.
To: None <thorpej@zembu.com>
From: Anders Magnusson <ragge@ludd.luth.se>
List: tech-smp
Date: 06/10/2000 19:29:51
> On Sat, Jun 10, 2000 at 05:18:56PM +0200, Anders Magnusson wrote:
> 
>  > It cannot do printf's from the slave CPUs yet. A VAX CPU has an internal
>  > register that is the console output that is only accessible on the local
>  > CPU, so printf on a slave CPU writes the output out on the slave CPU 
>  > console (which is not what is wished). I don't know yet how this shall
>  > be handled.
> 
> Hm.  On the slave, you might have to write into a ring buffer
> and then send an IPI to the master to have it output the contents
> of the ring buffer onto the console.  This could be done via the
> cnputc routine.
> 
Yep, but it's not that simple. There are two scenarios:

	1) In-kernel printf. It uses the cnputc routine that instead sends
	   the character via IPI in some way. Can be done with some
	   simple code to get a synchronous write.
	2) A process talks to /dev/console. Now both receive and 
	   transmit needs to be sone in some more intelligent fashion.

I think Ultrix handles both of these scenarios in the high-level
code, so that all console I/O are always done on the master CPU.

-- Ragge