linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] arm/versatile: no-MMU support
@ 2016-12-07  6:08 Greg Ungerer
  2016-12-07  6:08 ` [PATCH 1/4] ARM: versatile: support no-MMU mode addressing Greg Ungerer
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Greg Ungerer @ 2016-12-07  6:08 UTC (permalink / raw)
  To: linux-arm-kernel

Does the ARM Versatile machine have a maintainer?
I have CC'ed this patch set to those names reported by get_maintainer.
I had no feedback on the first posting of this series back in August.

The following patches support configuring and building the versatile
machine with a no-MMU kernel.

There is only a few minor changes required. It was previously possible
in older kernels to build for versatile with CONFIG_MMU disabled, but
the change to devicetree lost that capability. These changes make it
possible again.

One patch is a fix for address translation (broken in older kernels too),
two are build problems when CONFIG_MMU is disabled, and the last is the
actuall configuration changes needed.

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. With these patches applied
it is possible to build and run a kernel with MMU disabled on qemu.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
---
 arch/arm/Kconfig                       |   10 ++++++++++
 arch/arm/Kconfig.debug                 |    3 ++-
 arch/arm/include/asm/mach/map.h        |    1 +
 arch/arm/mach-versatile/Kconfig        |    3 ++-
 arch/arm/mach-versatile/Makefile.boot  |    3 +++
 arch/arm/mach-versatile/versatile_dt.c |    4 ++++
 6 files changed, 22 insertions(+), 2 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/4] ARM: versatile: support no-MMU mode addressing
  2016-12-07  6:08 [PATCH 0/4] arm/versatile: no-MMU support Greg Ungerer
@ 2016-12-07  6:08 ` Greg Ungerer
  2016-12-07  6:08 ` [PATCH 2/4] ARM: versatile: define empty debug_ll_io_init() for no-MMU Greg Ungerer
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: Greg Ungerer @ 2016-12-07  6:08 UTC (permalink / raw)
  To: linux-arm-kernel

Currently for the versatile boards the IO_ADDRESS() macro applies static
virtual address mapping for built-in IO devices. When operating without
the MMU enabled IO devices are accessed at their physical address, no
address translation is required.

For the !CONFIG_MMU case then define the IO_ADDRESS() macro to return the
physical address.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
---
 arch/arm/mach-versatile/versatile_dt.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c
index 3c8d39c..8cfa05a 100644
--- a/arch/arm/mach-versatile/versatile_dt.c
+++ b/arch/arm/mach-versatile/versatile_dt.c
@@ -37,7 +37,11 @@
 #include <asm/mach/map.h>
 
 /* macro to get at MMIO space when running virtually */
+#ifdef CONFIG_MMU
 #define IO_ADDRESS(x)		(((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000)
+#else
+#define IO_ADDRESS(x)		(x)
+#endif
 #define __io_address(n)		((void __iomem __force *)IO_ADDRESS(n))
 
 /*
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/4] ARM: versatile: define empty debug_ll_io_init() for no-MMU
  2016-12-07  6:08 [PATCH 0/4] arm/versatile: no-MMU support Greg Ungerer
  2016-12-07  6:08 ` [PATCH 1/4] ARM: versatile: support no-MMU mode addressing Greg Ungerer
