* [PATCH 3/4] ARM: versatile: empty Makefile.boot needed for no-MMU compile
@ 2016-12-07 6:59 Greg Ungerer
2016-12-07 6:59 ` [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU Greg Ungerer
0 siblings, 1 reply; 10+ messages in thread
From: Greg Ungerer @ 2016-12-07 6:59 UTC (permalink / raw)
To: linux-arm-kernel
To compile the arm versatile board with the MMU disabled (!CONFIG_MMU)
a Makefile.boot is required. Without it you get:
SYSMAP System.map
arch/arm/boot/Makefile:15: arch/arm/mach-versatile//Makefile.boot: No such file or directory
make[2]: *** No rule to make target `arch/arm/mach-versatile//Makefile.boot'. Stop.
Create an empty Makefile.boot for the versatile machine. This is a
copy of the other empty machine Makefile.boot files. (A few have this
same commented empty file: stm32, ep93xx, lpc18xx, efm32 and vexpress).
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
---
arch/arm/mach-versatile/Makefile.boot | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 arch/arm/mach-versatile/Makefile.boot
diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot
new file mode 100644
index 0000000..eacfc3f
--- /dev/null
+++ b/arch/arm/mach-versatile/Makefile.boot
@@ -0,0 +1,3 @@
+# Empty file waiting for deletion once Makefile.boot isn't needed any more.
+# Patch waits for application at
+# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
--
1.9.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU
2016-12-07 6:59 [PATCH 3/4] ARM: versatile: empty Makefile.boot needed for no-MMU compile Greg Ungerer
@ 2016-12-07 6:59 ` Greg Ungerer
2016-12-07 14:11 ` Linus Walleij
0 siblings, 1 reply; 10+ messages in thread
From: Greg Ungerer @ 2016-12-07 6:59 UTC (permalink / raw)
To: linux-arm-kernel
Allow the arm versatile machine to be configured for no-MMU operation.
The approach taken is similar to the support for no-MMU arm v7 machines.
A new define, CONFIG_ARM_SINGLE_ARMV5, is used to enable a class of v5
core based machines that are supported for building with !CONFIG_MMU.
Currently only the versatile machine is configured to support this.
Older kernels had the ability to build the versatile machine with the MMU
disabled (!CONFIG_MMU). Recent changes to convert the versatile machine
to device tree lost this ability. (Although older kernels could be built
they did not run due to a bug in the IO_ADDRESS() mapping on this machine).
The motivation for this is that the versatile machine is well supported
in qemu. And this provides an excellent platform for development and
testing no-MMU support on ARM in general.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
---
arch/arm/Kconfig | 10 ++++++++++
arch/arm/Kconfig.debug | 3 ++-
arch/arm/mach-versatile/Kconfig | 3 ++-
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index b5d529f..74a0e7a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -353,6 +353,16 @@ config ARM_SINGLE_ARMV7M
select SPARSE_IRQ
select USE_OF
+config ARM_SINGLE_ARMV5
+ bool "ARMv5 based platforms (ARM926T)"
+ depends on !MMU
+ select AUTO_ZRELADDR
+ select CLKSRC_OF
+ select COMMON_CLK
+ select GENERIC_CLOCKEVENTS
+ select SPARSE_IRQ
+ select USE_OF
+
config ARCH_GEMINI
bool "Cortina Systems Gemini"
select CLKSRC_MMIO
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index d83f7c3..483709e 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -1712,7 +1712,8 @@ config DEBUG_UNCOMPRESS
config UNCOMPRESS_INCLUDE
string
default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
- PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
+ PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \
+ ARM_SINGLE_ARMV5
default "mach/uncompress.h"
config EARLY_PRINTK
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
index c257d40..2613f0f 100644
--- a/arch/arm/mach-versatile/Kconfig
+++ b/arch/arm/mach-versatile/Kconfig
@@ -1,12 +1,13 @@
config ARCH_VERSATILE
bool "ARM Ltd. Versatile family"
- depends on ARCH_MULTI_V5
+ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARMV5
select ARM_AMBA
select ARM_TIMER_SP804
select ARM_VIC
select CLKSRC_VERSATILE
select COMMON_CLK_VERSATILE
select CPU_ARM926T
+ select GPIOLIB
select ICST
select MFD_SYSCON
select PLAT_VERSATILE
--
1.9.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU
2016-12-07 6:59 ` [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU Greg Ungerer
@ 2016-12-07 14:11 ` Linus Walleij
2016-12-07 14:33 ` Vladimir Murzin
2016-12-07 14:34 ` Greg Ungerer
0 siblings, 2 replies; 10+ messages in thread
From: Linus Walleij @ 2016-12-07 14:11 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Dec 7, 2016 at 7:59 AM, Greg Ungerer <gerg@uclinux.org> wrote:
> The motivation for this is that the versatile machine is well supported
> in qemu. And this provides an excellent platform for development and
> testing no-MMU support on ARM in general.
>
> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Pretty cool eh?
Have you tested it on real hardware?
Otherwise I can test it if I have a git branch
I can pull in and compile.
Another target I had in mind was the Integrator which
incidentally supports a bunch of the old noMMU core
tiles where we can swap in an ARM946, which I guess
could work with this?
> --- a/arch/arm/mach-versatile/Kconfig
> +++ b/arch/arm/mach-versatile/Kconfig
> @@ -1,12 +1,13 @@
> config ARCH_VERSATILE
> bool "ARM Ltd. Versatile family"
> - depends on ARCH_MULTI_V5
> + depends on ARCH_MULTI_V5 || ARM_SINGLE_ARMV5
> select ARM_AMBA
> select ARM_TIMER_SP804
> select ARM_VIC
> select CLKSRC_VERSATILE
> select COMMON_CLK_VERSATILE
> select CPU_ARM926T
> + select GPIOLIB
Not really related but I don't mind.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU
2016-12-07 14:11 ` Linus Walleij
@ 2016-12-07 14:33 ` Vladimir Murzin
2016-12-09 3:02 ` Greg Ungerer
2016-12-09 20:29 ` Russell King - ARM Linux
2016-12-07 14:34 ` Greg Ungerer
1 sibling, 2 replies; 10+ messages in thread
From: Vladimir Murzin @ 2016-12-07 14:33 UTC (permalink / raw)
To: linux-arm-kernel
Hi Linus,
On 07/12/16 14:11, Linus Walleij wrote:
> Another target I had in mind was the Integrator which
> incidentally supports a bunch of the old noMMU core
> tiles where we can swap in an ARM946, which I guess
> could work with this?
Do you mind trying my "Allow NOMMU for MULTIPLATFORM" series [1]? Greg just
reported it did a trick for Versatile, there is a good chance it would work
for Integrator too ;)
[1] https://www.spinics.net/lists/arm-kernel/msg546823.html
Thanks
Vladimir
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU
2016-12-07 14:33 ` Vladimir Murzin
@ 2016-12-09 3:02 ` Greg Ungerer
2016-12-09 20:29 ` Russell King - ARM Linux
1 sibling, 0 replies; 10+ messages in thread
From: Greg Ungerer @ 2016-12-09 3:02 UTC (permalink / raw)
To: linux-arm-kernel
Hi Vladimir,
On 08/12/16 00:33, Vladimir Murzin wrote:
> Hi Linus,
>
> On 07/12/16 14:11, Linus Walleij wrote:
>> Another target I had in mind was the Integrator which
>> incidentally supports a bunch of the old noMMU core
>> tiles where we can swap in an ARM946, which I guess
>> could work with this?
>
> Do you mind trying my "Allow NOMMU for MULTIPLATFORM" series [1]? Greg just
> reported it did a trick for Versatile, there is a good chance it would work
> for Integrator too ;)
>
> [1] https://www.spinics.net/lists/arm-kernel/msg546823.html
I won't speak for Linus...
But I tried building with your patches for Integrator/CP and
that builds (with an appropriate configuration) with CONFIG_MMU
disabled and runs successfully in qemu (with machine target
"integratorcp"). No other patches required.
Regards
Greg
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU
2016-12-07 14:33 ` Vladimir Murzin
2016-12-09 3:02 ` Greg Ungerer
@ 2016-12-09 20:29 ` Russell King - ARM Linux
2016-12-12 5:48 ` Greg Ungerer
` (2 more replies)
1 sibling, 3 replies; 10+ messages in thread
From: Russell King - ARM Linux @ 2016-12-09 20:29 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Dec 07, 2016 at 02:33:53PM +0000, Vladimir Murzin wrote:
> Hi Linus,
>
> On 07/12/16 14:11, Linus Walleij wrote:
> > Another target I had in mind was the Integrator which
> > incidentally supports a bunch of the old noMMU core
> > tiles where we can swap in an ARM946, which I guess
> > could work with this?
>
> Do you mind trying my "Allow NOMMU for MULTIPLATFORM" series [1]? Greg just
> reported it did a trick for Versatile, there is a good chance it would work
> for Integrator too ;)
My views on gluing multiplatform and nommu together have already been
stated several times, and remain unchanged.
Greg's patch looks almost sane, but what I'd like to see is instead of
directly doing this:
config ARCH_VERSATILE
bool "ARM Ltd. Versatile family"
- depends on ARCH_MULTI_V5
+ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARMV5
we could do:
config ARCH_VERSATILE
bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5
- depends on ARCH_MULTI_V5
+ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARMV5
default y if ARM_SINGLE_ARCH_VERSATILE
adding the versatile entry in the upper level choice (where it always used
to be) but with "ARM_SINGLE_ARCH_VERSATILE" instead.
This would have the effect of allowing the multiplatform-converted stuff
to start being used on nommu (again) but without running into the problems
I've highlighted.
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU
2016-12-09 20:29 ` Russell King - ARM Linux
@ 2016-12-12 5:48 ` Greg Ungerer
2016-12-12 5:50 ` [PATCHv2 4/4] ARM: versatile: support configuring versatile machine for, no-MMU Greg Ungerer
2016-12-12 13:06 ` [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU Vladimir Murzin
2 siblings, 0 replies; 10+ messages in thread
From: Greg Ungerer @ 2016-12-12 5:48 UTC (permalink / raw)
To: linux-arm-kernel
On 10/12/16 06:29, Russell King - ARM Linux wrote:
> On Wed, Dec 07, 2016 at 02:33:53PM +0000, Vladimir Murzin wrote:
>> Hi Linus,
>>
>> On 07/12/16 14:11, Linus Walleij wrote:
>>> Another target I had in mind was the Integrator which
>>> incidentally supports a bunch of the old noMMU core
>>> tiles where we can swap in an ARM946, which I guess
>>> could work with this?
>>
>> Do you mind trying my "Allow NOMMU for MULTIPLATFORM" series [1]? Greg just
>> reported it did a trick for Versatile, there is a good chance it would work
>> for Integrator too ;)
>
> My views on gluing multiplatform and nommu together have already been
> stated several times, and remain unchanged.
>
> Greg's patch looks almost sane, but what I'd like to see is instead of
> directly doing this:
>
> config ARCH_VERSATILE
> bool "ARM Ltd. Versatile family"
> - depends on ARCH_MULTI_V5
> + depends on ARCH_MULTI_V5 || ARM_SINGLE_ARMV5
>
> we could do:
>
> config ARCH_VERSATILE
> bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5
> - depends on ARCH_MULTI_V5
> + depends on ARCH_MULTI_V5 || ARM_SINGLE_ARMV5
> default y if ARM_SINGLE_ARCH_VERSATILE
>
> adding the versatile entry in the upper level choice (where it always used
> to be) but with "ARM_SINGLE_ARCH_VERSATILE" instead.
>
> This would have the effect of allowing the multiplatform-converted stuff
> to start being used on nommu (again) but without running into the problems
> I've highlighted.
Thanks for the feedback Russell. Let me re-spin this patch with
this in mind.
Regards
Greg
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCHv2 4/4] ARM: versatile: support configuring versatile machine for, no-MMU
2016-12-09 20:29 ` Russell King - ARM Linux
2016-12-12 5:48 ` Greg Ungerer
@ 2016-12-12 5:50 ` Greg Ungerer
2016-12-12 13:06 ` [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU Vladimir Murzin
2 siblings, 0 replies; 10+ messages in thread
From: Greg Ungerer @ 2016-12-12 5:50 UTC (permalink / raw)
To: linux-arm-kernel
Allow the arm versatile machine to be configured for no-MMU operation.
Older kernels had the ability to build the versatile machine with the MMU
disabled (!CONFIG_MMU). Recent changes to convert the versatile machine
to device tree lost this ability. (Although older kernels could be built
they did not run due to a bug in the IO_ADDRESS() mapping on this machine).
The motivation for this is that the versatile machine is well supported
in qemu. And this provides an excellent platform for development and
testing no-MMU support on ARM in general.
This patch adds a versatile platform selection in the upper level arm
system type menu - where it appeared in older kernel versions - when
configuring for the no-MMU case. There is no visible change to the way
versatile is selected for the MMU enabled case.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
---
arch/arm/Kconfig | 11 +++++++++++
arch/arm/Kconfig.debug | 3 ++-
arch/arm/mach-versatile/Kconfig | 5 +++--
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index b5d529f..8960e7a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -353,6 +353,17 @@ config ARM_SINGLE_ARMV7M
select SPARSE_IRQ
select USE_OF
+config ARM_SINGLE_ARCH_VERSATILE
+ bool "ARM Ltd. Versatile family"
+ depends on !MMU
+ select AUTO_ZRELADDR
+ select CLKSRC_OF
+ select COMMON_CLK
+ select GENERIC_CLOCKEVENTS
+ select GPIOLIB
+ select SPARSE_IRQ
+ select USE_OF
+
config ARCH_GEMINI
bool "Cortina Systems Gemini"
select CLKSRC_MMIO
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index d83f7c3..3f393e4 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -1712,7 +1712,8 @@ config DEBUG_UNCOMPRESS
config UNCOMPRESS_INCLUDE
string
default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
- PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
+ PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \
+ ARM_SINGLE_ARCH_VERSATILE
default "mach/uncompress.h"
config EARLY_PRINTK
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
index c257d40..c03a8c8 100644
--- a/arch/arm/mach-versatile/Kconfig
+++ b/arch/arm/mach-versatile/Kconfig
@@ -1,6 +1,7 @@
config ARCH_VERSATILE
- bool "ARM Ltd. Versatile family"
- depends on ARCH_MULTI_V5
+ bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5
+ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARCH_VERSATILE
+ default y if ARM_SINGLE_ARCH_VERSATILE
select ARM_AMBA
select ARM_TIMER_SP804
select ARM_VIC
--
1.9.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU
2016-12-09 20:29 ` Russell King - ARM Linux
2016-12-12 5:48 ` Greg Ungerer
2016-12-12 5:50 ` [PATCHv2 4/4] ARM: versatile: support configuring versatile machine for, no-MMU Greg Ungerer
@ 2016-12-12 13:06 ` Vladimir Murzin
2 siblings, 0 replies; 10+ messages in thread
From: Vladimir Murzin @ 2016-12-12 13:06 UTC (permalink / raw)
To: linux-arm-kernel
On 09/12/16 20:29, Russell King - ARM Linux wrote:
> On Wed, Dec 07, 2016 at 02:33:53PM +0000, Vladimir Murzin wrote:
>> Hi Linus,
>>
>> On 07/12/16 14:11, Linus Walleij wrote:
>>> Another target I had in mind was the Integrator which
>>> incidentally supports a bunch of the old noMMU core
>>> tiles where we can swap in an ARM946, which I guess
>>> could work with this?
>>
>> Do you mind trying my "Allow NOMMU for MULTIPLATFORM" series [1]? Greg just
>> reported it did a trick for Versatile, there is a good chance it would work
>> for Integrator too ;)
>
> My views on gluing multiplatform and nommu together have already been
> stated several times, and remain unchanged.
>
Should I treat this as the whole series is discarded or there is something you
can pick up?
Cheers
Vladimir
> Greg's patch looks almost sane, but what I'd like to see is instead of
> directly doing this:
>
> config ARCH_VERSATILE
> bool "ARM Ltd. Versatile family"
> - depends on ARCH_MULTI_V5
> + depends on ARCH_MULTI_V5 || ARM_SINGLE_ARMV5
>
> we could do:
>
> config ARCH_VERSATILE
> bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5
> - depends on ARCH_MULTI_V5
> + depends on ARCH_MULTI_V5 || ARM_SINGLE_ARMV5
> default y if ARM_SINGLE_ARCH_VERSATILE
>
> adding the versatile entry in the upper level choice (where it always used
> to be) but with "ARM_SINGLE_ARCH_VERSATILE" instead.
>
> This would have the effect of allowing the multiplatform-converted stuff
> to start being used on nommu (again) but without running into the problems
> I've highlighted.
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU
2016-12-07 14:11 ` Linus Walleij
2016-12-07 14:33 ` Vladimir Murzin
@ 2016-12-07 14:34 ` Greg Ungerer
1 sibling, 0 replies; 10+ messages in thread
From: Greg Ungerer @ 2016-12-07 14:34 UTC (permalink / raw)
To: linux-arm-kernel
Hi Linus,
On 08/12/16 00:11, Linus Walleij wrote:
> On Wed, Dec 7, 2016 at 7:59 AM, Greg Ungerer <gerg@uclinux.org> wrote:
>
>> The motivation for this is that the versatile machine is well supported
>> in qemu. And this provides an excellent platform for development and
>> testing no-MMU support on ARM in general.
>>
>> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
>
> Pretty cool eh?
Yep :-)
> Have you tested it on real hardware?
No, I don't have a Versatile board, or access to one...
> Otherwise I can test it if I have a git branch
> I can pull in and compile.
I have been stashing the changes here for now:
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu.git
in the armnommu branch.
> Another target I had in mind was the Integrator which
> incidentally supports a bunch of the old noMMU core
> tiles where we can swap in an ARM946, which I guess
> could work with this?
It should do, or at least should be able to be made to work with it.
>> --- a/arch/arm/mach-versatile/Kconfig
>> +++ b/arch/arm/mach-versatile/Kconfig
>> @@ -1,12 +1,13 @@
>> config ARCH_VERSATILE
>> bool "ARM Ltd. Versatile family"
>> - depends on ARCH_MULTI_V5
>> + depends on ARCH_MULTI_V5 || ARM_SINGLE_ARMV5
>> select ARM_AMBA
>> select ARM_TIMER_SP804
>> select ARM_VIC
>> select CLKSRC_VERSATILE
>> select COMMON_CLK_VERSATILE
>> select CPU_ARM926T
>> + select GPIOLIB
>
> Not really related but I don't mind.
No, probably strictly not. But without this here we lose CONFIG_GPIO
for the no-MMU case. When CONFIG_MMU was enabled it was being selected
via some other path through arch/arm/Kconfig - I don't recall at the
moment where exactly.
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
Thanks
Greg
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2016-12-12 13:06 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-07 6:59 [PATCH 3/4] ARM: versatile: empty Makefile.boot needed for no-MMU compile Greg Ungerer
2016-12-07 6:59 ` [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU Greg Ungerer
2016-12-07 14:11 ` Linus Walleij
2016-12-07 14:33 ` Vladimir Murzin
2016-12-09 3:02 ` Greg Ungerer
2016-12-09 20:29 ` Russell King - ARM Linux
2016-12-12 5:48 ` Greg Ungerer
2016-12-12 5:50 ` [PATCHv2 4/4] ARM: versatile: support configuring versatile machine for, no-MMU Greg Ungerer
2016-12-12 13:06 ` [PATCH 4/4] ARM: versatile: support configuring versatile machine for no-MMU Vladimir Murzin
2016-12-07 14:34 ` Greg Ungerer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).