Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
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
This commit is contained in:
@@ -3,12 +3,14 @@ config M68K
|
||||
bool
|
||||
default y
|
||||
select ARCH_32BIT_OFF_T
|
||||
select ARCH_HAS_BINFMT_FLAT
|
||||
select ARCH_HAS_DMA_MMAP_PGPROT if MMU && !COLDFIRE
|
||||
select ARCH_HAS_DMA_PREP_COHERENT
|
||||
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
|
||||
select ARCH_NO_PREEMPT if !COLDFIRE
|
||||
select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
|
||||
select DMA_DIRECT_REMAP if HAS_DMA && MMU && !COLDFIRE
|
||||
select HAVE_IDE
|
||||
select HAVE_AOUT if MMU
|
||||
|
@@ -6,35 +6,7 @@
|
||||
#ifndef __M68KNOMMU_FLAT_H__
|
||||
#define __M68KNOMMU_FLAT_H__
|
||||
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
#define flat_argvp_envp_on_stack() 1
|
||||
#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)
|
||||
{
|
||||
#ifdef CONFIG_CPU_HAS_NO_UNALIGNED
|
||||
return copy_from_user(addr, rp, 4) ? -EFAULT : 0;
|
||||
#else
|
||||
return get_user(*addr, rp);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel)
|
||||
{
|
||||
#ifdef CONFIG_CPU_HAS_NO_UNALIGNED
|
||||
return copy_to_user(rp, &addr, 4) ? -EFAULT : 0;
|
||||
#else
|
||||
return put_user(addr, rp);
|
||||
#endif
|
||||
}
|
||||
#define flat_get_relocate_addr(rel) (rel)
|
||||
|
||||
static inline int flat_set_persistent(u32 relval, u32 *persistent)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#include <asm-generic/flat.h>
|
||||
|
||||
#define FLAT_PLAT_INIT(regs) \
|
||||
do { \
|
||||
|
Reference in New Issue
Block a user