@ 2016-12-07  6:08 ` Greg Ungerer
  2016-12-07  9:23 ` [PATCH 0/4] arm/versatile: no-MMU support Vladimir Murzin
  2016-12-07 14:16 ` Linus Walleij
  3 siblings, 0 replies; 10+ messages in thread
From: Greg Ungerer @ 2016-12-07  6:08 UTC (permalink / raw)
  To: linux-arm-kernel

No-MMU configured targets have no definition for debug_ll_io_init().
Not all machines use this and it will only be required if CONFIG_DEBUG_LL
is enabled.

But when compiling for a target that uses it and it is configured for
no-MMU (!CONFIG_MMU), for example the versatile machine, you will get:

  CC      arch/arm/mach-versatile/versatile_dt.o
arch/arm/mach-versatile/versatile_dt.c: In function ?versatile_map_io?:
arch/arm/mach-versatile/versatile_dt.c:283:2: error: implicit declaration of function ?debug_ll_io_init? [-Werror=implicit-function-declaration]
  debug_ll_io_init();
  ^

Fix by adding a macro for it to the !CONFIG_MMU path in map.h.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
---
 arch/arm/include/asm/mach/map.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h
index 9b7c328..b1fe9c8 100644
--- a/arch/arm/include/asm/mach/map.h
+++ b/arch/arm/include/asm/mach/map.h
@@ -62,6 +62,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys,
 #else
 #define iotable_init(map,num)	do { } while (0)
 #define vm_reserve_area_early(a,s,c)	do { } while (0)
+#define debug_ll_io_init()	do { } while (0)
 #endif
 
 #endif
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 0/4] arm/versatile: no-MMU support
  2016-12-07  6:08 [PATCH 0/4] arm/versatile: no-MMU support Greg Ungerer
  2016-12-07  6:08 ` [PATCH 1/4] ARM: versatile: support no-MMU mode addressing Greg Ungerer
  2016-12-07  6:08 ` [PATCH 2/4] ARM: versatile: define empty debug_ll_io_init() for no-MMU Greg Ungerer
@ 2016-12-07  9:23 ` Vladimir Murzin
  2016-12-07 13:57   ` Greg Ungerer
  2016-12-07 14:16 ` Linus Walleij
  3 siblings, 1 reply; 10+ messages in thread
From: Vladimir Murzin @ 2016-12-07  9:23 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Greg,

On 07/12/16 06:08, Greg Ungerer wrote:
> Does the ARM Versatile machine have a maintainer?
> I have CC'ed this patch set to those names reported by get_maintainer.
> I had no feedback on the first posting of this series back in August.
> 
> The following patches support configuring and building the versatile
> machine with a no-MMU kernel.
> 
> There is only a few minor changes required. It was previously possible
> in older kernels to build for versatile with CONFIG_MMU disabled, but
> the change to devicetree lost that capability. These changes make it
> possible again.
> 
> One patch is a fix for address translation (broken in older kernels too),
> two are build problems when CONFIG_MMU is disabled, and the last is the
> actuall configuration changes needed.
> 
> 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. With these patches applied
> it is possible to build and run a kernel with MMU disabled on qemu.

I'm wondering if my "Allow NOMMU for MULTIPLATFORM" series [1] work for you?

[1] https://www.spinics.net/lists/arm-kernel/msg546823.html

Cheers
Vladimir

> 
> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
> ---
>  arch/arm/Kconfig                       |   10 ++++++++++
>  arch/arm/Kconfig.debug                 |    3 ++-
>  arch/arm/include/asm/mach/map.h        |    1 +
>  arch/arm/mach-versatile/Kconfig        |    3 ++-
>  arch/arm/mach-versatile/Makefile.boot  |    3 +++
>  arch/arm/mach-versatile/versatile_dt.c |    4 ++++
>  6 files changed, 22 insertions(+), 2 deletions(-)
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/4] arm/versatile: no-MMU support
  2016-12-07  9:23 ` [PATCH 0/4] arm/versatile: no-MMU support Vladimir Murzin
@ 2016-12-07 13:57   ` Greg Ungerer
  2016-12-07 14:13     ` Vladimir Murzin
  2016-12-07 14:21     ` Greg Ungerer
  0 siblings, 2 replies; 10+ messages in thread
From: Greg Ungerer @ 2016-12-07 13:57 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Vladimir,

On 07/12/16 19:23, Vladimir Murzin wrote:
> Hi Greg,
>
> On 07/12/16 06:08, Greg Ungerer wrote:
>> Does the ARM Versatile machine have a maintainer?
>> I have CC'ed this patch set to those names reported by get_maintainer.
>> I had no feedback on the first posting of this series back in August.
>>
>> The following patches support configuring and building the versatile
>> machine with a no-MMU kernel.
>>
>> There is only a few minor changes required. It was previously possible
>> in older kernels to build for versatile with CONFIG_MMU disabled, but
>> the change to devicetree lost that capability. These changes make it
>> possible again.
>>
>> One patch is a fix for address translation (broken in older kernels too),
>> two are build problems when CONFIG_MMU is disabled, and the last is the
>> actuall configuration changes needed.
>>
>> 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. With these patches applied
>> it is possible to build and run a kernel with MMU disabled on qemu.
>
> I'm wondering if my "Allow NOMMU for MULTIPLATFORM" series [1] work for you?
>
> [1] https://www.spinics.net/lists/arm-kernel/msg546823.html

