cregit-Linux how code gets into the kernel

Release 4.8 arch/arm/include/asm/module.h

#ifndef _ASM_ARM_MODULE_H

#define _ASM_ARM_MODULE_H

#include <asm-generic/module.h>

struct unwind_table;

#ifdef CONFIG_ARM_UNWIND
enum {
	
ARM_SEC_INIT,
	
ARM_SEC_DEVINIT,
	
ARM_SEC_CORE,
	
ARM_SEC_EXIT,
	
ARM_SEC_DEVEXIT,
	
ARM_SEC_HOT,
	
ARM_SEC_UNLIKELY,
	
ARM_SEC_MAX,
};
#endif


struct mod_arch_specific {
#ifdef CONFIG_ARM_UNWIND
	
struct unwind_table *unwind[ARM_SEC_MAX];
#endif
#ifdef CONFIG_ARM_MODULE_PLTS
	
struct elf32_shdr   *core_plt;
	
struct elf32_shdr   *init_plt;
	
int		    core_plt_count;
	
int		    init_plt_count;
#endif
};

u32 get_module_plt(struct module *mod, unsigned long loc, Elf32_Addr val);

/*
 * Add the ARM architecture version to the version magic string
 */

#define MODULE_ARCH_VERMAGIC_ARMVSN "ARMv" __stringify(__LINUX_ARM_ARCH__) " "

/* Add __virt_to_phys patching state as well */
#ifdef CONFIG_ARM_PATCH_PHYS_VIRT

#define MODULE_ARCH_VERMAGIC_P2V "p2v8 "
#else

#define MODULE_ARCH_VERMAGIC_P2V ""
#endif

/* Add instruction set architecture tag to distinguish ARM/Thumb kernels */
#ifdef CONFIG_THUMB2_KERNEL

#define MODULE_ARCH_VERMAGIC_ARMTHUMB "thumb2 "
#else

#define MODULE_ARCH_VERMAGIC_ARMTHUMB ""
#endif


#define MODULE_ARCH_VERMAGIC \
	MODULE_ARCH_VERMAGIC_ARMVSN \
        MODULE_ARCH_VERMAGIC_ARMTHUMB \
        MODULE_ARCH_VERMAGIC_P2V

#endif /* _ASM_ARM_MODULE_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
ard biesheuvelard biesheuvel4432.35%19.09%
russell kingrussell king2820.59%327.27%
phil carmodyphil carmody2115.44%218.18%
dave martindave martin1712.50%19.09%
catalin marinascatalin marinas107.35%19.09%
pre-gitpre-git96.62%19.09%
douglas andersondouglas anderson42.94%19.09%
david howellsdavid howells32.21%19.09%
Total136100.00%11100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.