disallow building powermac and tsi108 without PCI
Subsystems (7)
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/9 move 82xx/83xx/86xx Kconfig options to platform selection
The cores used in the MPC82xx/83xx/86xx embedded controllers are very similar to those in the 32 bit general-purpose processors, so it makes sense to treat them as the same CPU family.
Choosing between the embedded platforms and the multiplatform code is now done in the platform menu, but functionally everything stays the same.
arch/powerpc/platforms/Kconfig +24 -1
@@ -2,7 +2,7 @@ menu "Platform support" choice prompt "Machine type" - depends on PPC64 || CLASSIC32 + depends on PPC64 || 6xx default PPC_MULTIPLATFORM config PPC_MULTIPLATFORM
@@ -16,8 +16,31 @@ config EMBEDDED6xx bool "Embedded 6xx/7xx/7xxx-based board" depends on PPC32 && (BROKEN||BROKEN_ON_SMP) +config PPC_82xx + bool "Freescale 82xx" + depends on 6xx + +config PPC_83xx + bool "Freescale 83xx" + depends on 6xx + select FSL_SOC + select 83xx + select WANT_DEVICE_TREE + +config PPC_86xx + bool "Freescale 86xx" + depends on 6xx + select FSL_SOC + select FSL_PCIE + select ALTIVEC + help + The Freescale E600 SoCs have 74xx cores. endchoice +config CLASSIC32 + def_bool y + depends on 6xx && PPC_MULTIPLATFORM + source "arch/powerpc/platforms/pseries/Kconfig" source "arch/powerpc/platforms/iseries/Kconfig" source "arch/powerpc/platforms/chrp/Kconfig"
arch/powerpc/platforms/Kconfig.cputype +11 -42
68 lines not on this page · raw message
arch/powerpc/platforms/82xx/Kconfig +1 -1
@@ -1,5 +1,5 @@ choice - prompt "Machine Type" + prompt "82xx Board Type" depends on PPC_82xx default MPC82xx_ADS
arch/powerpc/platforms/83xx/Kconfig +1 -1
@@ -1,5 +1,5 @@ choice - prompt "Machine Type" + prompt "83xx Board Type" depends on PPC_83xx default MPC834x_MDS
arch/powerpc/platforms/86xx/Kconfig +1 -1
@@ -1,5 +1,5 @@ choice - prompt "Machine Type" + prompt "86xx Board Type" depends on PPC_86xx default MPC8641_HPCN
--
Re: [patch 1/9] move 82xx/83xx/86xx Kconfig options to platform selection
Quoted 36 lines · On Jun 15, 2007, at 7:05 PM, [email protected] wrote:
The cores used in the MPC82xx/83xx/86xx embedded controllers are very similar to those in the 32 bit general-purpose processors, so it makes sense to treat them as the same CPU family.
Choosing between the embedded platforms and the multiplatform code is now done in the platform menu, but functionally everything stays the same.
Signed-off-by Arnd Bergmann <[email protected]>Index: linux-2.6/arch/powerpc/platforms/Kconfig
===================================================================arch/powerpc/platforms/Kconfig +11
-1@@ -2,7 +2,7 @@ menu "Platform support" choice prompt "Machine type" - depends on PPC64 || CLASSIC32 + depends on PPC64 || 6xx default PPC_MULTIPLATFORM config PPC_MULTIPLATFORM@@ -16,8 +16,31 @@ config EMBEDDED6xx bool "Embedded 6xx/7xx/7xxx-based board" depends on PPC32 && (BROKEN||BROKEN_ON_SMP) +config PPC_82xx + bool "Freescale 82xx" + depends on 6xx + +config PPC_83xx + bool "Freescale 83xx" + depends on 6xx + select FSL_SOC + select 83xx + select WANT_DEVICE_TREE
arch/powerpc/platforms/Kconfig config EMBEDDED6xx · line 38
Quoted 10 lines
arch/powerpc/platforms/Kconfig +9
-0+ +config PPC_86xx + bool "Freescale 86xx" + depends on 6xx + select FSL_SOC + select FSL_PCIE + select ALTIVEC + help + The Freescale E600 SoCs have 74xx cores. endchoice
is it feasible to have 83xx/86xx go 'multiplatform' but not 82xx? There are more annoyances about CPM2 support that are not clean such that you couldn't build support for different 82xx systems into the same kernel. Today we only support one 82xx system in ARCH=powerpc, but I'd rather we not move it until we clean up those issues. (the same is true of 85xx).
- k
Re: [patch 1/9] move 82xx/83xx/86xx Kconfig options to platform selection
In reply to [email protected]Quoted 17 lines · On Sat, Jun 16, 2007 at 02:05:12AM +0200, [email protected] wrote:
The cores used in the MPC82xx/83xx/86xx embedded controllers are very similar to those in the 32 bit general-purpose processors, so it makes sense to treat them as the same CPU family.
Choosing between the embedded platforms and the multiplatform code is now done in the platform menu, but functionally everything stays the same.
Signed-off-by Arnd Bergmann <[email protected]>Index: linux-2.6/arch/powerpc/platforms/Kconfig
===================================================================arch/powerpc/platforms/Kconfig +0
-0@@ -16,8 +16,31 @@ config EMBEDDED6xx bool "Embedded 6xx/7xx/7xxx-based board" depends on PPC32 && (BROKEN||BROKEN_ON_SMP)
<snip>
arch/powerpc/platforms/Kconfig config EMBEDDED6xx · line 42
Quoted 3 lines
arch/powerpc/platforms/Kconfig +3
-0+config CLASSIC32 + def_bool y + depends on 6xx && PPC_MULTIPLATFORM
^^^^^^^^^^^^^^^^^^^^
Arnd, is this really what you wanted? With it, none of the embedded classics have CLASSIC32 defined which means they don't get TAU or ALTIVEC defined which isn't good.
Mark
Re: [patch 1/9] move 82xx/83xx/86xx Kconfig options to platform selection
Quoted 7 lines · Mark A. Greer
arch/powerpc/platforms/Kconfig config EMBEDDED6xx · line 42
Quoted 3 lines
arch/powerpc/platforms/Kconfig +3
-0+config CLASSIC32 + def_bool y + depends on 6xx && PPC_MULTIPLATFORM^^^^^^^^^^^^^^^^^^^^Arnd, is this really what you wanted? With it, none of the embedded classics have CLASSIC32 defined which means they don't get TAU or ALTIVEC defined which isn't good.
Sorry, this was the result of a wrong patch reordering. In my initial patch set I ended up with 6xx == CLASSIC32 and PPC_MULTIPLATFORM=y, but then I backed out a few patches in the middle.
I guess the best is to do another patch that moves PPC_EMBEDDED6xx into PPC_MULTIPLATFORM again and leaves this one as it is. Alternatively, we could kill CONFIG_CLASSIC32 entirely as it is used only in a few places. Especially after I resubmit my CPU type selection patch again, which allows you do it in a more fine grained way.
Which systems in particular should allow CONFIG_TAU? Is there a more specific dependency than (6xx && !(82xx || 83xx || 86xx || 52xx))?
Arnd <><
Re: [patch 1/9] move 82xx/83xx/86xx Kconfig options to platform selection
Quoted 2 lines
Which systems in particular should allow
CONFIG_TAU? Is there a more specific dependency than (6xx && !(82xx || 83xx || 86xx || 52xx))?
7xx and 7xxx CPUs (G3 and G4). Nothing earlier (according to the IEEE article introducing the TAU), maybe some later units have it though (but I think they have incompatible things with a similar function).
TAU is broken on many CPU models btw (it works, just gives back nonsense results).
Segher
Re: [patch 1/9] move 82xx/83xx/86xx Kconfig options to platform selection
In reply to Arnd BergmannQuoted 10 lines · Arnd Bergmann
Quoted 7 lines · Mark A. Greer
arch/powerpc/platforms/Kconfig config EMBEDDED6xx · line 42
Quoted 3 lines
arch/powerpc/platforms/Kconfig +3
-0+config CLASSIC32 + def_bool y + depends on 6xx && PPC_MULTIPLATFORM^^^^^^^^^^^^^^^^^^^^Arnd, is this really what you wanted? With it, none of the embedded classics have CLASSIC32 defined which means they don't get TAU or ALTIVEC defined which isn't good.
Quoted 3 lines
Sorry, this was the result of a wrong patch reordering. In my initial patch set I ended up with 6xx == CLASSIC32 and PPC_MULTIPLATFORM=y, but then I backed out a few patches in the middle.
Ah, okay.
Quoted 5 lines
I guess the best is to do another patch that moves
PPC_EMBEDDED6xxintoPPC_MULTIPLATFORMagain and leaves this one as it is. Alternatively, we could killCONFIG_CLASSIC32entirely as it is used only in a few places. Especially after I resubmit my CPU type selection patch again, which allows you do it in a more fine grained way.
Yes, it seems like getting rid of CLASSIC32 would be okay since it is hardly used.
Quoted 2 lines
Which systems in particular should allow
CONFIG_TAU? Is there a more specific dependency than (6xx && !(82xx || 83xx || 86xx || 52xx))?
I think Segher pretty much answered this. We definitely need to get ALTIVEC back soon for 74xx--currently SIGILL's my init when booting. Since it sounds like you're still tweaking things in Kconfig files, I'll leave it to you to take care of it. If not, just let me know.
Mark
PATCH 2/9 autoselect optimal -mcpu= flag by platform
In reply to a message not in the archiveWe can choose the -mcpu= gcc flags for compiling the kernel based on the platform that we build for. In case of multiplatform kernels, this chooses a setting for a common subset.
When using a platform type that can use different CPUs, a new option CONFIG_PPC_CPU_SELECTION can be enabled to select more specifically which CPUs the kernel will be able to run on.
This replaces the CONFIG_POWER4_ONLY option with an much more generic approach.
Also, when CONFIG_PPC_CPU_SELECTION is set, it is now possible to select a CPU to tune for by means of the -mtune= option.
I tried to be very careful when coding the specific rules into the Kconfig language, but it would be good to have a few people sanity-checking them.
arch/powerpc/platforms/4xx/Kconfig +11 -0
@@ -87,6 +87,7 @@ endmenu # 40x specific CPU modules, selected based on the board above. config NP405H bool + select CPU_405 #depends on ASH # OAK doesn't exist but wanted to keep this around for any future 403GCX boards
@@ -94,6 +95,7 @@ config 403GCX bool #depends on OAK select IBM405_ERR51 + select CPU_403 config 405GP bool
@@ -102,19 +104,23 @@ config 405GP config 405EP bool + select CPU_405 config 405GPR bool + select CPU_405 config VIRTEX_II_PRO bool select IBM405_ERR77 select IBM405_ERR51 + select CPU_405 config STB03xxx bool select IBM405_ERR77 select IBM405_ERR51 + select CPU_405 # 40x errata/workaround config symbols, selected by the CPU models above
@@ -168,20 +174,25 @@ config 440EP bool select PPC_FPU select IBM440EP_ERR42 + select CPU_440 config 440GP bool select IBM_NEW_EMAC_ZMII + select CPU_440 config 440GX bool + select CPU_440 config 440SP bool + select CPU_440 config 440A bool depends on 440GX + select CPU_440 default y # 44x errata/workaround config symbols, selected by the CPU models above
arch/powerpc/platforms/52xx/Kconfig +2 -0
@@ -25,12 +25,14 @@ config PPC_EFIKA select RTAS_PROC select PPC_MPC52xx select PPC_NATIVE + select CPU_603e default n config PPC_LITE5200 bool "Freescale Lite5200 Eval Board" depends on PPC_MULTIPLATFORM && PPC32 select PPC_MPC5200 + select CPU_603e default n
arch/powerpc/platforms/82xx/Kconfig +1 -0
@@ -10,6 +10,7 @@ config MPC82xx_ADS select 8272 select 8260 select FSL_SOC + select CPU_603e help This option enables support for the MPC8272 ADS board
arch/powerpc/platforms/83xx/Kconfig +6 -0
@@ -6,6 +6,7 @@ choice config MPC8313_RDB bool "Freescale MPC8313 RDB" select DEFAULT_UIMAGE + select CPU_603e help This option enables support for the MPC8313 RDB board.
@@ -13,6 +14,7 @@ config MPC832x_MDS bool "Freescale MPC832x MDS" select DEFAULT_UIMAGE select QUICC_ENGINE + select CPU_603e help This option enables support for the MPC832x MDS evaluation board.
@@ -20,12 +22,14 @@ config MPC832x_RDB bool "Freescale MPC832x RDB" select DEFAULT_UIMAGE select QUICC_ENGINE + select CPU_603e help This option enables support for the MPC8323 RDB board. config MPC834x_MDS bool "Freescale MPC834x MDS" select DEFAULT_UIMAGE + select CPU_603e help This option enables support for the MPC 834x MDS evaluation board.
@@ -37,6 +41,7 @@ config MPC834x_MDS config MPC834x_ITX bool "Freescale MPC834x ITX" select DEFAULT_UIMAGE + select CPU_603e help This option enables support for the MPC 834x ITX evaluation board.
@@ -47,6 +52,7 @@ config MPC836x_MDS bool "Freescale MPC836x MDS" select DEFAULT_UIMAGE select QUICC_ENGINE + select CPU_603e help This option enables support for the MPC836x MDS Processor Board.
arch/powerpc/platforms/86xx/Kconfig +1 -0
@@ -7,6 +7,7 @@ config MPC8641_HPCN bool "Freescale MPC8641 HPCN" select PPC_I8259 select DEFAULT_UIMAGE + select CPU_74xx help This option enables support for the MPC8641 HPCN board.
arch/powerpc/platforms/Kconfig.cputype +225 -2
234 lines not on this page · raw message
arch/powerpc/platforms/cell/Kconfig +1 -0
@@ -20,6 +20,7 @@ config PPC_IBM_CELL_BLADE select MMIO_NVRAM select PPC_UDBG_16550 select UDBG_RTAS_CONSOLE + select CPU_CELL menu "Cell Broadband Engine options" depends on PPC_CELL
arch/powerpc/platforms/celleb/Kconfig +1 -0
@@ -2,6 +2,7 @@ config PPC_CELLEB bool "Toshiba's Cell Reference Set 'Celleb' Architecture" depends on PPC_MULTIPLATFORM && PPC64 select PPC_CELL + select CPU_CELL select PPC_OF_PLATFORM_PCI select HAS_TXX9_SERIAL select PPC_UDBG_BEAT
arch/powerpc/platforms/embedded6xx/Kconfig +4 -0
@@ -8,6 +8,7 @@ config LINKSTATION select FSL_SOC select PPC_UDBG_16550 if SERIAL_8250 select DEFAULT_UIMAGE + select CPU_603e help Select LINKSTATION if configuring for one of PPC- (MPC8241) based NAS systems from Buffalo Technology. So far only
@@ -20,6 +21,7 @@ config MPC7448HPC2 select TSI108_BRIDGE select DEFAULT_UIMAGE select PPC_UDBG_16550 + select CPU_74xx help Select MPC7448HPC2 if configuring for Freescale MPC7448HPC2 (Taiga) platform
@@ -28,6 +30,7 @@ config PPC_HOLLY bool "PPC750GX/CL with TSI10x bridge (Hickory/Holly)" select TSI108_BRIDGE select PPC_UDBG_16550 + select CPU_7xx help Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval Board with TSI108/9 bridge (Hickory/Holly)
@@ -37,6 +40,7 @@ config PPC_PRPMC2800 select MV64X60 select NOT_COHERENT_CACHE select WANT_DEVICE_TREE + select CPU_74xx help This option enables support for the Motorola PrPMC2800 board endchoice
arch/powerpc/platforms/maple/Kconfig +1 -0
@@ -11,6 +11,7 @@ config PPC_MAPLE select PPC_RTAS select MMIO_NVRAM select ATA_NONSTANDARD if ATA + select CPU_970 default n help This option enables support for the Maple 970FX Evaluation Board.
arch/powerpc/platforms/pasemi/Kconfig +1 -0
@@ -5,6 +5,7 @@ config PPC_PASEMI select MPIC select PPC_UDBG_16550 select PPC_NATIVE + select CPU_PA6T help This option enables support for PA Semi's PWRficient line of SoC processors, including PA6T-1682M
arch/powerpc/platforms/powermac/Kconfig +1 -0
@@ -15,6 +15,7 @@ config PPC_PMAC64 select MPIC_U3_HT_IRQS select GENERIC_TBSYNC select PPC_970_NAP + select CPU_970 default y
arch/powerpc/platforms/ps3/Kconfig +1 -0
@@ -2,6 +2,7 @@ config PPC_PS3 bool "Sony PS3 (incomplete)" depends on PPC_MULTIPLATFORM && PPC64 select PPC_CELL + select CPU_CELL select USB_ARCH_HAS_OHCI select USB_OHCI_LITTLE_ENDIAN select USB_OHCI_BIG_ENDIAN_MMIO
arch/powerpc/Makefile +7 -12
@@ -78,24 +78,23 @@ LINUXINCLUDE += $(LINUXINCLUDE-y) CHECKFLAGS += -m$(SZ) -D__powerpc__ -D__powerpc$(SZ)__ +OPTFLAGS := $(call cc-option,$(CONFIG_PPC_MCPU)) $(call cc-option,$(CONFIG_PPC_MTUNE)) + +# compilers older than 4.0.0 can only set -maltivec in 64 bit mode +# when compiling for 970 ifeq ($(CONFIG_PPC64),y) GCC_BROKEN_VEC := $(shell if [ $(call cc-version) -lt 0400 ] ; then echo "y"; fi) - ifeq ($(CONFIG_POWER4_ONLY),y) ifeq ($(CONFIG_ALTIVEC),y) ifeq ($(GCC_BROKEN_VEC),y) - CFLAGS += $(call cc-option,-mcpu=970) -else - CFLAGS += $(call cc-option,-mcpu=power4) + OPTFLAGS := $(call cc-option,-mcpu=970) $(call cc-option,$(CONFIG_PPC_MTUNE)) endif -else - CFLAGS += $(call cc-option,-mcpu=power4) endif -else - CFLAGS += $(call cc-option,-mtune=power4) endif endif +CFLAGS += $(OPTFLAGS) + # No AltiVec instruction when building kernel CFLAGS += $(call cc-option,-mno-altivec)
@@ -107,10 +106,6 @@ CFLAGS += $(call cc-option,-funit-at-a-t # often slow when they are implemented at all CFLAGS += -mno-string -ifeq ($(CONFIG_6xx),y) -CFLAGS += -mcpu=powerpc -endif - cpu-as-$(CONFIG_4xx) += -Wa,-m405 cpu-as-$(CONFIG_6xx) += -Wa,-maltivec cpu-as-$(CONFIG_POWER4) += -Wa,-maltivec
--
Re: [patch 2/9] autoselect optimal -mcpu= flag by platform
Quoted 12 lines · On Jun 15, 2007, at 7:05 PM, [email protected] wrote:
We can choose the -mcpu= gcc flags for compiling the kernel based on the platform that we build for. In case of multiplatform kernels, this chooses a setting for a common subset.
When using a platform type that can use different CPUs, a new option
CONFIG_PPC_CPU_SELECTIONcan be enabled to select more specifically which CPUs the kernel will be able to run on.This replaces the
CONFIG_POWER4_ONLYoption with an much more generic approach.
Quoted 8 lines
Also, when
CONFIG_PPC_CPU_SELECTIONis set, it is now possible to select a CPU to tune for by means of the -mtune= option.I tried to be very careful when coding the specific rules into the
Kconfiglanguage, but it would be good to have a few people sanity-checking them.Signed-off-by Arnd Bergmann <[email protected]>
Is there a reason we don't distinguish between 7400/7410 and 74{4,5}x? Is it because we dont have any discrete systems with just a 7400 on it?
Also I'd suggest we have the config options be a 1:1 matching for the -mcpu/-mtune options in gcc for the following cases:
arch/powerpc/platforms/Kconfig.cputype config E200 · line 248
Quoted 4 lines
arch/powerpc/platforms/Kconfig.cputype +4
-0+ default "-mcpu=750" if CPU_7xx + default "-mcpu=7450" if CPU_74xx + default "-mcpu=860" if PPC_8xx + default "-mcpu=8540" if PPC_85xx
So if in the future we have code scheduling for 8599 or some other variant we don't have to go change the Kconfig just add to it.
- k
Re: [patch 2/9] autoselect optimal -mcpu= flag by platform
Quoted 3 lines
Is there a reason we don't distinguish between 7400/7410 and 74{4,5} x? Is it because we dont have any discrete systems with just a 7400 on it?
It's quite important for 74[01]0 systems to not run code tuned for 7450. Older Macs have such CPUs, the user should have the option to tune for it.
Quoted 7 lines
Also I'd suggest we have the config options be a 1:1 matching for the -mcpu/-mtune options in gcc for the following cases:
arch/powerpc/platforms/Kconfig.cputype config E200 · line 248
Quoted 4 lines
arch/powerpc/platforms/Kconfig.cputype +4
-0+ default "-mcpu=750" if CPU_7xx + default "-mcpu=7450" if CPU_74xx + default "-mcpu=860" if PPC_8xx + default "-mcpu=8540" if PPC_85xx
It would be good to do that for all cases, unfortunately GCC doesn't recognise all CPU/core names as -mcpu options.
Segher
Re: [patch 2/9] autoselect optimal -mcpu= flag by platform
In reply to Kumar GalaQuoted 22 lines · you
Quoted 19 lines · On Jun 15, 2007, at 7:05 PM, [email protected] wrote:
We can choose the -mcpu= gcc flags for compiling the kernel based on the platform that we build for. In case of multiplatform kernels, this chooses a setting for a common subset.
When using a platform type that can use different CPUs, a new option
CONFIG_PPC_CPU_SELECTIONcan be enabled to select more specifically which CPUs the kernel will be able to run on.This replaces the
CONFIG_POWER4_ONLYoption with an much more generic approach.Also, when
CONFIG_PPC_CPU_SELECTIONis set, it is now possible to select a CPU to tune for by means of the -mtune= option.I tried to be very careful when coding the specific rules into the
Kconfiglanguage, but it would be good to have a few people sanity-checking them.
Quoted 5 lines
Quoted 1 line
Signed-off-by Arnd Bergmann <[email protected]>Is there a reason we don't distinguish between 7400/7410 and 74{4,5} x? Is it because we dont have any discrete systems with just a 7400 on it?
No, I just didn't know that there was a difference. I had looked at the gcc source and found that gcc produces the same instruction for both, but I didn't bother to look at the optimizations. From all I can tell, -mcpu=7400 is identical to -mcpu=7450 -mtune=750.
Can you look through the patch again to see which of the platforms that have a 7400 instead of 7450 type CPUs?
Quoted 10 lines
Also I'd suggest we have the config options be a 1:1 matching for the -mcpu/-mtune options in gcc for the following cases:
arch/powerpc/platforms/Kconfig.cputype config E200 · line 248
Quoted 4 lines
arch/powerpc/platforms/Kconfig.cputype +4
-0+ default "-mcpu=750" if CPU_7xx + default "-mcpu=7450" if CPU_74xx + default "-mcpu=860" if PPC_8xx + default "-mcpu=8540" if PPC_85xxSo if in the future we have code scheduling for 8599 or some other variant we don't have to go change the
Kconfigjust add to it.
I'm not sure I understand what you would like to see this, would you like them to be simply renamed to CPU_750/CPU_7450/CPU_860/CPU_8540 or rather add more options for 740/801/821/823/8548, which are treated as aliases of the others?
For 74xx, I guess you already convinced me and for 85xx, I'll trust your word if you think that we will need future flags in the future.
I'm not so sure about 7xx and 8xx though. I could not find any code in gcc that knows about the difference between the CPUs in either family, and it doesn't seem like anyone is working on changing that. Anything I missed there?
Arnd <><
Re: [patch 2/9] autoselect optimal -mcpu= flag by platform
Quoted 8 lines
Quoted 3 lines
Is there a reason we don't distinguish between 7400/7410 and 74{4,5} x? Is it because we dont have any discrete systems with just a 7400 on it?
No, I just didn't know that there was a difference. I had looked at the gcc source and found that gcc produces the same instruction for both, but I didn't bother to look at the optimizations. From all I can tell, -mcpu=7400 is identical to -mcpu=7450 -mtune=750.
7400 is pretty much like a 750 + AltiVec and a few deeper queues. The "FP full" stall is also gone IIRC, or maybe that was not before the 7450. Nothing that GCC knows how to model, anyway.
Quoted 11 lines
Quoted 10 lines
Also I'd suggest we have the config options be a 1:1 matching for the -mcpu/-mtune options in gcc for the following cases:
arch/powerpc/platforms/Kconfig.cputype config E200 · line 248
Quoted 4 lines
arch/powerpc/platforms/Kconfig.cputype +4
-0+ default "-mcpu=750" if CPU_7xx + default "-mcpu=7450" if CPU_74xx + default "-mcpu=860" if PPC_8xx + default "-mcpu=8540" if PPC_85xxSo if in the future we have code scheduling for 8599 or some other variant we don't have to go change the
Kconfigjust add to it.
Quoted 4 lines
I'm not sure I understand what you would like to see this, would you like them to be simply renamed to CPU_750/CPU_7450/CPU_860/CPU_8540 or rather add more options for 740/801/821/823/8548, which are treated as aliases of the others?
GCC treats many of those as aliases, too.
Segher
Re: [patch 2/9] autoselect optimal -mcpu= flag by platform
In reply to [email protected]arch/powerpc/platforms/Kconfig.cputype config E200 · line 55
Quoted 2 lines · [email protected] writes:
arch/powerpc/platforms/Kconfig.cputype +2
-0+config PPC_CPU_SELECTION + bool "Advanced CPU selection"
Please provide some reasonable help for this option. As it is at the moment, I get asked whether I want "Advanced CPU selection" - whatever that is - and as a user I have no clue whether I want it or not. The prompt is pretty uninformative. Do I want to be able to select an advanced CPU? Well I suppose I do - who would want to select a retarded CPU? - but that's presumably not what the question's about.
Paul.
PATCH 3/9 rename add_bridge to avoid namespace clashes
In reply to a message not in the archiveMany platforms currently define their own add_bridge function, some of them globally. This breaks some multiplatform configurations. Prefixing each of these functions with the platform name avoids this problem.
arch/powerpc/platforms/82xx/mpc82xx_ads.c +2 -2
@@ -515,7 +515,7 @@ static int m82xx_pci_exclude_device(u_chreturn PCIBIOS_SUCCESSFUL ; } -void __init add_bridge (struct device_node *np) +static void __init mpc82xx_add_bridge (struct device_node *np) {int len;struct pci_controller *hose;
@@ -584,7 +584,7 @@ static void __init mpc82xx_ads_setup_arc#ifdef CONFIG_PCI ppc_md.pci_exclude_device = m82xx_pci_exclude_device;for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +mpc82xx_add_bridge (np);of_node_put (np);#endif
arch/powerpc/platforms/83xx/mpc836x_mds.c +1 -1
@@ -86,7 +86,7 @@ static void __init mpc836x_mds_setup_arc#ifdef CONFIG_PCI for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +mpc83xx_add_bridge (np); ppc_md.pci_exclude_device = mpc83xx_exclude_device;#endif
arch/powerpc/platforms/83xx/mpc83xx.h +1 -1
@@ -27,7 +27,7 @@* mpc83xx_* files. Mostly for use by mpc83xx_setup */ -extern int add_bridge (struct device_node *dev); +extern int mpc83xx_add_bridge (struct device_node *dev);extern int mpc83xx_exclude_device (u_char bus,u_char devfn);extern void mpc83xx_restart (char *cmd);extern long mpc83xx_time_init (void );
arch/powerpc/platforms/83xx/mpc8313_rdb.c +1 -1
@@ -49,7 +49,7 @@ static void __init mpc8313_rdb_setup_arc#ifdef CONFIG_PCI for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +mpc83xx_add_bridge (np); ppc_md.pci_exclude_device = mpc83xx_exclude_device;#endif
arch/powerpc/platforms/83xx/mpc832x_mds.c +1 -1
@@ -80,7 +80,7 @@ static void __init mpc832x_sys_setup_arc#ifdef CONFIG_PCI for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +mpc83xx_add_bridge (np); ppc_md.pci_exclude_device = mpc83xx_exclude_device;#endif
arch/powerpc/platforms/83xx/mpc832x_rdb.c +1 -1
@@ -53,7 +53,7 @@ static void __init mpc832x_rdb_setup_arc#ifdef CONFIG_PCI for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +mpc83xx_add_bridge (np); ppc_md.pci_exclude_device = mpc83xx_exclude_device;#endif
arch/powerpc/platforms/83xx/mpc834x_itx.c +1 -1
@@ -59,7 +59,7 @@ static void __init mpc834x_itx_setup_arc#ifdef CONFIG_PCI for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +mpc83xx_add_bridge (np); ppc_md.pci_exclude_device = mpc83xx_exclude_device;#endif
arch/powerpc/platforms/83xx/mpc834x_mds.c +1 -1
@@ -129,7 +129,7 @@ static void __init mpc834x_mds_setup_arc#ifdef CONFIG_PCI for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +mpc83xx_add_bridge (np); ppc_md.pci_exclude_device = mpc83xx_exclude_device;#endif
arch/powerpc/platforms/83xx/pci.c +1 -1
@@ -45,7 +45,7 @@ int mpc83xx_exclude_device(u_char bus, ureturn PCIBIOS_SUCCESSFUL ; } -int __init add_bridge (struct device_node *dev) +int __init mpc83xx_add_bridge (struct device_node *dev) {int len;struct pci_controller *hose;
arch/powerpc/platforms/85xx/mpc85xx.h +1 -1
@@ -15,4 +15,4 @@*/ extern void mpc85xx_restart (char *); -extern int add_bridge (struct device_node *dev); +extern int mpc85xx_add_bridge (struct device_node *dev);
arch/powerpc/platforms/85xx/mpc85xx_ads.c +1 -1
@@ -241,7 +241,7 @@ static void __init mpc85xx_ads_setup_arc#ifdef CONFIG_PCI for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +mpc85xx_add_bridge (np); ppc_md.pci_exclude_device = mpc85xx_exclude_device;#endif }
arch/powerpc/platforms/85xx/mpc85xx_cds.c +1 -1
@@ -257,7 +257,7 @@ static void __init mpc85xx_cds_setup_arc#ifdef CONFIG_PCI for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +mpc85xx_add_bridge (np); ppc_md.pcibios_fixup = mpc85xx_cds_pcibios_fixup; ppc_md.pci_exclude_device = mpc85xx_exclude_device;
arch/powerpc/platforms/85xx/mpc85xx_mds.c +1 -1
@@ -100,7 +100,7 @@ static void __init mpc85xx_mds_setup_arc#ifdef CONFIG_PCI for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) { -add_bridge (np); +mpc85xx_add_bridge (np); }of_node_put (np);#endif
arch/powerpc/platforms/85xx/pci.c +1 -1
@@ -36,7 +36,7 @@int mpc85xx_pci2_busno =0 ;#ifdef CONFIG_PCI -int __init add_bridge (struct device_node *dev) +int __init mpc85xx_add_bridge (struct device_node *dev) {int len;struct pci_controller *hose;
arch/powerpc/platforms/86xx/mpc86xx.h +1 -1
@@ -15,7 +15,7 @@* mpc86xx_* files. Mostly for use by mpc86xx_setup(). */ -extern int add_bridge (struct device_node *dev); +extern int mpc86xx_add_bridge (struct device_node *dev);extern int mpc86xx_exclude_device (u_char bus,u_char devfn);
arch/powerpc/platforms/86xx/mpc86xx_hpcn.c +1 -1
@@ -364,7 +364,7 @@ mpc86xx_hpcn_setup_arch(void)#ifdef CONFIG_PCI for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +mpc86xx_add_bridge (np); ppc_md.pci_exclude_device = mpc86xx_exclude_device;#endif
arch/powerpc/platforms/86xx/pci.c +1 -1
@@ -148,7 +148,7 @@ int mpc86xx_exclude_device(u_char bus, ureturn PCIBIOS_SUCCESSFUL ; } -int __init add_bridge (struct device_node *dev) +int __init mpc86xx_add_bridge (struct device_node *dev) {int len;struct pci_controller *hose;
arch/powerpc/platforms/embedded6xx/linkstation.c +2 -2
@@ -54,7 +54,7 @@ static struct mtd_partition linkstation_ }, }; -static int __init add_bridge (struct device_node *dev) +static int __init linkstation_add_bridge (struct device_node *dev) {int len;struct pci_controller *hose;
@@ -92,7 +92,7 @@ static void __init linkstation_setup_arc/* Lookup PCI host bridges */ for (np =NULL ; (np =of_find_node_by_type (np,"pci" )) !=NULL ;) -add_bridge (np); +linkstation_add_bridge (np);printk (KERN_INFO "BUFFALO Network Attached Storage Series\n" );printk (KERN_INFO "(C) 2002-2005 BUFFALO INC.\n" );
arch/powerpc/platforms/maple/pci.c +3 -3
@@ -444,7 +444,7 @@ static void __init setup_u3_ht(struct pc u3_ht = hose; } -static int __init add_bridge (struct device_node *dev) +static int __init maple_add_bridge (struct device_node *dev) {int len;struct pci_controller *hose;
@@ -541,7 +541,7 @@ void __init maple_pci_init(void)continue ;if ((of_device_is_compatible (np,"u4-pcie" ) ||of_device_is_compatible (np,"u3-agp" )) && -add_bridge (np) ==0 ) +maple_add_bridge (np) ==0 )of_node_get (np);if (of_device_is_compatible (np,"u3-ht" )) {
@@ -553,7 +553,7 @@ void __init maple_pci_init(void)/* Now setup the HyperTransport host if we found any */ -if (ht &&add_bridge (ht) !=0 ) +if (ht &&maple_add_bridge (ht) !=0 )of_node_put (ht);/* Setup the linkage between OF nodes and PHBs */
arch/powerpc/platforms/pasemi/pci.c +2 -2
@@ -132,7 +132,7 @@ static void __init setup_pa_pxp(struct p hose->cfg_data =ioremap (0xe0000000 ,0x10000000 ); } -static int __init add_bridge (struct device_node *dev) +static int __init pas_add_bridge (struct device_node *dev) {struct pci_controller *hose;
@@ -167,7 +167,7 @@ void __init pas_pci_init(void) }for (np =NULL ; (np =of_get_next_child (root, np)) !=NULL ;) -if (np->name && !strcmp (np->name,"pxp" ) && !add_bridge (np)) +if (np->name && !strcmp (np->name,"pxp" ) && !pas_add_bridge (np))of_node_get (np);of_node_put (root);
arch/powerpc/platforms/powermac/pci.c +3 -5
@@ -35,8 +35,6 @@ #define DBG(x...)#endif -static int add_bridge (struct device_node *dev); -/* XXX Could be per-controller, but I don't think we risk anything by * assuming we won't have both UniNorth and Bandit */ static int has_uninorth;
@@ -897,7 +895,7 @@ static void __init setup_u3_ht(struct pc* "pci" (a MPC106) and no bandit or chaos bridges, and contrariwise, * if we have one or more bandit or chaos bridges, we don't have a MPC106. */ -static int __init add_bridge (struct device_node *dev) +static int __init pmac_add_bridge (struct device_node *dev) {int len;struct pci_controller *hose;
@@ -1023,7 +1021,7 @@ void __init pmac_pci_init(void)if (strcmp (np->name,"bandit" ) ==0 ||strcmp (np->name,"chaos" ) ==0 ||strcmp (np->name,"pci" ) ==0 ) { -if (add_bridge (np) ==0 ) +if (pmac_add_bridge (np) ==0 )of_node_get (np); }if (strcmp (np->name,"ht" ) ==0 ) {
@@ -1037,7 +1035,7 @@ void __init pmac_pci_init(void)/* Probe HT last as it relies on the agp resources to be already * setup */ -if (ht &&add_bridge (ht) !=0 ) +if (ht &&pmac_add_bridge (ht) !=0 )of_node_put (ht);/* Setup the linkage between OF nodes and PHBs */
--
PATCH 4/9 mpc82xx_ads build fix
In reply to a message not in the archiveneeded for 6xx allyesconfig
arch/powerpc/platforms/82xx/mpc82xx_ads.c +1 -1
@@ -49,7 +49,7 @@#include <linux/fs_enet_pd.h> #include <sysdev/fsl_soc.h> -#include <../sysdev/cpm2_pic.h> +#include <../../sysdev/cpm2_pic.h> #include "pq2ads.h"
--
Re: [patch 4/9] mpc82xx_ads build fix
arch/powerpc/platforms/82xx/mpc82xx_ads.c line 52
Quoted 12 lines · On Sat, 16 Jun 2007 02:05:15 +0200 [email protected] wrote:
needed for 6xx allyesconfig
Signed-off-by Arnd Bergmann <[email protected]>arch/powerpc/platforms/82xx/mpc82xx_ads.c +1
-1@@ -49,7 +49,7 @@#include <linux/fs_enet_pd.h> #include <sysdev/fsl_soc.h> -#include <../sysdev/cpm2_pic.h> +#include <../../sysdev/cpm2_pic.h>
Does the include of <sysdev/fsl_soc.h> work? If so, then you should use <sysdev/cpm2_pic.h>. If not, then you have worse problems :-)
Signature · 3 lines
Cheers, Stephen Rothwell [email protected] http://www.canb.auug.org.au/~sfr/
PATCH 1/1 mpc82xx_ads build fix
This seems to be a small artifact of the conversion from arch/ppc.
---
arch/powerpc/platforms/82xx/mpc82xx_ads.c +1 -1
@@ -49,7 +49,7 @@#include <linux/fs_enet_pd.h> #include <sysdev/fsl_soc.h> -#include <../sysdev/cpm2_pic.h> +#include <sysdev/cpm2_pic.h> #include "pq2ads.h"
PATCH 5/9 kill isa_{io,mem}_base definitions for !PCI
In reply to a message not in the archiveWhen CONFIG_PCI is disabled, the definitions for isa_io_base, isa_mem_base and pci_dram_offset are entirely unused, but they can result in link failure because they are defined in multiple places.
The easiest fix is to just remove all these definitions.
arch/powerpc/platforms/83xx/mpc8313_rdb.c +0 -5
@@ -28,11 +28,6 @@ #define DBG(fmt...)#endif -#ifndef CONFIG_PCI -unsigned long isa_io_base =0 ; -unsigned long isa_mem_base =0 ; -#endif -/* ************************************************************************ * * Setup the architecture
arch/powerpc/platforms/83xx/mpc832x_mds.c +0 -5
@@ -49,11 +49,6 @@ #define DBG(fmt...)#endif -#ifndef CONFIG_PCI -unsigned long isa_io_base =0 ; -unsigned long isa_mem_base =0 ; -#endif -static u8 *bcsr_regs =NULL ;/* ************************************************************************
arch/powerpc/platforms/83xx/mpc832x_rdb.c +0 -5
@@ -32,11 +32,6 @@ #define DBG(fmt...)#endif -#ifndef CONFIG_PCI -unsigned long isa_io_base =0 ; -unsigned long isa_mem_base =0 ; -#endif -/* ************************************************************************ * * Setup the architecture
arch/powerpc/platforms/83xx/mpc834x_itx.c +0 -5
@@ -38,11 +38,6 @@#include "mpc83xx.h" -#ifndef CONFIG_PCI -unsigned long isa_io_base =0 ; -unsigned long isa_mem_base =0 ; -#endif -/* ************************************************************************ * * Setup the architecture
arch/powerpc/platforms/83xx/mpc834x_mds.c +0 -5
@@ -38,11 +38,6 @@#include "mpc83xx.h" -#ifndef CONFIG_PCI -unsigned long isa_io_base =0 ; -unsigned long isa_mem_base =0 ; -#endif -#define BCSR5_INT_USB 0x02/* Note: This is only for PB, not for PB+PIB * On PB only port0 is connected using ULPI */
arch/powerpc/platforms/83xx/mpc836x_mds.c +0 -5
@@ -55,11 +55,6 @@ #define DBG(fmt...)#endif -#ifndef CONFIG_PCI -unsigned long isa_io_base =0 ; -unsigned long isa_mem_base =0 ; -#endif -static u8 *bcsr_regs =NULL ;/* ************************************************************************
arch/powerpc/platforms/85xx/mpc85xx_ads.c +0 -5
@@ -38,11 +38,6 @@#include <asm/fs_pd.h> #endif -#ifndef CONFIG_PCI -unsigned long isa_io_base =0 ; -unsigned long isa_mem_base =0 ; -#endif -#ifdef CONFIG_PCI static int mpc85xx_exclude_device (u_char bus,u_char devfn) {
arch/powerpc/platforms/85xx/mpc85xx_cds.c +0 -5
@@ -47,11 +47,6 @@#include <sysdev/fsl_soc.h> #include "mpc85xx.h" -#ifndef CONFIG_PCI -unsigned long isa_io_base =0 ; -unsigned long isa_mem_base =0 ; -#endif -static int cds_pci_slot =2 ;static volatile u8 *cadmus;
arch/powerpc/platforms/85xx/mpc85xx_mds.c +0 -5
@@ -59,11 +59,6 @@ #define DBG(fmt...)#endif -#ifndef CONFIG_PCI -unsigned long isa_io_base =0 ; -unsigned long isa_mem_base =0 ; -#endif -/* ************************************************************************ * * Setup the architecture
arch/powerpc/platforms/86xx/mpc86xx_hpcn.c +0 -7
@@ -44,13 +44,6 @@ #define DBG(fmt...) do { } while(0)#endif -#ifndef CONFIG_PCI -unsigned long isa_io_base =0 ; -unsigned long isa_mem_base =0 ; -unsigned long pci_dram_offset =0 ; -#endif - -#ifdef CONFIG_PCI static void mpc86xx_8259_cascade (unsigned int irq,struct irq_desc *desc) {
arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c +0 -6
@@ -54,12 +54,6 @@#define MPC7448HPC2_PCI_CFG_PHYS 0xfb000000 -#ifndef CONFIG_PCI -isa_io_base =MPC7448_HPC2_ISA_IO_BASE ; -isa_mem_base =MPC7448_HPC2_ISA_MEM_BASE ; -pci_dram_offset =MPC7448_HPC2_PCI_MEM_OFFSET ; -#endif -extern void _nmask_and_or_msr (unsigned long nmask,unsigned long or_val);int mpc7448_hpc2_exclude_device (u_char bus,u_char devfn)
include/asm-powerpc/mpc86xx.h +0 -6
@@ -19,12 +19,6 @@#ifdef CONFIG_PPC_86xx -#define _IO_BASE isa_io_base -#define _ISA_MEM_BASE isa_mem_base -#ifdef CONFIG_PCI -#define PCI_DRAM_OFFSET pci_dram_offset -#endif -#define CPU0_BOOT_RELEASE 0x01000000#define CPU1_BOOT_RELEASE 0x02000000#define CPU_ALL_RELEASED (CPU0_BOOT_RELEASE | CPU1_BOOT_RELEASE)
--
Re: [patch 5/9] kill isa_{io,mem}_base definitions for !PCI
Quoted 8 lines · On Jun 15, 2007, at 7:05 PM, [email protected] wrote:
When
CONFIG_PCIis disabled, the definitions forisa_io_base,isa_mem_baseandpci_dram_offsetare entirely unused, but they can result in link failure because they are defined in multiple places.The easiest fix is to just remove all these definitions.
Signed-off-by Arnd Bergmann <[email protected]>
[snip]
Quoted 6 lines
Index:
linux-2.6/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
===================================================================arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c +0
-0@@ -54,12 +54,6 @@
arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c line 58
Quoted 10 lines
arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c +0
-6#define MPC7448HPC2_PCI_CFG_PHYS 0xfb000000 -#ifndef CONFIG_PCI -isa_io_base =MPC7448_HPC2_ISA_IO_BASE ; -isa_mem_base =MPC7448_HPC2_ISA_MEM_BASE ; -pci_dram_offset =MPC7448_HPC2_PCI_MEM_OFFSET ; -#endif -extern void _nmask_and_or_msr (unsigned long nmask,unsigned long or_val);
can you remove the defines in mpc7448_hpc2.h since they are appear to only be used here.
[snip]
- k
Re: [patch 5/9] kill isa_{io,mem}_base definitions for !PCI
Quoted 11 lines · Kumar Gala
Quoted 8 lines
arch/powerpc/platforms/83xx/mpc8313_rdb.c +0
-6-#ifndef CONFIG_PCI -isa_io_base =3D MPC7448_HPC2_ISA_IO_BASE; -isa_mem_base =3D MPC7448_HPC2_ISA_MEM_BASE; -pci_dram_offset =3D MPC7448_HPC2_PCI_MEM_OFFSET; -#endif -=A0extern void
_nmask_and_or_msr(unsigned long nmask, unsigned long =A0 or_val);=20
can you remove the defines inmpc7448_hpc2.hsince they are appear to =A0 only be used here.
Ok, good idea.
PATCH 6/9 fix building without PCI
In reply to a message not in the archiveSome code looks can be configured to be built without PCI support, but does not work properly.
arch/powerpc/platforms/52xx/efika.c +2 -0
@@ -252,6 +252,8 @@ define_machine(efika) .progress = rtas_progress, .get_boot_time = rtas_get_boot_time, .calibrate_decr = generic_calibrate_decr, +#ifdef CONFIG_PCI .phys_mem_access_prot = pci_phys_mem_access_prot, +#endif };
arch/powerpc/platforms/embedded6xx/linkstation.c +2 -1
@@ -56,6 +56,7 @@ static struct mtd_partition linkstation_static int __init linkstation_add_bridge (struct device_node *dev) { +#ifdef CONFIG_PCI int len;struct pci_controller *hose;const int *bus_range;
@@ -78,7 +79,7 @@ static int __init linkstation_add_bridge/* Interpret the "ranges" property */ /* This also maps the I/O region and sets isa_io/mem_base */ pci_process_bridge_OF_ranges (hose, dev,1 ); - +#endif return 0 ; }
--
PATCH 7/9 disallow building powermac and tsi108 without PCI
In reply to a message not in the archiveThe TSI108 code and the 32 bit powermac and chrp platforms have dependency on PCI that is not easy or desirable to get rid of.
The easiest fix is to always select CONFIG_PCI if one of those platforms is enabled.
arch/powerpc/platforms/embedded6xx/Kconfig +2 -0
@@ -18,6 +18,7 @@ config LINKSTATION config MPC7448HPC2 bool "Freescale MPC7448HPC2(Taiga)" + select PCI select TSI108_BRIDGE select DEFAULT_UIMAGE select PPC_UDBG_16550
@@ -31,6 +32,7 @@ config PPC_HOLLY select TSI108_BRIDGE select PPC_UDBG_16550 select CPU_7xx + select PCI help Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval Board with TSI108/9 bridge (Hickory/Holly)
arch/powerpc/platforms/powermac/Kconfig +1 -0
@@ -2,6 +2,7 @@ config PPC_PMAC bool "Apple PowerMac based machines" depends on PPC_MULTIPLATFORM select MPIC + select PCI select PPC_INDIRECT_PCI if PPC32 select PPC_MPC106 if PPC32 select PPC_NATIVE
arch/powerpc/Kconfig +1 -1
@@ -435,7 +435,7 @@ config MCA config PCI bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \ || PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \ - || MPC7448HPC2 || PPC_PS3 || PPC_HOLLY + || PPC_PS3 default y if !40x && !CPM2 && !8xx && !PPC_83xx \ && !PPC_85xx && !PPC_86xx default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
arch/powerpc/platforms/chrp/Kconfig +1 -0
@@ -8,4 +8,5 @@ config PPC_CHRP select PPC_MPC106 select PPC_UDBG_16550 select PPC_NATIVE + select PCI default y
arch/powerpc/platforms/chrp/Makefile +1 -2
@@ -1,4 +1,3 @@ -obj-y += setup.o time.o pegasos_eth.o -obj-$(CONFIG_PCI) += pci.o +obj-y += setup.o time.o pegasos_eth.o pci.o obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_NVRAM) += nvram.o
--
Quoted 22 lines · On Jun 15, 2007, at 7:05 PM, [email protected] wrote:
The TSI108 code and the 32 bit powermac and chrp platforms have dependency on PCI that is not easy or desirable to get rid of.
The easiest fix is to always select
CONFIG_PCIif one of those platforms is enabled.Signed-off-by Arnd Bergmann <[email protected]>Index: linux-2.6/arch/powerpc/platforms/embedded6xx/Kconfig
===================================================================arch/powerpc/platforms/embedded6xx/Kconfig +1
-0@@ -18,6 +18,7 @@ config LINKSTATION config MPC7448HPC2 bool "Freescale MPC7448HPC2(Taiga)" + select PCI select TSI108_BRIDGE select DEFAULT_UIMAGE select PPC_UDBG_16550
arch/powerpc/platforms/embedded6xx/Kconfig config PPC_HOLLY · line 38
Quoted 7 lines
arch/powerpc/platforms/embedded6xx/Kconfig +1
-0@@ -31,6 +32,7 @@ config PPC_HOLLY select TSI108_BRIDGE select PPC_UDBG_16550 select CPU_7xx + select PCI help Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval Board with TSI108/9 bridge (Hickory/Holly)
Any reason we just don't add the select to the config TSI108_BRIDGE so any future TSI108 based systems get it as well?
- k
Quoted 7 lines · Kumar Gala
Quoted 7 lines
(quoted diff) +0
-0@@ -31,6 +32,7 @@ config PPC_HOLLY=A0=A0=A0=A0=A0=A0select
TSI108_BRIDGE=A0=A0=A0=A0=A0=A0selectPPC_UDBG_16550=A0=A0=A0=A0=A0=A0selectCPU_7xx
+=A0=A0=A0=A0=A0select PCI
=A0=A0=A0=A0=A0=A0help
=A0=A0=A0=A0=A0=A0 =A0SelectPPC_HOLLYif configuring for an IBM 750GX/=
CL Eval
Quoted 5 lines
Quoted 1 line
=A0=A0=A0=A0=A0=A0 =A0Board with TSI108/9 bridge (Hickory/Holly)
=20
Any reason we just don't add the select to the configTSI108_BRIDGE=A0 so any future TSI108 based systems get it as well?
=20
Sounds good, I'll update the patch.
I also noticed that part of the TSI108 code appears to be written so support !PCI configurations, so in theory it should be possible fix up the problems with that. The reason I didn't was that it ended up as quite a big number of changes that I couldn't properly test.
The other question is of course whether it's useful to allow it.
Arnd <><
PATCH 8/9 fix conflicting mpc85xx board headers
In reply to a message not in the archiveIn order to allow multiplatform kernels, we can not have header files that define the same symbols. Probably these board specific headers should just go away entirely, but for the easiest fix is to rename the conflicting symbols.
arch/powerpc/platforms/85xx/mpc85xx_ads.h +7 -7
@@ -29,14 +29,14 @@#define MPC85xx_CPM_OFFSET (0x80000)#define CPM_MAP_ADDR (get_immrbase() + MPC85xx_CPM_OFFSET) -#define CPM_IRQ_OFFSET 60 +#define MPC85xxADS_CPM_IRQ_OFFSET 60 -#define SIU_INT_SMC1 ((uint)0x04+CPM_IRQ_OFFSET) -#define SIU_INT_SMC2 ((uint)0x05+CPM_IRQ_OFFSET) -#define SIU_INT_SCC1 ((uint)0x28+CPM_IRQ_OFFSET) -#define SIU_INT_SCC2 ((uint)0x29+CPM_IRQ_OFFSET) -#define SIU_INT_SCC3 ((uint)0x2a+CPM_IRQ_OFFSET) -#define SIU_INT_SCC4 ((uint)0x2b+CPM_IRQ_OFFSET) +#define SIU_INT_SMC1 ((uint)0x04+MPC85xxADS_CPM_IRQ_OFFSET) +#define SIU_INT_SMC2 ((uint)0x05+MPC85xxADS_CPM_IRQ_OFFSET) +#define SIU_INT_SCC1 ((uint)0x28+MPC85xxADS_CPM_IRQ_OFFSET) +#define SIU_INT_SCC2 ((uint)0x29+MPC85xxADS_CPM_IRQ_OFFSET) +#define SIU_INT_SCC3 ((uint)0x2a+MPC85xxADS_CPM_IRQ_OFFSET) +#define SIU_INT_SCC4 ((uint)0x2b+MPC85xxADS_CPM_IRQ_OFFSET)/* FCC1 Clock Source Configuration. These can be * redefined in the board specific file.
arch/powerpc/platforms/85xx/mpc85xx_cds.h +1 -1
@@ -36,7 +36,7 @@#define PIRQ1A MPC85xx_IRQ_EXT11#define NR_8259_INTS 16 -#define CPM_IRQ_OFFSET NR_8259_INTS +#define MPC85xxCDS_CPM_IRQ_OFFSET NR_8259_INTS#define MPC85xx_OPENPIC_IRQ_OFFSET 80
--
PATCH 9/9 enable multiplatform support for embedded boards
In reply to a message not in the archiveThis makes it possible to build kernels for any combination of board types that can coexisting in the same binary. It is for reference only right now, because there are still concerns that it might make future optimizations harder to implement.
arch/powerpc/platforms/52xx/Kconfig +17 -20
@@ -1,38 +1,35 @@ config PPC_MPC52xx - bool + bool "Freescale 52xx" select FSL_SOC - default n - -config PPC_MPC5200 - bool - select PPC_MPC52xx - default n - -config PPC_MPC5200_BUGFIX - bool "MPC5200 (L25R) bugfix support" - depends on PPC_MPC5200 - default n - help - Enable workarounds for original MPC5200 errata. This is not required - for MPC5200B based boards. - - It is safe to say 'Y' here + depends on 6xx config PPC_EFIKA bool "bPlan Efika 5k2. MPC5200B based computer" - depends on PPC_MULTIPLATFORM && PPC32 + depends on PPC_MPC52xx select PPC_RTAS select RTAS_PROC - select PPC_MPC52xx select PPC_NATIVE select CPU_603e default n config PPC_LITE5200 bool "Freescale Lite5200 Eval Board" - depends on PPC_MULTIPLATFORM && PPC32 + depends on PPC_MPC52xx select PPC_MPC5200 select CPU_603e default n +config PPC_MPC5200 + bool + depends on PPC_MPC52xx + default n + +config PPC_MPC5200_BUGFIX + bool "MPC5200 (L25R) bugfix support" + depends on PPC_MPC5200 + default n + help + Enable workarounds for original MPC5200 errata. This is not required + for MPC5200B based boards. + It is safe to say 'Y' here
arch/powerpc/platforms/82xx/Kconfig +5 -7
@@ -1,21 +1,19 @@ -choice - prompt "82xx Board Type" - depends on PPC_82xx - default MPC82xx_ADS +config PPC_82xx + bool "Freescale 82xx" + depends on PPC_MULTIPLATFORM && 6xx + select CPU_603e config MPC82xx_ADS bool "Freescale MPC82xx ADS" + depends on PPC_82xx select DEFAULT_UIMAGE select PQ2ADS select 8272 select 8260 select FSL_SOC - select CPU_603e help This option enables support for the MPC8272 ADS board -endchoice - config PQ2ADS bool default n
arch/powerpc/platforms/83xx/Kconfig +13 -12
@@ -1,35 +1,38 @@ -choice - prompt "83xx Board Type" - depends on PPC_83xx - default MPC834x_MDS +config PPC_83xx + bool "Freescale 83xx" + depends on PPC_MULTIPLATFORM && 6xx + select FSL_SOC + select 83xx + select WANT_DEVICE_TREE + select CPU_603e config MPC8313_RDB bool "Freescale MPC8313 RDB" + depends on PPC_83xx select DEFAULT_UIMAGE - select CPU_603e help This option enables support for the MPC8313 RDB board. config MPC832x_MDS bool "Freescale MPC832x MDS" + depends on PPC_83xx select DEFAULT_UIMAGE select QUICC_ENGINE - select CPU_603e help This option enables support for the MPC832x MDS evaluation board. config MPC832x_RDB bool "Freescale MPC832x RDB" + depends on PPC_83xx select DEFAULT_UIMAGE select QUICC_ENGINE - select CPU_603e help This option enables support for the MPC8323 RDB board. config MPC834x_MDS bool "Freescale MPC834x MDS" + depends on PPC_83xx select DEFAULT_UIMAGE - select CPU_603e help This option enables support for the MPC 834x MDS evaluation board.
@@ -40,8 +43,8 @@ config MPC834x_MDS config MPC834x_ITX bool "Freescale MPC834x ITX" + depends on PPC_83xx select DEFAULT_UIMAGE - select CPU_603e help This option enables support for the MPC 834x ITX evaluation board.
@@ -50,14 +53,12 @@ config MPC834x_ITX config MPC836x_MDS bool "Freescale MPC836x MDS" + depends on PPC_83xx select DEFAULT_UIMAGE select QUICC_ENGINE - select CPU_603e help This option enables support for the MPC836x MDS Processor Board. -endchoice - config PPC_MPC831x bool select PPC_UDBG_16550
arch/powerpc/platforms/85xx/Kconfig +5 -7
@@ -1,28 +1,27 @@ -choice - prompt "Machine Type" - depends on PPC_85xx - default MPC8540_ADS - config MPC8540_ADS bool "Freescale MPC8540 ADS" + depends on PPC_85xx select DEFAULT_UIMAGE help This option enables support for the MPC 8540 ADS board config MPC8560_ADS bool "Freescale MPC8560 ADS" + depends on PPC_85xx select DEFAULT_UIMAGE help This option enables support for the MPC 8560 ADS board config MPC85xx_CDS bool "Freescale MPC85xx CDS" + depends on PPC_85xx select DEFAULT_UIMAGE help This option enables support for the MPC85xx CDS board config MPC85xx_MDS bool "Freescale MPC85xx MDS" + depends on PPC_85xx select DEFAULT_UIMAGE # select QUICC_ENGINE help
@@ -30,12 +29,11 @@ config MPC85xx_MDS config MPC8544_DS bool "Freescale MPC8544 DS" + depends on PPC_85xx select DEFAULT_UIMAGE help This option enables support for the MPC8544 DS board -endchoice - config MPC8540 bool select PPC_UDBG_16550
arch/powerpc/platforms/86xx/Kconfig +10 -7
@@ -1,18 +1,21 @@ -choice - prompt "86xx Board Type" - depends on PPC_86xx - default MPC8641_HPCN +config PPC_86xx + bool "Freescale 86xx" + depends on PPC_MULTIPLATFORM && 6xx + select FSL_SOC + select FSL_PCIE + select ALTIVEC + select CPU_74xx + help + The Freescale E600 SoCs have 74xx cores. config MPC8641_HPCN bool "Freescale MPC8641 HPCN" + depends on PPC_86xx select PPC_I8259 select DEFAULT_UIMAGE - select CPU_74xx help This option enables support for the MPC8641 HPCN board. -endchoice - config MPC8641 bool select PPC_INDIRECT_PCI
arch/powerpc/platforms/Kconfig +4 -37
60 lines not on this page · raw message
arch/powerpc/platforms/embedded6xx/Kconfig +9 -4
@@ -1,9 +1,11 @@ -choice - prompt "Machine Type" - depends on EMBEDDED6xx +config EMBEDDED6xx + bool "Embedded 6xx" + depends on 6xx config LINKSTATION bool "Linkstation / Kurobox(HG) from Buffalo" + depends on EMBEDDED6xx + depends on (BROKEN || BROKEN_ON_SMP) select MPIC select FSL_SOC select PPC_UDBG_16550 if SERIAL_8250
@@ -18,6 +20,8 @@ config LINKSTATION config MPC7448HPC2 bool "Freescale MPC7448HPC2(Taiga)" + depends on EMBEDDED6xx + depends on (BROKEN || BROKEN_ON_SMP) select PCI select TSI108_BRIDGE select DEFAULT_UIMAGE
@@ -29,6 +33,7 @@ config MPC7448HPC2 config PPC_HOLLY bool "PPC750GX/CL with TSI10x bridge (Hickory/Holly)" + depends on EMBEDDED6xx select TSI108_BRIDGE select PPC_UDBG_16550 select CPU_7xx
@@ -39,13 +44,13 @@ config PPC_HOLLY config PPC_PRPMC2800 bool "Motorola-PrPMC2800" + depends on EMBEDDED6xx select MV64X60 select NOT_COHERENT_CACHE select WANT_DEVICE_TREE select CPU_74xx help This option enables support for the Motorola PrPMC2800 board -endchoice config TSI108_BRIDGE bool
--