Sorry I hadn't seen these patches before.

Just tried them out. With CONFIG_EXPERT set I can select and
build for the Versatile machine with CONFIG_MMU not set. The
build is successful, but the resulting kernel doesn't boot.

I see that the resulting .config has CONFIG_PLAT_VERSATILE set
but not CONFIG_ARCH_VERSATILE. Is this intentional?

With CONFIG_ARCH_VERSATILE missing the build doesn't traverse
into arch/arm/mach-versatile, and you don't get any device tree
built.

Ultimately to produce a working kernel we will still need my
patch 01/04 ("ARM: versatile: support no-MMU mode addressing").
No surprise here, this was missing in older kernels too.

Regards
Greg


>>
>> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
>> ---
>>  arch/arm/Kconfig                       |   10 ++++++++++
>>  arch/arm/Kconfig.debug                 |    3 ++-
>>  arch/arm/include/asm/mach/map.h        |    1 +
>>  arch/arm/mach-versatile/Kconfig        |    3 ++-
>>  arch/arm/mach-versatile/Makefile.boot  |    3 +++
>>  arch/arm/mach-versatile/versatile_dt.c |    4 ++++
>>  6 files changed, 22 insertions(+), 2 deletions(-)
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>
>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/4] arm/versatile: no-MMU support
  2016-12-07 13:57   ` Greg Ungerer
@ 2016-12-07 14:13     ` Vladimir Murzin
  2016-12-07 14:21     ` Greg Ungerer
  1 sibling, 0 replies; 10+ messages in thread
From: Vladimir Murzin @ 2016-12-07 14:13 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/12/16 13:57, Greg Ungerer wrote:
> Hi Vladimir,
> 
> On 07/12/16 19:23, Vladimir Murzin wrote:
>> Hi Greg,
>>
>> On 07/12/16 06:08, Greg Ungerer wrote:
>>> Does the ARM Versatile machine have a maintainer?
>>> I have CC'ed this patch set to those names reported by get_maintainer.
>>> I had no feedback on the first posting of this series back in August.
>>>
>>> The following patches support configuring and building the versatile
>>> machine with a no-MMU kernel.
>>>
>>> There is only a few minor changes required. It was previously possible
>>> in older kernels to build for versatile with CONFIG_MMU disabled, but
>>> the change to devicetree lost that capability. These changes make it
>>> possible again.
>>>
>>> One patch is a fix for address translation (broken in older kernels too),
>>> two are build problems when CONFIG_MMU is disabled, and the last is the
>>> actuall configuration changes needed.
>>>
>>> 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. With these patches applied
>>> it is possible to build and run a kernel with MMU disabled on qemu.
>>
>> I'm wondering if my "Allow NOMMU for MULTIPLATFORM" series [1] work for you?
>>
>> [1] https://www.spinics.net/lists/arm-kernel/msg546823.html
> 
> Sorry I hadn't seen these patches before.
> 
> Just tried them out. With CONFIG_EXPERT set I can select and
> build for the Versatile machine with CONFIG_MMU not set. The
> build is successful, but the resulting kernel doesn't boot.

It is why "no guarantee" there ;)

> 
> I see that the resulting .config has CONFIG_PLAT_VERSATILE set
> but not CONFIG_ARCH_VERSATILE. Is this intentional?

No.

> 
> With CONFIG_ARCH_VERSATILE missing the build doesn't traverse
> into arch/arm/mach-versatile, and you don't get any device tree
> built.
> 

I've just done:

$ make ARCH=arm versatile_defconfig nommu.config
...
$ grep VERSATILE .config                                                                                                                                                                                                                                                   1 CONFIG_ARCH_VERSATILE=y
CONFIG_PLAT_VERSATILE=y
CONFIG_I2C_VERSATILE=y
CONFIG_POWER_RESET_VERSATILE=y
CONFIG_PLAT_VERSATILE_CLCD=y
# CONFIG_LEDS_VERSATILE is not set
CONFIG_COMMON_CLK_VERSATILE=y
CONFIG_CLKSRC_VERSATILE=y
CONFIG_VERSATILE_FPGA_IRQ=y
CONFIG_VERSATILE_FPGA_IRQ_NR=4
CONFIG_DEBUG_VERSATILE=y

$ cat arch/arm/configs/nommu.config                                                                                                                                                                                                                                          
CONFIG_EXPERT=y
# CONFIG_MMU is not set

I didn't submit nommu config fragment, but it is is what I've been using to
simplify defconfigs and randconfig builds.

> Ultimately to produce a working kernel we will still need my
> patch 01/04 ("ARM: versatile: support no-MMU mode addressing").
> No surprise here, this was missing in older kernels too.

Agreed.

Cheers
Vladimir

> 
> Regards
> Greg
> 
> 
>>>
>>> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
>>> ---
>>>  arch/arm/Kconfig                       |   10 ++++++++++
>>>  arch/arm/Kconfig.debug                 |    3 ++-
>>>  arch/arm/include/asm/mach/map.h        |    1 +
>>>  arch/arm/mach-versatile/Kconfig        |    3 ++-
>>>  arch/arm/mach-versatile/Makefile.boot  |    3 +++
>>>  arch/arm/mach-versatile/versatile_dt.c |    4 ++++
>>>  6 files changed, 22 insertions(+), 2 deletions(-)
>>>
>>>
>>> _______________________________________________
>>> linux-arm-kernel mailing list
>>> linux-arm-kernel at lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>>
>>
>>
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/4] arm/versatile: no-MMU support
  2016-12-07  6:08 [PATCH 0/4] arm/versatile: no-MMU support Greg Ungerer
                   ` (2 preceding siblings ...)
  2016-12-07  9:23 ` [PATCH 0/4] arm/versatile: no-MMU support Vladimir Murzin
@ 2016-12-07 14:16 ` Linus Walleij
  3 siblings, 0 replies; 10+ messages in thread
