Commit 398364a3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull m68nommu updates from Greg Ungerer:
 "A series of cleanups for the FLAT format binary loader, binfmt_flat,
  from Christoph.

  The end goal is to support no-MMU on RISC-V, and the last patch
  enables that"

* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
  riscv: add binfmt_flat support
  binfmt_flat: don't offset the data start
  binfmt_flat: move the MAX_SHARED_LIBS definition to binfmt_flat.c
  binfmt_flat: remove the persistent argument from flat_get_addr_from_rp
  binfmt_flat: provide an asm-generic/flat.h
  binfmt_flat: make support for old format binaries optional
  binfmt_flat: add a ARCH_HAS_BINFMT_FLAT option
  binfmt_flat: add endianess annotations
  binfmt_flat: use fixed size type for the on-disk format
  binfmt_flat: consolidate two version of flat_v2_reloc_t
  binfmt_flat: remove the unused OLD_FLAT_FLAG_RAM definition
  binfmt_flat: remove the uapi <linux/flat.h> header
  binfmt_flat: replace flat_argvp_envp_on_stack with a Kconfig variable
  binfmt_flat: remove flat_old_ram_flag
  binfmt_flat: provide a default version of flat_get_relocate_addr
  binfmt_flat: remove flat_set_persistent
  binfmt_flat: remove flat_reloc_valid
parents d2b6b4c8 ad97f9df
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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
@@ -30,6 +31,7 @@ config ARM
	select ARCH_USE_BUILTIN_BSWAP
	select ARCH_USE_CMPXCHG_LOCKREF
	select ARCH_WANT_IPC_PARSE_VERSION
	select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
	select BUILDTIME_EXTABLE_SORT if MMU
	select CLONE_BACKWARDS
	select CPU_PM if SUSPEND || CPU_IDLE
+1 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ generic-y += early_ioremap.h
generic-y += emergency-restart.h
generic-y += exec.h
generic-y += extable.h
generic-y += flat.h
generic-y += irq_regs.h
generic-y += kdebug.h
generic-y += local.h
+1 −0
Original line number Diff line number Diff line
@@ -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
+1 −6
Original line number Diff line number Diff line
@@ -4,11 +4,8 @@

#include <asm/unaligned.h>

#define flat_argvp_envp_on_stack()			0
#define flat_old_ram_flag(flags)			(flags)
#define flat_reloc_valid(reloc, size)			((reloc) <= (size))
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
					u32 *addr, u32 *persistent)
					u32 *addr)
{
	*addr = get_unaligned((__force u32 *)rp);
	return 0;
@@ -18,7 +15,5 @@ static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel)
	put_unaligned(addr, (__force u32 *)rp);
	return 0;
}
#define flat_get_relocate_addr(rel)			(rel)
#define flat_set_persistent(relval, p)			0

#endif /* __ASM_C6X_FLAT_H */
+3 −0
Original line number Diff line number Diff line
@@ -2,6 +2,9 @@
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
	select HAVE_UID16
	select VIRT_TO_BUS
Loading