Subject: [PATCH 0/4] arm/versatile: no-MMU support

From: [email-masked] (Vladimir Murzin)
Date: Wed, 7 Dec 2016 14:27:08 +0000

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