From: Linus Walleij @ 2016-12-07 14:16 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Dec 7, 2016 at 7:08 AM, Greg Ungerer <gerg@uclinux.org> wrote:

> Does the ARM Versatile machine have a maintainer?

Russell did the original port so he tends to look after it a bit.

Rob Herring and myself tend to maintain it a bit too.

> I have CC'ed this patch set to those names reported by get_maintainer.
> I had no feedback on the first posting of this series back in August.

Sorry.

> The following patches support configuring and building the versatile
> machine with a no-MMU kernel.

Which I think is pretty nice.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/4] arm/versatile: no-MMU support
  2016-12-07 13:57   ` Greg Ungerer
  2016-12-07 14:13     ` Vladimir Murzin
@ 2016-12-07 14:21     ` Greg Ungerer
  2016-12-07 14:27       ` Vladimir Murzin
  1 sibling, 1 reply; 10+ messages in thread
From: Greg Ungerer @ 2016-12-07 14:21 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Vladimir,

On 07/12/16 23:57, Greg Ungerer wrote:
> On 07/12/16 19:23, Vladimir Murzin wrote:
>> On 07/12/16 06:08, Greg Ungerer wrote:
>>> Does the ARM Versatile machine have a maintainer?
>>> I have CC'ed this patch set to those names reported by get_maintainer.
>>> I had no feedback on the first posting of this series back in August.
>>>
>>> The following patches support configuring and building the versatile
>>> machine with a no-MMU kernel.
>>>
>>> There is only a few minor changes required. It was previously possible
>>> in older kernels to build for versatile with CONFIG_MMU disabled, but
>>> the change to devicetree lost that capability. These changes make it
>>> possible again.
>>>
>>> One patch is a fix for address translation (broken in older kernels
>>> too),
>>> two are build problems when CONFIG_MMU is disabled, and the last is the
>>> actuall configuration changes needed.
>>>
>>> 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. With these patches applied
>>> it is possible to build and run a kernel with MMU disabled on qemu.
>>
>> I'm wondering if my "Allow NOMMU for MULTIPLATFORM" series [1] work
>> for you?
>>
>> [1] https://www.spinics.net/lists/arm-kernel/msg546823.html
>
> Sorry I hadn't seen these patches before.
>
> Just tried them out. With CONFIG_EXPERT set I can select and
> build for the Versatile machine with CONFIG_MMU not set. The
> build is successful, but the resulting kernel doesn't boot.
>
> I see that the resulting .config has CONFIG_PLAT_VERSATILE set
> but not CONFIG_ARCH_VERSATILE. Is this intentional?

