From c1becedc8871645278832fabdc6fe138082a495b Mon Sep 17 00:00:00 2001 From: Russell King Date: Wed, 10 Aug 2011 10:23:45 +0100 Subject: ARM: enable ARM_PATCH_PHYS_VIRT by default Enable virtual to physical translation patching by default in all kernels. Hide the option behind EMBEDDED. This can still be turned off if people desire, and they know what they're doing, to shrink the size of the kernel to a minimum. Acked-by: Will Deacon Signed-off-by: Russell King --- arch/arm/Kconfig | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 5ebc5d922ea1..8882a535cf44 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -195,7 +195,8 @@ config VECTORS_BASE The base address of exception vectors. config ARM_PATCH_PHYS_VIRT - bool "Patch physical to virtual translations at runtime" + bool "Patch physical to virtual translations at runtime" if EMBEDDED + default y depends on !XIP_KERNEL && MMU depends on !ARCH_REALVIEW || !SPARSEMEM help @@ -207,6 +208,10 @@ config ARM_PATCH_PHYS_VIRT of physical memory is at a 16MB boundary, or theoretically 64K for the MSM machine class. + Only disable this option if you know that you do not require + this feature (eg, building a kernel for a single machine) and + you need to shrink the kernel to the minimal size. + config ARM_PATCH_PHYS_VIRT_16BIT def_bool y depends on ARM_PATCH_PHYS_VIRT && ARCH_MSM @@ -301,7 +306,6 @@ config ARCH_AT91 select ARCH_REQUIRE_GPIOLIB select HAVE_CLK select CLKDEV_LOOKUP - select ARM_PATCH_PHYS_VIRT if MMU help This enables support for systems based on the Atmel AT91RM9200, AT91SAM9 and AT91CAP9 processors. -- cgit v1.2.2 From daece59689e76ed55d8863cae04993679a8e844e Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Fri, 12 Aug 2011 00:14:29 +0100 Subject: ARM: 7013/1: P2V: Remove ARM_PATCH_PHYS_VIRT_16BIT This code can be removed now that MSM targets no longer need the 16-bit offsets for P2V. Signed-off-by: Nicolas Pitre Signed-off-by: Stephen Boyd Signed-off-by: Russell King --- arch/arm/Kconfig | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 8882a535cf44..272eadc7a12c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -205,20 +205,12 @@ config ARM_PATCH_PHYS_VIRT kernel in system memory. This can only be used with non-XIP MMU kernels where the base - of physical memory is at a 16MB boundary, or theoretically 64K - for the MSM machine class. + of physical memory is at a 16MB boundary. Only disable this option if you know that you do not require this feature (eg, building a kernel for a single machine) and you need to shrink the kernel to the minimal size. -config ARM_PATCH_PHYS_VIRT_16BIT - def_bool y - depends on ARM_PATCH_PHYS_VIRT && ARCH_MSM - help - This option extends the physical to virtual translation patching - to allow physical memory down to a theoretical minimum of 64K - boundaries. source "init/Kconfig" -- cgit v1.2.2 From e2a6a3aafa9862c4a4b59f2a59b8f923d64a680e Mon Sep 17 00:00:00 2001 From: John Bonesio Date: Fri, 27 May 2011 18:45:50 -0400 Subject: ARM: zImage: Allow the appending of a device tree binary This patch provides the ability to boot using a device tree that is appended to the raw binary zImage (e.g. cat zImage .dtb > zImage_w_dtb). Signed-off-by: John Bonesio [nico: ported to latest zImage changes plus additional cleanups/improvements] Signed-off-by: Nicolas Pitre Acked-by: Grant Likely Acked-by: Tony Lindgren Tested-by: Shawn Guo Tested-by: Dave Martin Tested-by: Thomas Abraham --- arch/arm/Kconfig | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 5ebc5d922ea1..c66e0808c2b1 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1781,6 +1781,26 @@ config ZBOOT_ROM_SH_MOBILE_SDHI endchoice +config ARM_APPENDED_DTB + bool "Use appended device tree blob to zImage (EXPERIMENTAL)" + depends on OF && !ZBOOT_ROM && EXPERIMENTAL + help + With this option, the boot code will look for a device tree binary + (DTB) appended to zImage + (e.g. cat zImage .dtb > zImage_w_dtb). + + This is meant as a backward compatibility convenience for those + systems with a bootloader that can't be upgraded to accommodate + the documented boot protocol using a device tree. + + Beware that there is very little in terms of protection against + this option being confused by leftover garbage in memory that might + look like a DTB header after a reboot if no actual DTB is appended + to zImage. Do not leave this option active in a production kernel + if you don't intend to always append a DTB. Proper passing of the + location into r2 of a bootloader provided DTB is always preferable + to this option. + config CMDLINE string "Default kernel command string" default "" -- cgit v1.2.2 From b90b9a38251e9c89c34179eccde57411ceb5f1aa Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 13 Sep 2011 22:37:07 -0400 Subject: ARM: zImage: allow supplementing appended DTB with traditional ATAG data Some old bootloaders can't be updated to a device tree capable one, yet they provide ATAGs with memory configuration, the ramdisk address, the kernel cmdline string, etc. To allow a device tree enabled kernel to be used with such bootloaders, it is necessary to convert those ATAGs into FDT properties and fold them into the DTB appended to zImage. Currently the following ATAGs are converted: ATAG_CMDLINE ATAG_MEM ATAG_INITRD2 If the corresponding information already exists in the appended DTB, it is replaced, otherwise the required node is created to hold it. The code looks for ATAGs at the location pointed by the value of r2 upon entry into the zImage code. If no ATAGs are found there, an attempt at finding ATAGs at the typical 0x100 offset from start of RAM is made. Otherwise the DTB is left unchanged. Thisstarted from an older patch from John Bonesio , with contributions from David Brown . Signed-off-by: Nicolas Pitre Tested-by: Shawn Guo Tested-by: Dave Martin Tested-by: Thomas Abraham --- arch/arm/Kconfig | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index c66e0808c2b1..73c320ea172c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1801,6 +1801,18 @@ config ARM_APPENDED_DTB location into r2 of a bootloader provided DTB is always preferable to this option. +config ARM_ATAG_DTB_COMPAT + bool "Supplement the appended DTB with traditional ATAG information" + depends on ARM_APPENDED_DTB + help + Some old bootloaders can't be updated to a DTB capable one, yet + they provide ATAGs with memory configuration, the ramdisk address, + the kernel cmdline string, etc. Such information is dynamically + provided by the bootloader and can't always be stored in a static + DTB. To allow a device tree enabled kernel to be used with such + bootloaders, this option allows zImage to extract the information + from the ATAG list and store it at run time into the appended DTB. + config CMDLINE string "Default kernel command string" default "" -- cgit v1.2.2 From 1fb9026344ea9ecc7c5860240104109112384a61 Mon Sep 17 00:00:00 2001 From: Santosh Shilimkar Date: Sat, 10 Sep 2011 11:30:28 +0530 Subject: ARM: Enable CPU_PM notifiers on ARM machines. Signed-off-by: Santosh Shilimkar Tested-and-Acked-by: Shawn Guo Tested-by: Vishwanath BS --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 3269576dbfa8..247d0bc1119b 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -29,6 +29,7 @@ config ARM select HAVE_GENERIC_HARDIRQS select HAVE_SPARSE_IRQ select GENERIC_IRQ_SHOW + select CPU_PM if (SUSPEND || CPU_IDLE) help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and -- cgit v1.2.2 From 1b9f95f8ade9efc2bd49f0e7b9dc61a038ac3eef Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:51 -0400 Subject: ARM: prepare for removal of a bunch of files When the CONFIG_NO_MACH_MEMORY_H symbol is selected by a particular machine class, the machine specific memory.h include file is no longer used and can be removed. In that case the equivalent information can be obtained dynamically at runtime by enabling CONFIG_ARM_PATCH_PHYS_VIRT or by specifying the physical memory address at kernel configuration time. If/when all instances of mach/memory.h are removed then this symbol could be removed. Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 272eadc7a12c..1ecb09bca27e 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -211,6 +211,17 @@ config ARM_PATCH_PHYS_VIRT this feature (eg, building a kernel for a single machine) and you need to shrink the kernel to the minimal size. +config NO_MACH_MEMORY_H + bool + help + Select this when mach/memory.h is removed. + +config PHYS_OFFSET + hex "Physical address of main memory" + depends on !ARM_PATCH_PHYS_VIRT && NO_MACH_MEMORY_H + help + Please provide the physical address corresponding to the + location of main memory in your system. source "init/Kconfig" -- cgit v1.2.2 From e33e51070cbe8979a9aac43a6d5e773eaa44f9b1 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:51 -0400 Subject: ARM: mach-dove: remove include/mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1ecb09bca27e..646cc4becb69 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -503,6 +503,7 @@ config ARCH_DOVE select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS select PLAT_ORION + select NO_MACH_MEMORY_H help Support for the Marvell Dove SoC 88AP510 -- cgit v1.2.2 From 748e91cb3c6040a73b63afc348fe3d6042bdeef3 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:51 -0400 Subject: ARM: mach-kirkwood: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 646cc4becb69..b2235184e7b6 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -514,6 +514,7 @@ config ARCH_KIRKWOOD select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS select PLAT_ORION + select NO_MACH_MEMORY_H help Support for the following Marvell Kirkwood series SoCs: 88F6180, 88F6192 and 88F6281. -- cgit v1.2.2 From 8fce8b2080bf49de9e5d96161932edcbffad11cf Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:52 -0400 Subject: ARM: mach-orion5x: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b2235184e7b6..465bdb25ac13 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -552,6 +552,7 @@ config ARCH_ORION5X select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS select PLAT_ORION + select NO_MACH_MEMORY_H help Support for the following Marvell Orion 5x series SoCs: Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182), -- cgit v1.2.2 From 8cfc1ef96a873d35d2fb86ac8ccf34d388a48e55 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:52 -0400 Subject: ARM: mach-iop33x: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 465bdb25ac13..01343438e91b 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -462,6 +462,7 @@ config ARCH_IOP33X select PLAT_IOP select PCI select ARCH_REQUIRE_GPIOLIB + select NO_MACH_MEMORY_H help Support for Intel's IOP33X (XScale) family of processors. -- cgit v1.2.2 From 8b5da2df272d5aaceb17addae8afc068b447aa51 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:53 -0400 Subject: ARM: mach-s3c2410: remove memory.h This also removes the mach/s3c2400 version which was probably never used due to the fact that we have this line in arch/arm/Makefile: machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2400 [...] This is later used to construct the search path for: The compiler would be looking into mach-s3c2410 and picking up this version first. Any config that was actually expecting the mach-s3c2400 version was therefore producing a broken kernel binary. Not relying on any of them anymore would fix that issue. Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 01343438e91b..3776fccd923f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -711,6 +711,7 @@ config ARCH_S3C2410 select CLKDEV_LOOKUP select ARCH_USES_GETTIMEOFFSET select HAVE_S3C2410_I2C if I2C + select NO_MACH_MEMORY_H help Samsung S3C2410X CPU based systems, such as the Simtec Electronics BAST (), the IPAQ 1940 or -- cgit v1.2.2 From e2c72ff9dc535e2be25736b11a42d53dfffcfbb6 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:53 -0400 Subject: ARM: mach-mv78xx0: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 3776fccd923f..b987221f085f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -541,6 +541,7 @@ config ARCH_MV78XX0 select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS select PLAT_ORION + select NO_MACH_MEMORY_H help Support for the following Marvell MV78xx0 series SoCs: MV781x0, MV782x0. -- cgit v1.2.2 From 34561b557ff0a3ee0c4bdaf5a5198246e41826e4 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:53 -0400 Subject: ARM: mach-vexpress: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b987221f085f..47a04e59e614 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -301,6 +301,7 @@ config ARCH_VEXPRESS select ICST select PLAT_VERSATILE select PLAT_VERSATILE_CLCD + select NO_MACH_MEMORY_H help This enables support for the ARM Ltd Versatile Express boards. -- cgit v1.2.2 From f29781ac69c913272acf915c4d3aacc44af5ddfc Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:53 -0400 Subject: ARM: mach-w90x900: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 47a04e59e614..ecc18d51f332 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -590,6 +590,7 @@ config ARCH_W90X900 select CLKDEV_LOOKUP select CLKSRC_MMIO select GENERIC_CLOCKEVENTS + select NO_MACH_MEMORY_H help Support for Nuvoton (Winbond logic dept.) ARM9 processor, At present, the w90x900 has been renamed nuc900, regarding -- cgit v1.2.2 From b890f6b59d1210c682b310a28dabd134674b81e0 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:53 -0400 Subject: ARM: mach-pnx4008: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ecc18d51f332..dd72287cb29c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -627,6 +627,7 @@ config ARCH_PNX4008 select CPU_ARM926T select CLKDEV_LOOKUP select ARCH_USES_GETTIMEOFFSET + select NO_MACH_MEMORY_H help This enables support for Philips PNX4008 mobile platform. -- cgit v1.2.2 From 489a1b5b894d6df2908b914ee9d0619a8ffc8e3e Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:53 -0400 Subject: ARM: mach-iop32x: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index dd72287cb29c..2ac205106003 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -452,6 +452,7 @@ config ARCH_IOP32X select PLAT_IOP select PCI select ARCH_REQUIRE_GPIOLIB + select NO_MACH_MEMORY_H help Support for Intel's 80219 and IOP32X (XScale) family of processors. -- cgit v1.2.2 From 6b0e7f69ad24613c09a1bb6632d448885cf7b034 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:54 -0400 Subject: ARM: mach-nomadik: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2ac205106003..57d805e9e241 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -874,6 +874,7 @@ config ARCH_NOMADIK select CLKDEV_LOOKUP select GENERIC_CLOCKEVENTS select ARCH_REQUIRE_GPIOLIB + select NO_MACH_MEMORY_H help Support for the Nomadik platform by ST-Ericsson -- cgit v1.2.2 From 6d3f8b40f4b6b832491617be510970157264513a Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:54 -0400 Subject: ARM: mach-ux500: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 57d805e9e241..96531afb8fb7 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -863,6 +863,7 @@ config ARCH_U8500 select CLKDEV_LOOKUP select ARCH_REQUIRE_GPIOLIB select ARCH_HAS_CPUFREQ + select NO_MACH_MEMORY_H help Support for ST-Ericsson's Ux500 architecture -- cgit v1.2.2 From 2f93c8885bdb18e365e087badc076e7514b8a951 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:54 -0400 Subject: ARM: mach-versatile: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 96531afb8fb7..755f2c366fd8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -285,6 +285,7 @@ config ARCH_VERSATILE select PLAT_VERSATILE_CLCD select PLAT_VERSATILE_FPGA_IRQ select ARM_TIMER_SP804 + select NO_MACH_MEMORY_H help This enables support for ARM Ltd Versatile board. -- cgit v1.2.2 From ff4067e4cf61fff977cc5776020fb066c506ec4c Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:54 -0400 Subject: ARM: mach-netx: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 755f2c366fd8..353f197d0d22 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -424,6 +424,7 @@ config ARCH_NETX select CPU_ARM926T select ARM_VIC select GENERIC_CLOCKEVENTS + select NO_MACH_MEMORY_H help This enables support for systems based on the Hilscher NetX Soc -- cgit v1.2.2 From bf45bd7687637c8731258b185fcff0c3deb3032f Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:54 -0400 Subject: ARM: mach-lpc32xx: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 353f197d0d22..3c2e0b50ff18 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -535,6 +535,7 @@ config ARCH_LPC32XX select CLKDEV_LOOKUP select GENERIC_TIME select GENERIC_CLOCKEVENTS + select NO_MACH_MEMORY_H help Support for the NXP LPC32XX family of processors -- cgit v1.2.2 From d8c9e024e300cc3dfccf96050368880ef1669426 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:54 -0400 Subject: ARM: mach-gemini: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 3c2e0b50ff18..4633cb919b83 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -349,6 +349,7 @@ config ARCH_GEMINI select CPU_FA526 select ARCH_REQUIRE_GPIOLIB select ARCH_USES_GETTIMEOFFSET + select NO_MACH_MEMORY_H help Support for the Cortina Systems Gemini family SoCs -- cgit v1.2.2 From 9d25544968f831e97e858bd8ec2933f225126ca8 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:54 -0400 Subject: ARM: mach-msm: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4633cb919b83..fcc8ca9b351b 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -660,6 +660,7 @@ config ARCH_MSM select GENERIC_CLOCKEVENTS select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP + select NO_MACH_MEMORY_H help Support for Qualcomm MSM/QSD based systems. This runs on the apps processor of the MSM/QSD and depends on a shared memory -- cgit v1.2.2 From 94cc0a78474078e7533ccc71e9b90ee3063c843a Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:55 -0400 Subject: ARM: spear: remove mach/memory.h and plat/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index fcc8ca9b351b..f690b5477604 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -917,6 +917,7 @@ config PLAT_SPEAR select CLKSRC_MMIO select GENERIC_CLOCKEVENTS select HAVE_CLK + select NO_MACH_MEMORY_H help Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx). -- cgit v1.2.2 From a109d811bab30d44ee775a9f15348add7014180c Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:55 -0400 Subject: ARM: mach-mxs: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index f690b5477604..cb4ac95297b4 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -416,6 +416,7 @@ config ARCH_MXS select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select CLKSRC_MMIO + select NO_MACH_MEMORY_H help Support for Freescale MXS-based family of processors -- cgit v1.2.2 From 6b1f1005f3dbc6fe52c68c2fccb525a0ebcc9afa Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:55 -0400 Subject: ARM: mach-nuc93x: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index cb4ac95297b4..44a2ad7c4c25 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -610,6 +610,7 @@ config ARCH_NUC93X bool "Nuvoton NUC93X CPU" select CPU_ARM926T select CLKDEV_LOOKUP + select NO_MACH_MEMORY_H help Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a low-power and high performance MPEG-4/JPEG multimedia controller chip. -- cgit v1.2.2 From 17108711c556b44c1d805bbb3f3ac81011c5dd6a Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:55 -0400 Subject: ARM: mach-cns3xxx: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 44a2ad7c4c25..560cc11af7a0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -341,6 +341,7 @@ config ARCH_CNS3XXX select ARM_GIC select MIGHT_HAVE_PCI select PCI_DOMAINS if PCI + select NO_MACH_MEMORY_H help Support for Cavium Networks CNS3XXX platform. -- cgit v1.2.2 From 9b15e4fe00a136471d4ad22debcb0b270401cefc Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:55 -0400 Subject: ARM: mach-mmp: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 560cc11af7a0..6e277c4487d8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -578,6 +578,7 @@ config ARCH_MMP select TICK_ONESHOT select PLAT_PXA select SPARSE_IRQ + select NO_MACH_MEMORY_H help Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line. -- cgit v1.2.2 From 3044454779b1e8ffb536b79ffbbbfc731fc84fdf Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:55 -0400 Subject: ARM: plat-tcc: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 6e277c4487d8..49badb13be45 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -845,6 +845,7 @@ config ARCH_TCC_926 select HAVE_CLK select CLKDEV_LOOKUP select GENERIC_CLOCKEVENTS + select NO_MACH_MEMORY_H help Support for Telechips TCC ARM926-based systems. -- cgit v1.2.2 From f8bc5ddf139e05b21a768bc837d48f3db61c0d96 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:55 -0400 Subject: ARM: mach-tegra: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 49badb13be45..549e77a05e9a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -627,6 +627,7 @@ config ARCH_TEGRA select HAVE_CLK select HAVE_SCHED_CLOCK select ARCH_HAS_CPUFREQ + select NO_MACH_MEMORY_H help This enables support for NVIDIA Tegra based systems (Tegra APX, Tegra 6xx and Tegra 2 series). -- cgit v1.2.2 From 476eb37ad799e9ed5f540a08485359258ce95549 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:55 -0400 Subject: ARM: mach-s5pc100: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 549e77a05e9a..09da28b66a87 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -789,6 +789,7 @@ config ARCH_S5PC100 select HAVE_S3C2410_I2C if I2C select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C2410_WATCHDOG if WATCHDOG + select NO_MACH_MEMORY_H help Samsung S5PC100 series based systems -- cgit v1.2.2 From e41fa86e558f3d129658d7447deceef30ddf6205 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:56 -0400 Subject: ARM: mach-vt8500: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 09da28b66a87..94a38e9d74e2 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -936,6 +936,7 @@ config ARCH_VT8500 select GENERIC_CLOCKEVENTS select ARCH_REQUIRE_GPIOLIB select HAVE_PWM + select NO_MACH_MEMORY_H help Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip. -- cgit v1.2.2 From 2e5df8d28ae2b6790539b95b8fc295ac63f862ff Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:56 -0400 Subject: ARM: mach-h720x: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 94a38e9d74e2..907f3da9cce3 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -436,6 +436,7 @@ config ARCH_H720X select CPU_ARM720T select ISA_DMA_API select ARCH_USES_GETTIMEOFFSET + select NO_MACH_MEMORY_H help This enables support for systems based on the Hynix HMS720x -- cgit v1.2.2 From 3bc465aab08f382a3005aa56296a3f7a549f379f Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:57 -0400 Subject: ARM: mach-ixp4xx: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 907f3da9cce3..30ced8d7282c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -502,6 +502,7 @@ config ARCH_IXP4XX select HAVE_SCHED_CLOCK select MIGHT_HAVE_PCI select DMABOUNCE if PCI + select NO_MACH_MEMORY_H help Support for Intel's IXP4XX (XScale) family of processors. -- cgit v1.2.2 From f4220feb35e39dc3963f27dcce48b4dea398a83b Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:57 -0400 Subject: ARM: mach-pxa: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 30ced8d7282c..f7041031bb1f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -658,6 +658,7 @@ config ARCH_PXA select SPARSE_IRQ select AUTO_ZRELADDR select MULTI_IRQ_HANDLER + select NO_MACH_MEMORY_H help Support for Intel/Marvell's PXA2xx/PXA3xx processor line. -- cgit v1.2.2 From 0020afb369859472a461ef4af6410732e929d402 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Tue, 5 Jul 2011 22:52:57 -0400 Subject: ARM: mach-davinci: remove mach/memory.h Move some DDR2 related defines into a private beforehand. Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index f7041031bb1f..564be51d32df 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -904,6 +904,7 @@ config ARCH_DAVINCI select GENERIC_ALLOCATOR select GENERIC_IRQ_CHIP select ARCH_HAS_HOLES_MEMORYMODEL + select NO_MACH_MEMORY_H help Support for TI's DaVinci platform. -- cgit v1.2.2 From 0e79671e13d12e44938f5caea83176706e56e7ca Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Fri, 2 Sep 2011 17:09:17 -0400 Subject: ARM: mach-bcmring: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 564be51d32df..2dd0db697f66 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -324,6 +324,7 @@ config ARCH_BCMRING select CLKDEV_LOOKUP select GENERIC_CLOCKEVENTS select ARCH_WANT_OPTIONAL_GPIOLIB + select NO_MACH_MEMORY_H help Support for Broadcom's BCMRing platform. -- cgit v1.2.2 From f431eb6960848302e82b7156bf30f726c8e6e7bc Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Fri, 2 Sep 2011 17:22:03 -0400 Subject: ARM: mach-zynq: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2dd0db697f66..322e48ce451c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -955,6 +955,7 @@ config ARCH_ZYNQ select ARM_AMBA select ICST select USE_OF + select NO_MACH_MEMORY_H help Support for Xilinx Zynq ARM Cortex A9 Platform endchoice -- cgit v1.2.2 From 17dea45adbd2c2df726699b25e2ddf8916d5eb87 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Fri, 2 Sep 2011 21:18:52 -0400 Subject: ARM: mach-prima2: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 322e48ce451c..b30cf6437c99 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -365,6 +365,7 @@ config ARCH_PRIMA2 select GENERIC_IRQ_CHIP select USE_OF select ZONE_DMA + select NO_MACH_MEMORY_H help Support for CSR SiRFSoC ARM Cortex A9 Platform -- cgit v1.2.2 From c039bad00f21a025df6fcb238578023c2cc881bf Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Fri, 2 Sep 2011 21:45:26 -0400 Subject: ARM: plat-mxc: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b30cf6437c99..408d413826cb 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -410,6 +410,7 @@ config ARCH_MXC select CLKSRC_MMIO select GENERIC_IRQ_CHIP select HAVE_SCHED_CLOCK + select NO_MACH_MEMORY_H help Support for Freescale MXC/iMX-based family of processors -- cgit v1.2.2 From b4be3999d1895c9697580574ca4ea52d84bc4ddd Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Fri, 2 Sep 2011 21:48:28 -0400 Subject: ARM: mach-s3c64xx: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 408d413826cb..a87deac9f768 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -765,6 +765,7 @@ config ARCH_S3C64XX select SAMSUNG_GPIOLIB_4BIT select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG + select NO_MACH_MEMORY_H help Samsung S3C64XX series based systems -- cgit v1.2.2 From 48de58e34ed379fa99d392a393b8d8343ab48515 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Fri, 2 Sep 2011 21:51:43 -0400 Subject: ARM: mach-s5p64x0: remove mach/memory.h Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a87deac9f768..81148f415352 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -781,6 +781,7 @@ config ARCH_S5P64X0 select HAVE_SCHED_CLOCK select HAVE_S3C2410_I2C if I2C select HAVE_S3C_RTC if RTC_CLASS + select NO_MACH_MEMORY_H help Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, SMDK6450. -- cgit v1.2.2 From 0cdc8b921d68817b687755b4f6ae20cd8ff1d026 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Fri, 2 Sep 2011 22:26:55 -0400 Subject: ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H Given that we want the default to not have any and given that there are now fewer cases where it is still provided than the cases where it is not at this point, this makes sense to invert the logic and just identify the exception cases. The word "need" instead of "have" was chosen to construct the config symbol so not to suggest that having a mach/memory.h file is actually a feature that one should aim for. Signed-off-by: Nicolas Pitre --- arch/arm/Kconfig | 61 ++++++++++++++++++++------------------------------------ 1 file changed, 22 insertions(+), 39 deletions(-) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 81148f415352..b7f7510658d6 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -211,14 +211,16 @@ config ARM_PATCH_PHYS_VIRT this feature (eg, building a kernel for a single machine) and you need to shrink the kernel to the minimal size. -config NO_MACH_MEMORY_H +config NEED_MACH_MEMORY_H bool help - Select this when mach/memory.h is removed. + Select this when mach/memory.h is required to provide special + definitions for this platform. The need for mach/memory.h should + be avoided when possible. config PHYS_OFFSET hex "Physical address of main memory" - depends on !ARM_PATCH_PHYS_VIRT && NO_MACH_MEMORY_H + depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H help Please provide the physical address corresponding to the location of main memory in your system. @@ -254,6 +256,7 @@ config ARCH_INTEGRATOR select GENERIC_CLOCKEVENTS select PLAT_VERSATILE select PLAT_VERSATILE_FPGA_IRQ + select NEED_MACH_MEMORY_H help Support for ARM's Integrator platform. @@ -269,6 +272,7 @@ config ARCH_REALVIEW select PLAT_VERSATILE_CLCD select ARM_TIMER_SP804 select GPIO_PL061 if GPIOLIB + select NEED_MACH_MEMORY_H help This enables support for ARM Ltd RealView boards. @@ -285,7 +289,6 @@ config ARCH_VERSATILE select PLAT_VERSATILE_CLCD select PLAT_VERSATILE_FPGA_IRQ select ARM_TIMER_SP804 - select NO_MACH_MEMORY_H help This enables support for ARM Ltd Versatile board. @@ -302,7 +305,6 @@ config ARCH_VEXPRESS select ICST select PLAT_VERSATILE select PLAT_VERSATILE_CLCD - select NO_MACH_MEMORY_H help This enables support for the ARM Ltd Versatile Express boards. @@ -324,7 +326,6 @@ config ARCH_BCMRING select CLKDEV_LOOKUP select GENERIC_CLOCKEVENTS select ARCH_WANT_OPTIONAL_GPIOLIB - select NO_MACH_MEMORY_H help Support for Broadcom's BCMRing platform. @@ -332,6 +333,7 @@ config ARCH_CLPS711X bool "Cirrus Logic CLPS711x/EP721x-based" select CPU_ARM720T select ARCH_USES_GETTIMEOFFSET + select NEED_MACH_MEMORY_H help Support for Cirrus Logic 711x/721x based boards. @@ -342,7 +344,6 @@ config ARCH_CNS3XXX select ARM_GIC select MIGHT_HAVE_PCI select PCI_DOMAINS if PCI - select NO_MACH_MEMORY_H help Support for Cavium Networks CNS3XXX platform. @@ -351,7 +352,6 @@ config ARCH_GEMINI select CPU_FA526 select ARCH_REQUIRE_GPIOLIB select ARCH_USES_GETTIMEOFFSET - select NO_MACH_MEMORY_H help Support for the Cortina Systems Gemini family SoCs @@ -365,7 +365,6 @@ config ARCH_PRIMA2 select GENERIC_IRQ_CHIP select USE_OF select ZONE_DMA - select NO_MACH_MEMORY_H help Support for CSR SiRFSoC ARM Cortex A9 Platform @@ -375,6 +374,7 @@ config ARCH_EBSA110 select ISA select NO_IOPORT select ARCH_USES_GETTIMEOFFSET + select NEED_MACH_MEMORY_H help This is an evaluation board for the StrongARM processor available from Digital. It has limited hardware on-board, including an @@ -390,6 +390,7 @@ config ARCH_EP93XX select ARCH_REQUIRE_GPIOLIB select ARCH_HAS_HOLES_MEMORYMODEL select ARCH_USES_GETTIMEOFFSET + select NEED_MEMORY_H help This enables support for the Cirrus EP93xx series of CPUs. @@ -398,6 +399,7 @@ config ARCH_FOOTBRIDGE select CPU_SA110 select FOOTBRIDGE select GENERIC_CLOCKEVENTS + select NEED_MACH_MEMORY_H help Support for systems based on the DC21285 companion chip ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. @@ -410,7 +412,6 @@ config ARCH_MXC select CLKSRC_MMIO select GENERIC_IRQ_CHIP select HAVE_SCHED_CLOCK - select NO_MACH_MEMORY_H help Support for Freescale MXC/iMX-based family of processors @@ -420,7 +421,6 @@ config ARCH_MXS select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select CLKSRC_MMIO - select NO_MACH_MEMORY_H help Support for Freescale MXS-based family of processors @@ -430,7 +430,6 @@ config ARCH_NETX select CPU_ARM926T select ARM_VIC select GENERIC_CLOCKEVENTS - select NO_MACH_MEMORY_H help This enables support for systems based on the Hilscher NetX Soc @@ -439,7 +438,6 @@ config ARCH_H720X select CPU_ARM720T select ISA_DMA_API select ARCH_USES_GETTIMEOFFSET - select NO_MACH_MEMORY_H help This enables support for systems based on the Hynix HMS720x @@ -451,6 +449,7 @@ config ARCH_IOP13XX select PCI select ARCH_SUPPORTS_MSI select VMSPLIT_1G + select NEED_MACH_MEMORY_H help Support for Intel's IOP13XX (XScale) family of processors. @@ -461,7 +460,6 @@ config ARCH_IOP32X select PLAT_IOP select PCI select ARCH_REQUIRE_GPIOLIB - select NO_MACH_MEMORY_H help Support for Intel's 80219 and IOP32X (XScale) family of processors. @@ -473,7 +471,6 @@ config ARCH_IOP33X select PLAT_IOP select PCI select ARCH_REQUIRE_GPIOLIB - select NO_MACH_MEMORY_H help Support for Intel's IOP33X (XScale) family of processors. @@ -483,6 +480,7 @@ config ARCH_IXP23XX select CPU_XSC3 select PCI select ARCH_USES_GETTIMEOFFSET + select NEED_MACH_MEMORY_H help Support for Intel's IXP23xx (XScale) family of processors. @@ -492,6 +490,7 @@ config ARCH_IXP2000 select CPU_XSCALE select PCI select ARCH_USES_GETTIMEOFFSET + select NEED_MACH_MEMORY_H help Support for Intel's IXP2400/2800 (XScale) family of processors. @@ -505,7 +504,6 @@ config ARCH_IXP4XX select HAVE_SCHED_CLOCK select MIGHT_HAVE_PCI select DMABOUNCE if PCI - select NO_MACH_MEMORY_H help Support for Intel's IXP4XX (XScale) family of processors. @@ -516,7 +514,6 @@ config ARCH_DOVE select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS select PLAT_ORION - select NO_MACH_MEMORY_H help Support for the Marvell Dove SoC 88AP510 @@ -527,7 +524,6 @@ config ARCH_KIRKWOOD select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS select PLAT_ORION - select NO_MACH_MEMORY_H help Support for the following Marvell Kirkwood series SoCs: 88F6180, 88F6192 and 88F6281. @@ -543,7 +539,6 @@ config ARCH_LPC32XX select CLKDEV_LOOKUP select GENERIC_TIME select GENERIC_CLOCKEVENTS - select NO_MACH_MEMORY_H help Support for the NXP LPC32XX family of processors @@ -554,7 +549,6 @@ config ARCH_MV78XX0 select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS select PLAT_ORION - select NO_MACH_MEMORY_H help Support for the following Marvell MV78xx0 series SoCs: MV781x0, MV782x0. @@ -567,7 +561,6 @@ config ARCH_ORION5X select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS select PLAT_ORION - select NO_MACH_MEMORY_H help Support for the following Marvell Orion 5x series SoCs: Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182), @@ -583,7 +576,6 @@ config ARCH_MMP select TICK_ONESHOT select PLAT_PXA select SPARSE_IRQ - select NO_MACH_MEMORY_H help Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line. @@ -592,6 +584,7 @@ config ARCH_KS8695 select CPU_ARM922T select ARCH_REQUIRE_GPIOLIB select ARCH_USES_GETTIMEOFFSET + select NEED_MACH_MEMORY_H help Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based System-on-Chip devices. @@ -603,7 +596,6 @@ config ARCH_W90X900 select CLKDEV_LOOKUP select CLKSRC_MMIO select GENERIC_CLOCKEVENTS - select NO_MACH_MEMORY_H help Support for Nuvoton (Winbond logic dept.) ARM9 processor, At present, the w90x900 has been renamed nuc900, regarding @@ -617,7 +609,6 @@ config ARCH_NUC93X bool "Nuvoton NUC93X CPU" select CPU_ARM926T select CLKDEV_LOOKUP - select NO_MACH_MEMORY_H help Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a low-power and high performance MPEG-4/JPEG multimedia controller chip. @@ -632,7 +623,6 @@ config ARCH_TEGRA select HAVE_CLK select HAVE_SCHED_CLOCK select ARCH_HAS_CPUFREQ - select NO_MACH_MEMORY_H help This enables support for NVIDIA Tegra based systems (Tegra APX, Tegra 6xx and Tegra 2 series). @@ -642,7 +632,6 @@ config ARCH_PNX4008 select CPU_ARM926T select CLKDEV_LOOKUP select ARCH_USES_GETTIMEOFFSET - select NO_MACH_MEMORY_H help This enables support for Philips PNX4008 mobile platform. @@ -661,7 +650,6 @@ config ARCH_PXA select SPARSE_IRQ select AUTO_ZRELADDR select MULTI_IRQ_HANDLER - select NO_MACH_MEMORY_H help Support for Intel/Marvell's PXA2xx/PXA3xx processor line. @@ -671,7 +659,6 @@ config ARCH_MSM select GENERIC_CLOCKEVENTS select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP - select NO_MACH_MEMORY_H help Support for Qualcomm MSM/QSD based systems. This runs on the apps processor of the MSM/QSD and depends on a shared memory @@ -689,6 +676,7 @@ config ARCH_SHMOBILE select SPARSE_IRQ select MULTI_IRQ_HANDLER select PM_GENERIC_DOMAINS if PM + select NEED_MACH_MEMORY_H help Support for Renesas's SH-Mobile and R-Mobile ARM platforms. @@ -703,6 +691,7 @@ config ARCH_RPC select NO_IOPORT select ARCH_SPARSEMEM_ENABLE select ARCH_USES_GETTIMEOFFSET + select NEED_MACH_MEMORY_H help On the Acorn Risc-PC, Linux can support the internal IDE disk and CD-ROM interface, serial and parallel port, and the floppy drive. @@ -721,6 +710,7 @@ config ARCH_SA1100 select HAVE_SCHED_CLOCK select TICK_ONESHOT select ARCH_REQUIRE_GPIOLIB + select NEED_MACH_MEMORY_H help Support for StrongARM 11x0 based boards. @@ -732,7 +722,6 @@ config ARCH_S3C2410 select CLKDEV_LOOKUP select ARCH_USES_GETTIMEOFFSET select HAVE_S3C2410_I2C if I2C - select NO_MACH_MEMORY_H help Samsung S3C2410X CPU based systems, such as the Simtec Electronics BAST (), the IPAQ 1940 or @@ -765,7 +754,6 @@ config ARCH_S3C64XX select SAMSUNG_GPIOLIB_4BIT select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG - select NO_MACH_MEMORY_H help Samsung S3C64XX series based systems @@ -781,7 +769,6 @@ config ARCH_S5P64X0 select HAVE_SCHED_CLOCK select HAVE_S3C2410_I2C if I2C select HAVE_S3C_RTC if RTC_CLASS - select NO_MACH_MEMORY_H help Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, SMDK6450. @@ -797,7 +784,6 @@ config ARCH_S5PC100 select HAVE_S3C2410_I2C if I2C select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C2410_WATCHDOG if WATCHDOG - select NO_MACH_MEMORY_H help Samsung S5PC100 series based systems @@ -817,6 +803,7 @@ config ARCH_S5PV210 select HAVE_S3C2410_I2C if I2C select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C2410_WATCHDOG if WATCHDOG + select NEED_MACH_MEMORY_H help Samsung S5PV210/S5PC110 series based systems @@ -833,6 +820,7 @@ config ARCH_EXYNOS4 select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG + select NEED_MACH_MEMORY_H help Samsung EXYNOS4 series based systems @@ -844,6 +832,7 @@ config ARCH_SHARK select ZONE_DMA select PCI select ARCH_USES_GETTIMEOFFSET + select NEED_MACH_MEMORY_H help Support for the StrongARM based Digital DNARD machine, also known as "Shark" (). @@ -855,7 +844,6 @@ config ARCH_TCC_926 select HAVE_CLK select CLKDEV_LOOKUP select GENERIC_CLOCKEVENTS - select NO_MACH_MEMORY_H help Support for Telechips TCC ARM926-based systems. @@ -872,6 +860,7 @@ config ARCH_U300 select CLKDEV_LOOKUP select HAVE_MACH_CLKDEV select GENERIC_GPIO + select NEED_MACH_MEMORY_H help Support for ST-Ericsson U300 series mobile platforms. @@ -883,7 +872,6 @@ config ARCH_U8500 select CLKDEV_LOOKUP select ARCH_REQUIRE_GPIOLIB select ARCH_HAS_CPUFREQ - select NO_MACH_MEMORY_H help Support for ST-Ericsson's Ux500 architecture @@ -895,7 +883,6 @@ config ARCH_NOMADIK select CLKDEV_LOOKUP select GENERIC_CLOCKEVENTS select ARCH_REQUIRE_GPIOLIB - select NO_MACH_MEMORY_H help Support for the Nomadik platform by ST-Ericsson @@ -909,7 +896,6 @@ config ARCH_DAVINCI select GENERIC_ALLOCATOR select GENERIC_IRQ_CHIP select ARCH_HAS_HOLES_MEMORYMODEL - select NO_MACH_MEMORY_H help Support for TI's DaVinci platform. @@ -933,7 +919,6 @@ config PLAT_SPEAR select CLKSRC_MMIO select GENERIC_CLOCKEVENTS select HAVE_CLK - select NO_MACH_MEMORY_H help Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx). @@ -945,7 +930,6 @@ config ARCH_VT8500 select GENERIC_CLOCKEVENTS select ARCH_REQUIRE_GPIOLIB select HAVE_PWM - select NO_MACH_MEMORY_H help Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip. @@ -959,7 +943,6 @@ config ARCH_ZYNQ select ARM_AMBA select ICST select USE_OF - select NO_MACH_MEMORY_H help Support for Xilinx Zynq ARM Cortex A9 Platform endchoice -- cgit v1.2.2 From c9018aab8eee24b993c12c7aff7fc99d3d73f298 Mon Sep 17 00:00:00 2001 From: Vincent Guittot Date: Mon, 8 Aug 2011 13:21:59 +0100 Subject: ARM: 7011/1: Add ARM cpu topology definition The affinity between ARM processors is defined in the MPIDR register. We can identify which processors are in the same cluster, and which ones have performance interdependency. We can define the cpu topology of ARM platform, that is then used by sched_mc and sched_smt. The default state of sched_mc and sched_smt config is disable. When enabled, the behavior of the scheduler can be modified with sched_mc_power_savings and sched_smt_power_savings sysfs interfaces. Changes since v4 : * Remove unnecessary parentheses and blank lines Changes since v3 : * Update the format of printk message * Remove blank line Changes since v2 : * Update the commit message and some comments Changes since v1 : * Update the commit message * Add read_cpuid_mpidr in arch/arm/include/asm/cputype.h * Modify header of arch/arm/kernel/topology.c * Modify tests and manipulation of MPIDR's bitfields * Modify the place and dependancy of the config * Modify Noop functions Signed-off-by: Vincent Guittot Reviewed-by: Amit Kucheria Signed-off-by: Russell King --- arch/arm/Kconfig | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 3269576dbfa8..c208fd97c180 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1393,6 +1393,31 @@ config SMP_ON_UP If you don't know what to do here, say Y. +config ARM_CPU_TOPOLOGY + bool "Support cpu topology definition" + depends on SMP && CPU_V7 + default y + help + Support ARM cpu topology definition. The MPIDR register defines + affinity between processors which is then used to describe the cpu + topology of an ARM System. + +config SCHED_MC + bool "Multi-core scheduler support" + depends on ARM_CPU_TOPOLOGY + help + Multi-core scheduler support improves the CPU scheduler's decision + making when dealing with multi-core CPU chips at a cost of slightly + increased overhead in some places. If unsure say N here. + +config SCHED_SMT + bool "SMT scheduler support" + depends on ARM_CPU_TOPOLOGY + help + Improves the CPU scheduler's decision making when dealing with + MultiThreading at a cost of slightly increased overhead in some + places. If unsure say N here. + config HAVE_ARM_SCU bool help -- cgit v1.2.2