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