Thread (17 messages) 17 messages, 6 authors, 2006-07-20

Re: [HACK] add sandpoint + flattened dt support to arch/powerpc/boot

From: Mark A. Greer <hidden>
Date: 2006-07-20 00:39:15

On Thu, Jul 20, 2006 at 12:29:04AM +0200, Guennadi Liakhovetski wrote:
On Wed, 19 Jul 2006, Mark A. Greer wrote:
quoted
Ben and I have talked a little bit privately and the ball is in my court
to produce a set of patches.  To that end, I have them ready so expect to
see them shortly.
Great! So, I can really relax and enjoy my holiday next week in beautiful 
Eifel:-) And as your patches arrive we'll see how best to integrate 
kurobox with them.
Okay, but don't be in too much of a rush.  I'm sure there will be
comments that will induce changes to those patches.
One question so far. Looking at your sandpoint.dts pci map:

	ranges = <80000000 80000000 70000000	/* pci mem space */
		  fc000000 fc000000 00100000	/* EUMB */
		  fe000000 fe000000 00c00000	/* pci i/o space */
		  fec00000 fec00000 00300000	/* pci cfg regs */
		  fef00000 fef00000 00100000>;	/* pci iack */

I can match hardware addresses against defines in 
include/asm-ppc/mpc10x.h,
Don't spend a lot of time in ppc, powerpc is where you need to live now.
but virtual one - is the map above just an 
example and anyway-not-used, or is it a new mapping, or am I missing 
something and it has always been like that (1-to-1)? At least this comment
The above mapping are physical addresses and are a part of the hardware
description passed into the kernel (i.e., the fdt).  It knows nothing
about virtual addresses.
 * MAP B (CHRP Map)
 *   Processor: 0xfe000000 - 0xfebfffff -> PCI I/O: 0x00000000 - 0x00bfffff
 *   Processor: 0x80000000 - 0xbfffffff -> PCI MEM: 0x80000000 - 0xbfffffff
 *   PCI MEM:   0x00000000 -> Processor System Memory: 0x00000000
This table is telling you how the hardware maps processor physical
memory space to/from PCI I/O and MEM space.  For example, if the
processor reads physical location 0xfe000000 that will go across the
hostbridge and read PCI I/O location/register 0 (assuming there is a
PCI device set to respond to that PCI I/O address).  If a PCI device
reads PCI MEM address 0 it will go across the hostbridge and read
address 0 of the processor's physical address space (i.e., system
memory address 0).
 *   EUMB mapped to: ioremap_base - 0x00100000 (ioremap_base - 1 MB)

seems to contradict with the above map in pci io area, as well as this 
one:

	 * Want processor accesses of 0xFDxxxxxx to be mapped
	 * to PCI memory space at 0x00000000.  Do not want

Actually, I cannot even match these 2 together?
You need to read the "Address Map B Options Register" section of the
824x or 10x manuals.  This is talking about an alias capability of the
hardware that I enabled...but as I think about it, I probably shouldn't
have. 8-P  Anyway, if you get confused by a comment, read the code--code
doesn't lie...it may be wrong, but it doesn't lie. ;)

Mark
--
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help