Let me revise that. By setting the "Multiple platform selection"
selection correctly to v5 platforms I did get CONFIG_ARCH_VERSATILE
set, and could still successfully build the kernel.

A couple of other config options I had to readjust and I can
boot up this kernel under qemu. So success!


> With CONFIG_ARCH_VERSATILE missing the build doesn't traverse
> into arch/arm/mach-versatile, and you don't get any device tree
> built.
>
> Ultimately to produce a working kernel we will still need my
> patch 01/04 ("ARM: versatile: support no-MMU mode addressing").
> No surprise here, this was missing in older kernels too.

So in the end this is the only extra change I needed as well
to get the running kernel.

Regards
Greg

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/4] arm/versatile: no-MMU support
  2016-12-07 14:21     ` Greg Ungerer
@ 2016-12-07 14:27       ` Vladimir Murzin
  2016-12-07 14:40         ` Greg Ungerer
  0 siblings, 1 reply; 10+ messages in thread
From: Vladimir Murzin @ 2016-12-07 14:27 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Greg,

On 07/12/16 14:21, Greg Ungerer wrote:
> Hi Vladimir,
> 
> On 07/12/16 23:57, Greg Ungerer wrote:
>> On 07/12/16 19:23, Vladimir Murzin wrote:
>>> On 07/12/16 06:08, Greg Ungerer wrote:
>>>> Does the ARM Versatile machine have a maintainer?
>>>> I have CC'ed this patch set to those names reported by get_maintainer.
>>>> I had no feedback on the first posting of this series back in August.
>>>>
>>>> The following patches support configuring and building the versatile
>>>> machine with a no-MMU kernel.
>>>>
>>>> There is only a few minor changes required. It was previously possible
>>>> in older kernels to build for versatile with CONFIG_MMU disabled, but
>>>> the change to devicetree lost that capability. These changes make it
>>>> possible again.
>>>>
>>>> One patch is a fix for address translation (broken in older kernels
>>>> too),
>>>> two are build problems when CONFIG_MMU is disabled, and the last is the
>>>> actuall configuration changes needed.
>>>>
>>>> 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. With these patches applied
>>>> it is possible to build and run a kernel with MMU disabled on qemu.
>>>
>>> I'm wondering if my "Allow NOMMU for MULTIPLATFORM" series [1] work
>>> for you?
>>>
>>> [1] https://www.spinics.net/lists/arm-kernel/msg546823.html
>>
>> Sorry I hadn't seen these patches before.
>>
>> Just tried them out. With CONFIG_EXPERT set I can select and
>> build for the Versatile machine with CONFIG_MMU not set. The
>> build is successful, but the resulting kernel doesn't boot.
>>
>> I see that the resulting .config has CONFIG_PLAT_VERSATILE set
>> but not CONFIG_ARCH_VERSATILE. Is this intentional?
> 
> Let me revise that. By setting the "Multiple platform selection"
> selection correctly to v5 platforms I did get CONFIG_ARCH_VERSATILE
> set, and could still successfully build the kernel.
> 
> A couple of other config options I had to readjust and I can
> boot up this kernel under qemu. So success!
> 

Congrats!!!

Thanks for trying these patches! It is really nice to see someone else shows
interest on NOMMU! If you don't mind I'll keep you in Cc when/if I re-spin my
patches ;)

Cheers
Vladimir

> 
>> With CONFIG_ARCH_VERSATILE missing the build doesn't traverse
>> into arch/arm/mach-versatile, and you don't get any device tree
>> built.
>>
>> Ultimately to produce a working kernel we will still need my
>> patch 01/04 ("ARM: versatile: support no-MMU mode addressing").
>> No surprise here, this was missing in older kernels too.
> 
> So in the end this is the only extra change I needed as well
> to get the running kernel.
> 
> Regards
> Greg
> 
> 
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/4] arm/versatile: no-MMU support
  2016-12-07 14:27       ` Vladimir Murzin
