Subject: Re: [PATCH 3/3] First cut at PReP support for arch/powerpc

From: Gabriel Paubert <[email-masked]>
Date: Tue, 3 Jul 2007 11:51:14 +0200

On Mon, Jul 02, 2007 at 01:51:42PM +0200, Segher Boessenkool wrote:
> >>+			external-control;
> >>
> >>Really?
> >
> >Well, is anybody actually using eciwx/ecowx?
> 
> That's not the point -- the device tree should only
> say "external-control" if the CPU actually supports
> it; AFAIK, that's 601 only.

I wonder whether you are mixing up external control
and direct-store segments (the "T" bit in segment registers).

>>From my docs, external control has been supported by many 
processors, up to many variants of the 750 and even 7440/7450. 
Now I've never seen any hardware which could make use of these 
instructions (you'd need a device on the processor bus that 
reacts to the special bus cycles generated by the ec[io]wx 
instructions, since no host bridge I've ever met handles them. 
I've not seen support for external control in the Linux kernel 
either (you'd need to setup the EAR SPR and probablly to modify
it on context switches).

OTOH, the direct-store segments were only implemented in the 
original 601, 603 (not 603e) and 604 processors (can't remember 
about the 604e) and even then the 601 had special features
in this area.

> 
> >>+	pci@80000000 {
> >>+		device_type = "pci";
> >>+		compatible = "prep";
> >>
> >>Is that specific enough?
> >
> >On the MVME5100, actually the mapping is more CHRP like, and PCI I/O
> >space is smaller and at a higher address.
> 
> Right, so it's not; "compatible" should specify the
> model of PCI host bridge, instead.

Well, the PCI host bridge is reprogrammable in a very flexible way
and  and I actually wrote a boot loader that reprograms it the
way I wanted address space to look like. I shall send it to
you in a PM (it is quite big, it includes an x86 emulator
which is able to initialize the VGA PMC modules I have by
running the BIOS).

	Regards,
	Gabriel