mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] Voyager subarchitecture for 2.5.44
@ 2002-10-19  6:12 James Bottomley
  2002-10-19  6:32 ` William Lee Irwin III
  0 siblings, 1 reply; 4+ messages in thread
From: James Bottomley @ 2002-10-19  6:12 UTC (permalink / raw)
  To: linux-kernel; +Cc: James.Bottomley

This patch adds SMP (and UP) support for voyager which is an (up to 32 way) 
SMP microchannel non-PC architecture.

The current patch includes a swap around of the timer code defines (available 
separately at http://linux-voyager.bkbits.net/timer-2.5) and a new 
CONFIG_X86_TRAMPOLINE config option to avoid the trampoline vpath.

The patch (156k) is available here:

http://www.hansenpartnership.com/voyager/files/voyager-2.5.44.diff

And also via bitkeeper at

http://linux-voyager.bkbits.net/voyager-2.5

James Bottomley


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Voyager subarchitecture for 2.5.44
  2002-10-19  6:12 [PATCH] Voyager subarchitecture for 2.5.44 James Bottomley
@ 2002-10-19  6:32 ` William Lee Irwin III
  2002-10-19 17:34   ` James Bottomley
  2002-10-21 12:35   ` Alan Cox
  0 siblings, 2 replies; 4+ messages in thread
From: William Lee Irwin III @ 2002-10-19  6:32 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-kernel

On Sat, Oct 19, 2002 at 01:12:52AM -0500, James Bottomley wrote:
> This patch adds SMP (and UP) support for voyager which is an (up to 32 way) 
> SMP microchannel non-PC architecture.
> The current patch includes a swap around of the timer code defines (available 
> separately at http://linux-voyager.bkbits.net/timer-2.5) and a new 
> CONFIG_X86_TRAMPOLINE config option to avoid the trampoline vpath.
> The patch (156k) is available here:
> http://www.hansenpartnership.com/voyager/files/voyager-2.5.44.diff
> And also via bitkeeper at
> http://linux-voyager.bkbits.net/voyager-2.5

This is a very interesting architecture. Could you describe vaguely (for
someone starved enough for time he might have trouble finding time to
examine your tree) how cpu wakeup with the VIC proceeds?

Also, I'd like to say this patch is impressively isolated from generic
i386 code. Although I've not tested, it seems very clear from the form
of the code that it will have no impact on UP i386 or other subarches.


Thanks,
Bill

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Voyager subarchitecture for 2.5.44
  2002-10-19  6:32 ` William Lee Irwin III
@ 2002-10-19 17:34   ` James Bottomley
  2002-10-21 12:35   ` Alan Cox
  1 sibling, 0 replies; 4+ messages in thread
From: James Bottomley @ 2002-10-19 17:34 UTC (permalink / raw)
  To: William Lee Irwin III, James Bottomley, linux-kernel

> This is a very interesting architecture. Could you describe vaguely
> (for someone starved enough for time he might have trouble finding
> time to examine your tree) how cpu wakeup with the VIC proceeds? 

You mean how the VIC boots?  Certainly.  Referring to the architecture in

http://www.hansenpartnership.com/voyager/L5arch.html

The VIC is basically a set of 8258 dyads (and voyager has up to 8 of them).  
The boot CPU can send a cross processor interrupt (CPI) to any VIC connected 
CPU.  However, the boot CPU can only modify its own VIC 8258 dyad, so theres a 
masquerade register that temporarily globally drives the VIC processor ID 
lines so that the boot CPU can lower the interrupt mask in a different VIC.

However, each CPU card has only one or two VIC connections, so booting the 
Quad cards is a sort of one-two trick: you VIC boot the VIC connected CPU 
(called the extended CPU) and then it QIC (Quad interrupt controller) boots 
the remaining CPUs.  The QIC works using a cache line interference mechanism 
(so writes to a particular part of memory trigger the CPI).  However, only 
CPUs local to the Quad can masquerade as each other to lower the QIC interrupt 
mask.

> Also, I'd like to say this patch is impressively isolated from generic
> i386 code. Although I've not tested, it seems very clear from the form
> of the code that it will have no impact on UP i386 or other subarches.

Well technically, there's the boot time GDT separation (make boot GDT smaller 
and simpler than the runtime) which affects all x86.

There's also the TSC timer problem which is fixed in the voyager tree, but 
which is still being discussed on lkml.  Without turning off the TSC entirely 
clock jitter is so bad in 2.4.43 that it causes hangs in the softirq code (I 
have four CPUs at 66Mhz and 4 at 166Mhz).

James




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Voyager subarchitecture for 2.5.44
  2002-10-19  6:32 ` William Lee Irwin III
  2002-10-19 17:34   ` James Bottomley
@ 2002-10-21 12:35   ` Alan Cox
  1 sibling, 0 replies; 4+ messages in thread
From: Alan Cox @ 2002-10-21 12:35 UTC (permalink / raw)
  To: William Lee Irwin III; +Cc: James Bottomley, Linux Kernel Mailing List

On Sat, 2002-10-19 at 07:32, William Lee Irwin III wrote:
> Also, I'd like to say this patch is impressively isolated from generic
> i386 code. Although I've not tested, it seems very clear from the form
> of the code that it will have no impact on UP i386 or other subarches.

Its been in -ac for ages - it doesnt cause problems. Would be nice if
James had an update diff btw;)


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-10-21 12:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-19  6:12 [PATCH] Voyager subarchitecture for 2.5.44 James Bottomley
2002-10-19  6:32 ` William Lee Irwin III
2002-10-19 17:34   ` James Bottomley
2002-10-21 12:35   ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®