Message ID | 20190610212015.9157-10-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/15] binfmt_flat: remove flat_reloc_valid | expand |
On 6/10/19 10:20 PM, Christoph Hellwig wrote: > Allow architectures to opt into ARCH_HAS_BINFMT_FLAT support instead of > assuming that all nommu ports support the format. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > arch/arm/Kconfig | 1 + > arch/c6x/Kconfig | 1 + > arch/h8300/Kconfig | 1 + > arch/m68k/Kconfig | 1 + > arch/microblaze/Kconfig | 1 + > arch/sh/Kconfig | 1 + > arch/xtensa/Kconfig | 1 + > fs/Kconfig.binfmt | 5 ++++- > 8 files changed, 11 insertions(+), 1 deletion(-) For ARM bits: Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com> > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index b1b48c0bde76..695a26c68064 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -4,6 +4,7 @@ config ARM > default y > select ARCH_32BIT_OFF_T > select ARCH_CLOCKSOURCE_DATA > + select ARCH_HAS_BINFMT_FLAT > select ARCH_HAS_DEBUG_VIRTUAL if MMU > select ARCH_HAS_DEVMEM_IS_ALLOWED > select ARCH_HAS_ELF_RANDOMIZE > diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig > index eeb0471268a0..78dfe186d708 100644 > --- a/arch/c6x/Kconfig > +++ b/arch/c6x/Kconfig > @@ -7,6 +7,7 @@ > config C6X > def_bool y > select ARCH_32BIT_OFF_T > + select ARCH_HAS_BINFMT_FLAT > select ARCH_HAS_SYNC_DMA_FOR_CPU > select ARCH_HAS_SYNC_DMA_FOR_DEVICE > select CLKDEV_LOOKUP > diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig > index 7457f190caaa..ec800e9d5aad 100644 > --- a/arch/h8300/Kconfig > +++ b/arch/h8300/Kconfig > @@ -2,6 +2,7 @@ > config H8300 > def_bool y > select ARCH_32BIT_OFF_T > + select ARCH_HAS_BINFMT_FLAT > select BINFMT_FLAT_ARGVP_ENVP_ON_STACK > select BINFMT_FLAT_OLD_ALWAYS_RAM > select GENERIC_ATOMIC64 > diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig > index fd69ee5ad6ab..c0c43c624afa 100644 > --- a/arch/m68k/Kconfig > +++ b/arch/m68k/Kconfig > @@ -3,6 +3,7 @@ config M68K > bool > default y > select ARCH_32BIT_OFF_T > + select ARCH_HAS_BINFMT_FLAT > select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA > select ARCH_MIGHT_HAVE_PC_PARPORT if ISA > select ARCH_NO_COHERENT_DMA_MMAP if !MMU > diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig > index f11433daab4a..d411de05b628 100644 > --- a/arch/microblaze/Kconfig > +++ b/arch/microblaze/Kconfig > @@ -3,6 +3,7 @@ config MICROBLAZE > def_bool y > select ARCH_32BIT_OFF_T > select ARCH_NO_SWAP > + select ARCH_HAS_BINFMT_FLAT if !MMU > select ARCH_HAS_DMA_COHERENT_TO_PFN if MMU > select ARCH_HAS_GCOV_PROFILE_ALL > select ARCH_HAS_SYNC_DMA_FOR_CPU > diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig > index b77f512bb176..df3e6215b78c 100644 > --- a/arch/sh/Kconfig > +++ b/arch/sh/Kconfig > @@ -1,6 +1,7 @@ > # SPDX-License-Identifier: GPL-2.0 > config SUPERH > def_bool y > + select ARCH_HAS_BINFMT_FLAT if !MMU > select ARCH_HAS_PTE_SPECIAL > select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST > select ARCH_MIGHT_HAVE_PC_PARPORT > diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig > index 6ec1b75eabc5..ebc135bda921 100644 > --- a/arch/xtensa/Kconfig > +++ b/arch/xtensa/Kconfig > @@ -2,6 +2,7 @@ > config XTENSA > def_bool y > select ARCH_32BIT_OFF_T > + select ARCH_HAS_BINFMT_FLAT if !MMU > select ARCH_HAS_SYNC_DMA_FOR_CPU > select ARCH_HAS_SYNC_DMA_FOR_DEVICE > select ARCH_NO_COHERENT_DMA_MMAP if !MMU > diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt > index 82f7d7f234f3..286b425b30b9 100644 > --- a/fs/Kconfig.binfmt > +++ b/fs/Kconfig.binfmt > @@ -91,9 +91,12 @@ config BINFMT_SCRIPT > > Most systems will not boot if you say M or N here. If unsure, say Y. > > +config ARCH_HAS_BINFMT_FLAT > + bool > + > config BINFMT_FLAT > bool "Kernel support for flat binaries" > - depends on !MMU || ARM || M68K > + depends on ARCH_HAS_BINFMT_FLAT > help > Support uClinux FLAT format binaries. > >
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b1b48c0bde76..695a26c68064 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -4,6 +4,7 @@ config ARM default y select ARCH_32BIT_OFF_T select ARCH_CLOCKSOURCE_DATA + select ARCH_HAS_BINFMT_FLAT select ARCH_HAS_DEBUG_VIRTUAL if MMU select ARCH_HAS_DEVMEM_IS_ALLOWED select ARCH_HAS_ELF_RANDOMIZE diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig index eeb0471268a0..78dfe186d708 100644 --- a/arch/c6x/Kconfig +++ b/arch/c6x/Kconfig @@ -7,6 +7,7 @@ config C6X def_bool y select ARCH_32BIT_OFF_T + select ARCH_HAS_BINFMT_FLAT select ARCH_HAS_SYNC_DMA_FOR_CPU select ARCH_HAS_SYNC_DMA_FOR_DEVICE select CLKDEV_LOOKUP diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 7457f190caaa..ec800e9d5aad 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig @@ -2,6 +2,7 @@ config H8300 def_bool y select ARCH_32BIT_OFF_T + select ARCH_HAS_BINFMT_FLAT select BINFMT_FLAT_ARGVP_ENVP_ON_STACK select BINFMT_FLAT_OLD_ALWAYS_RAM select GENERIC_ATOMIC64 diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index fd69ee5ad6ab..c0c43c624afa 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -3,6 +3,7 @@ config M68K bool default y select ARCH_32BIT_OFF_T + select ARCH_HAS_BINFMT_FLAT select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA select ARCH_MIGHT_HAVE_PC_PARPORT if ISA select ARCH_NO_COHERENT_DMA_MMAP if !MMU diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index f11433daab4a..d411de05b628 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig @@ -3,6 +3,7 @@ config MICROBLAZE def_bool y select ARCH_32BIT_OFF_T select ARCH_NO_SWAP + select ARCH_HAS_BINFMT_FLAT if !MMU select ARCH_HAS_DMA_COHERENT_TO_PFN if MMU select ARCH_HAS_GCOV_PROFILE_ALL select ARCH_HAS_SYNC_DMA_FOR_CPU diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index b77f512bb176..df3e6215b78c 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 config SUPERH def_bool y + select ARCH_HAS_BINFMT_FLAT if !MMU select ARCH_HAS_PTE_SPECIAL select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST select ARCH_MIGHT_HAVE_PC_PARPORT diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 6ec1b75eabc5..ebc135bda921 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig @@ -2,6 +2,7 @@ config XTENSA def_bool y select ARCH_32BIT_OFF_T + select ARCH_HAS_BINFMT_FLAT if !MMU select ARCH_HAS_SYNC_DMA_FOR_CPU select ARCH_HAS_SYNC_DMA_FOR_DEVICE select ARCH_NO_COHERENT_DMA_MMAP if !MMU diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt index 82f7d7f234f3..286b425b30b9 100644 --- a/fs/Kconfig.binfmt +++ b/fs/Kconfig.binfmt @@ -91,9 +91,12 @@ config BINFMT_SCRIPT Most systems will not boot if you say M or N here. If unsure, say Y. +config ARCH_HAS_BINFMT_FLAT + bool + config BINFMT_FLAT bool "Kernel support for flat binaries" - depends on !MMU || ARM || M68K + depends on ARCH_HAS_BINFMT_FLAT help Support uClinux FLAT format binaries.
Allow architectures to opt into ARCH_HAS_BINFMT_FLAT support instead of assuming that all nommu ports support the format. Signed-off-by: Christoph Hellwig <hch@lst.de> --- arch/arm/Kconfig | 1 + arch/c6x/Kconfig | 1 + arch/h8300/Kconfig | 1 + arch/m68k/Kconfig | 1 + arch/microblaze/Kconfig | 1 + arch/sh/Kconfig | 1 + arch/xtensa/Kconfig | 1 + fs/Kconfig.binfmt | 5 ++++- 8 files changed, 11 insertions(+), 1 deletion(-)