From: vladimir.murzin@arm.com (Vladimir Murzin)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 11/11] ARM: Allow ARCH_MULTIPLATFORM to be selected for NOMMU
Date: Tue, 22 Nov 2016 16:57:31 +0000 [thread overview]
Message-ID: <583478FB.4020008@arm.com> (raw)
In-Reply-To: <16587553.f9R1mxJih5@wuerfel>
On 22/11/16 10:17, Arnd Bergmann wrote:
> On Tuesday, November 22, 2016 9:26:08 AM CET Vladimir Murzin wrote:
>> With this patch applied potentially any platform can be built in NOMMU
>> configurations if CONFIG_EXPERT is selected. However, there is no
>> guaranty that platform can successfully run such Image. So the main
>> motivation behind of this patch:
>> - bring build coverage for NOMMU configurations
>> - allow known working NOMMU platforms (like R-class) to be used
>> - pave a way to add support for single address space (aka 1:1 mapping)
>> for MMU platforms, so they can be usable in NOMMU configurations
>>
>> Cc: Hartley Sweeten <hsweeten@visionengravers.com>
>> Cc: Ryan Mallon <rmallon@gmail.com>
>> Cc: Tony Lindgren <tony@atomide.com>
>> Cc: Thierry Reding <thierry.reding@gmail.com>
>> Cc: Russell King <linux@armlinux.org.uk>
>> Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
>
> I'd have to give this a spin with my randconfig build setup, I'd
> rather not introduce build regressions. Have you tried an
> allmodconfig build with CONFIG_MMU disabled?
I used defconfigs and just got results for allmodconfig apart of complain on
isb instruction in arch/arm/kernel/head-nommu.S [1] there are several link
time errors [2].
>
> Can you provide a git tree that I can try pulling in?
>
Unfortunately, I can't provide you with git tree at the moment I'll try to
do something around this before proposing the next version.
> Another question is what architecture levels and what platforms
> we want to support without MMU. The only ARMv4/v5 platform we
> still have that can actually use NOMMU cores is Integrator
> with its ARM7TDMI, ARM920T and ARM966E core tiles (and possibly
> others I couldn't immediately find). Do we actually care about
> them any more now that all the NOMMU world is ARMv7-M? Are
> there any benefits in running an ARM920T or ARM926E core
> with MMU disabled, and does this work with your patches?
>
I don't have such hardware, so I can't acctually test it - it is why "there is
no guaranty" :( OTOH, if sombody has these platforms these pathces is a good
start to try NOMMU.
> If not, we could limit it to ARMv7-A/R and possibly ARMv6.
> Depending on how the build tests go, a per-platform opt-in
> might be easier than having an opt-out for things that
> don't work.
>
> Arnd
>
[1]
AS arch/arm/kernel/head-nommu.o
arch/arm/kernel/head-nommu.S: Assembler messages:
arch/arm/kernel/head-nommu.S:223: Error: selected processor does not support ARM mode `isb'
arch/arm/kernel/head-nommu.S:231: Error: selected processor does not support ARM mode `isb'
arch/arm/kernel/head-nommu.S:235: Error: selected processor does not support ARM mode `isb'
arch/arm/kernel/head-nommu.S:244: Error: selected processor does not support ARM mode `isb'
arch/arm/kernel/head-nommu.S:248: Error: selected processor does not support ARM mode `isb'
arch/arm/kernel/head-nommu.S:258: Error: selected processor does not support ARM mode `isb'
arch/arm/kernel/head-nommu.S:265: Error: selected processor does not support ARM mode `isb'
make[1]: *** [arch/arm/kernel/head-nommu.o] Error 1
[2]
arch/arm/kernel/head-nommu.o: In function `secondary_startup':
(.text+0x1c): undefined reference to `__setup_mpu'
arch/arm/kernel/head-nommu.o: In function `stext':
(.head.text+0x30): undefined reference to `__setup_mpu'
arch/arm/kernel/built-in.o: In function `setup_arch':
arch/arm/kernel/smccc-call.o:(.init.text+0xa50): undefined reference to `erratum_a15_798181_init'
kernel/built-in.o: In function `kimage_free_entry':
memremap.c:(.text+0xd3d9c): undefined reference to `arch_phys_to_idmap_offset'
kernel/built-in.o: In function `kimage_alloc_page':
memremap.c:(.text+0xd4338): undefined reference to `arch_phys_to_idmap_offset'
kernel/built-in.o: In function `kimage_alloc_control_pages':
memremap.c:(.text+0xd4ac8): undefined reference to `arch_phys_to_idmap_offset'
kernel/built-in.o: In function `kimage_load_segment':
memremap.c:(.text+0xd4f40): undefined reference to `arch_phys_to_idmap_offset'
kernel/built-in.o: In function `crash_free_reserved_phys_range':
memremap.c:(.text+0xd50bc): undefined reference to `arch_phys_to_idmap_offset'
arch/arm/mach-mediatek/built-in.o: In function `__mtk_smp_prepare_cpus':
mediatek.c:(.init.text+0xe8): undefined reference to `secondary_startup_arm'
arch/arm/mach-qcom/built-in.o: In function `qcom_smp_prepare_cpus':
platsmp.c:(.init.text+0xe8): undefined reference to `secondary_startup_arm'
mm/built-in.o: In function `do_mmu_notifier_register':
usercopy.c:(.text+0x34d10): undefined reference to `mm_take_all_locks'
usercopy.c:(.text+0x34d9c): undefined reference to `mm_drop_all_locks'
usercopy.c:(.text+0x34de4): undefined reference to `mm_take_all_locks'
make: *** [vmlinux] Error 1
Cheers
Vladimir
next prev parent reply other threads:[~2016-11-22 16:57 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-22 9:25 [RFC PATCH 00/11] Allow NOMMU for MULTIPLATFORM Vladimir Murzin
2016-11-22 9:25 ` [RFC PATCH 01/11] ARM: NOMMU: define stubs for fixup Vladimir Murzin
2016-11-22 9:48 ` Russell King - ARM Linux
2016-11-22 9:54 ` Vladimir Murzin
2016-11-22 9:25 ` [RFC PATCH 02/11] ARM: ep93xx: select ARM_PATCH_PHYS_VIRT for MMU builds only Vladimir Murzin
2016-11-22 9:26 ` [RFC PATCH 03/11] ARM: omap: do not select HIGHMEM explicitly Vladimir Murzin
2016-11-22 9:51 ` Russell King - ARM Linux
2016-11-23 15:49 ` Tony Lindgren
2016-11-23 16:08 ` Vladimir Murzin
2016-11-22 9:26 ` [RFC PATCH 04/11] PCI: tegra: limit to MMU build only Vladimir Murzin
2016-11-22 9:31 ` Arnd Bergmann
2016-11-22 9:40 ` Vladimir Murzin
2016-11-22 9:54 ` Arnd Bergmann
2016-11-22 9:58 ` Vladimir Murzin
2016-11-22 11:26 ` Thierry Reding
2016-11-25 10:49 ` Vladimir Murzin
2016-11-22 16:15 ` Stephen Warren
2016-11-22 21:16 ` Arnd Bergmann
2016-11-22 22:27 ` Stephen Warren
2016-11-22 22:52 ` Arnd Bergmann
2016-11-22 9:26 ` [RFC PATCH 05/11] ARM: move arm_heavy_mb to MMU/noMMU neutral place Vladimir Murzin
2016-11-22 9:26 ` [RFC PATCH 06/11] ARM: tlbflush: drop dependency on CONFIG_SMP Vladimir Murzin
2016-11-22 10:03 ` Russell King - ARM Linux
2016-11-22 13:36 ` Vladimir Murzin
2016-11-24 17:41 ` Vladimir Murzin
2016-11-22 9:26 ` [RFC PATCH 07/11] ARM: sleep: allow it to be build for R-class Vladimir Murzin
2016-11-22 9:26 ` [RFC PATCH 08/11] ARM: NOMMU: define debug_ll_io_ini Vladimir Murzin
2016-11-22 9:26 ` [RFC PATCH 09/11] ARM: NOMMU: define SECTION_xxx macros Vladimir Murzin
2016-11-22 10:07 ` Russell King - ARM Linux
2016-11-22 11:50 ` Vladimir Murzin
2016-11-22 11:54 ` Russell King - ARM Linux
2016-11-22 17:03 ` Vladimir Murzin
2016-11-24 17:38 ` Vladimir Murzin
2016-11-22 9:26 ` [RFC PATCH 10/11] ARM: NOMMU: define __arm_ioremap_exec and pci_ioremap functions Vladimir Murzin
2016-11-22 9:26 ` [RFC PATCH 11/11] ARM: Allow ARCH_MULTIPLATFORM to be selected for NOMMU Vladimir Murzin
2016-11-22 10:17 ` Arnd Bergmann
2016-11-22 16:57 ` Vladimir Murzin [this message]
2016-11-23 15:48 ` Afzal Mohammed
2016-11-23 16:07 ` Vladimir Murzin
2016-11-24 17:28 ` Afzal Mohammed
2016-11-24 17:33 ` Vladimir Murzin
2016-11-24 18:09 ` Afzal Mohammed
2016-11-23 19:16 ` Russell King - ARM Linux
2016-11-24 17:25 ` Afzal Mohammed
2016-11-24 17:35 ` Russell King - ARM Linux
2016-11-24 18:07 ` Afzal Mohammed
2016-11-24 18:45 ` Russell King - ARM Linux
2016-11-25 11:20 ` Vladimir Murzin
2016-11-23 15:55 ` Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=583478FB.4020008@arm.com \
--to=vladimir.murzin@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).