@ 2016-12-07 14:40         ` Greg Ungerer
  0 siblings, 0 replies; 10+ messages in thread
From: Greg Ungerer @ 2016-12-07 14:40 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Vladimir,

On 08/12/16 00:27, Vladimir Murzin wrote:
> Hi Greg,
>
> On 07/12/16 14:21, Greg Ungerer wrote:
>> Hi Vladimir,
>>
>> On 07/12/16 23:57, Greg Ungerer wrote:
>>> On 07/12/16 19:23, Vladimir Murzin wrote:
>>>> On 07/12/16 06:08, Greg Ungerer wrote:
>>>>> Does the ARM Versatile machine have a maintainer?
>>>>> I have CC'ed this patch set to those names reported by get_maintainer.
>>>>> I had no feedback on the first posting of this series back in August.
>>>>>
>>>>> The following patches support configuring and building the versatile
>>>>> machine with a no-MMU kernel.
>>>>>
>>>>> There is only a few minor changes required. It was previously possible
>>>>> in older kernels to build for versatile with CONFIG_MMU disabled, but
>>>>> the change to devicetree lost that capability. These changes make it
>>>>> possible again.
>>>>>
>>>>> One patch is a fix for address translation (broken in older kernels
>>>>> too),
>>>>> two are build problems when CONFIG_MMU is disabled, and the last is the
>>>>> actuall configuration changes needed.
>>>>>
>>>>> 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. With these patches applied
>>>>> it is possible to build and run a kernel with MMU disabled on qemu.
>>>>
>>>> I'm wondering if my "Allow NOMMU for MULTIPLATFORM" series [1] work
>>>> for you?
>>>>
>>>> [1] https://www.spinics.net/lists/arm-kernel/msg546823.html
>>>
>>> Sorry I hadn't seen these patches before.
>>>
>>> Just tried them out. With CONFIG_EXPERT set I can select and
>>> build for the Versatile machine with CONFIG_MMU not set. The
>>> build is successful, but the resulting kernel doesn't boot.
>>>
>>> I see that the resulting .config has CONFIG_PLAT_VERSATILE set
>>> but not CONFIG_ARCH_VERSATILE. Is this intentional?
>>
>> Let me revise that. By setting the "Multiple platform selection"
>> selection correctly to v5 platforms I did get CONFIG_ARCH_VERSATILE
>> set, and could still successfully build the kernel.
>>
>> A couple of other config options I had to readjust and I can
>> boot up this kernel under qemu. So success!
>>
>
> Congrats!!!
>
> Thanks for trying these patches! It is really nice to see someone else shows
> interest on NOMMU! If you don't mind I'll keep you in Cc when/if I re-spin my
> patches ;)

Yes, please do.

Regards
Greg


> Cheers
> Vladimir
>
>>
>>> With CONFIG_ARCH_VERSATILE missing the build doesn't traverse
>>> into arch/arm/mach-versatile, and you don't get any device tree
>>> built.
>>>
>>> Ultimately to produce a working kernel we will still need my
>>> patch 01/04 ("ARM: versatile: support no-MMU mode addressing").
>>> No surprise here, this was missing in older kernels too.
>>
>> So in the end this is the only extra change I needed as well
>> to get the running kernel.
>>
>> Regards
>> Greg
>>
>>
>>
>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-12-07 14:40 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:08 [PATCH 0/4] arm/versatile: no-MMU support Greg Ungerer
2016-12-07  6:08 ` [PATCH 1/4] ARM: versatile: support no-MMU mode addressing Greg Ungerer
2016-12-07  6:08 ` [PATCH 2/4] ARM: versatile: define empty debug_ll_io_init() for no-MMU Greg Ungerer
2016-12-07  9:23 ` [PATCH 0/4] arm/versatile: no-MMU support Vladimir Murzin
2016-12-07 13:57   ` Greg Ungerer
2016-12-07 14:13     ` Vladimir Murzin
2016-12-07 14:21     ` Greg Ungerer
2016-12-07 14:27       ` Vladimir Murzin
2016-12-07 14:40         ` Greg Ungerer
2016-12-07 14:16 ` Linus Walleij

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).