Large PCI region mapping 8272

Milligan, Keath kmilligan at
Tue Nov 23 03:15:23 EST 2004

Well, I've confirmed that I have the right platform files and I've enabled
debugging in most of the related files.

At this point, I am specifically concerned about code in
arch/ppc/kernel/mpc10x_common.c and m8260_setup.c.

In mpc10x_common.c there is a setup switch statement that has the following
case for the 8272ADS:

#if defined CONFIG_MPC8272ADS || defined CONFIG_ADS8266
		case MPC10X_MEM_MAP_826x:
#if 0 /* zhx */
					"PCI host bridge");

			pci_init_resource (&hose->mem_resources[0],
					"PCI host bridge");

This seems to be limiting resources to a0000000-afffffff and
80000000-9fffffff. Does anyone know where these hard-coded values come from?

Also in m8260_setup.c, more hard-coded ranges appear in m8260_map_io().

These would seem to suggest the 8272ADS is pretty limited on the amount of
PCI-mapped memory that it can handle.

-----Original Message-----
From: Marc Leeman [mailto:marc.leeman at] 
Sent: Friday, November 19, 2004 4:34 AM
To: Milligan, Keath
Cc: linuxppc-dev at
Subject: Re: Large PCI region mapping 8272

> Could someone point me in the right direction to getting everything
> initialized and mapped correctly?

I had the same impression (that the PCI initialisation) was not quite
right. After some investigation, it was me that used a wrong platform
file (overzealous deleting and copying to minimise custom code).

>From what I understand (after a brief look in the files), most of the
changes can be localised in that file.

You can enable debugging in  (IIRC) -#define DEBUG-
to have a more verbose look at what is happening.

The same goes for quircks.c and pci.c (in drivers/ somewhere).

In any case, the pci mapping calls your platform dependent fixes. 

ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul

More information about the Linuxppc-dev mailing list