cregit-Linux how code gets into the kernel

Release 4.11 arch/arm/include/asm/mach/arch.h

/*
 *  arch/arm/include/asm/mach/arch.h
 *
 *  Copyright (C) 2000 Russell King
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#include <linux/types.h>

#ifndef __ASSEMBLY__
#include <linux/reboot.h>

struct tag;
struct pt_regs;
struct smp_operations;
#ifdef CONFIG_SMP

#define smp_ops(ops) (&(ops))

#define smp_init_ops(ops) (&(ops))
#else

#define smp_ops(ops) (struct smp_operations *)NULL

#define smp_init_ops(ops) (bool (*)(void))NULL
#endif


struct machine_desc {
	
unsigned int		nr;		/* architecture number  */
	
const char		*name;		/* architecture name    */
	
unsigned long		atag_offset;	/* tagged list (relative) */
	
const char *const 	*dt_compat;	/* array of device tree
                                                 * 'compatible' strings */

	
unsigned int		nr_irqs;	/* number of IRQs */

#ifdef CONFIG_ZONE_DMA
	
phys_addr_t		dma_zone_size;	/* size of DMA-able area */
#endif

	
unsigned int		video_start;	/* start of video RAM   */
	
unsigned int		video_end;	/* end of video RAM     */

	
unsigned char		reserve_lp0 :1;	/* never has lp0        */
	
unsigned char		reserve_lp1 :1;	/* never has lp1        */
	
unsigned char		reserve_lp2 :1;	/* never has lp2        */
	
enum reboot_mode	reboot_mode;	/* default restart mode */
	
unsigned		l2c_aux_val;	/* L2 cache aux value   */
	
unsigned		l2c_aux_mask;	/* L2 cache aux mask    */
	
void			(*l2c_write_sec)(unsigned long, unsigned);
	
const struct smp_operations	*smp;	/* SMP operations       */
	
bool			(*smp_init)(void);
	
void			(*fixup)(struct tag *, char **);
	
void			(*dt_fixup)(void);
	
long long		(*pv_fixup)(void);
	
void			(*reserve)(void);/* reserve mem blocks   */
	
void			(*map_io)(void);/* IO mapping function  */
	
void			(*init_early)(void);
	
void			(*init_irq)(void);
	
void			(*init_time)(void);
	
void			(*init_machine)(void);
	
void			(*init_late)(void);
#ifdef CONFIG_MULTI_IRQ_HANDLER
	
void			(*handle_irq)(struct pt_regs *);
#endif
	
void			(*restart)(enum reboot_mode, const char *);
};

/*
 * Current machine - only accessible during boot.
 */
extern const struct machine_desc *machine_desc;

/*
 * Machine type table - also only accessible during boot
 */
extern const struct machine_desc __arch_info_begin[], __arch_info_end[];

#define for_each_machine_desc(p)			\
	for (p = __arch_info_begin; p < __arch_info_end; p++)

/*
 * Set of macros to define architecture features.  This is built into
 * a table by the linker.
 */

#define MACHINE_START(_type,_name)			\
static const struct machine_desc __mach_desc_##_type    \
 __used                                                 \
 __attribute__((__section__(".arch.info.init"))) = {    \
        .nr             = MACH_TYPE_##_type,            \
        .name           = _name,


#define MACHINE_END				\
};


#define DT_MACHINE_START(_name, _namestr)		\
static const struct machine_desc __mach_desc_##_name    \
 __used                                                 \
 __attribute__((__section__(".arch.info.init"))) = {    \
        .nr             = ~0,                           \
        .name           = _namestr,

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)9125.78%12.70%
Russell King7420.96%1335.14%
Grant C. Likely359.92%38.11%
Marc Zyngier308.50%12.70%
Jon Medhurst (Tixy)267.37%12.70%
Eric Miao164.53%12.70%
Nico Pitre154.25%38.11%
Laura Abbott92.55%12.70%
David Brownell92.55%12.70%
Shawn Guo92.55%12.70%
Linus Torvalds92.55%12.70%
Stephen Warren82.27%12.70%
Robin Holt82.27%25.41%
Santosh Shilimkar71.98%12.70%
Fabio Estevam20.57%12.70%
Uwe Kleine-König10.28%12.70%
Rob Herring10.28%12.70%
Masahiro Yamada10.28%12.70%
David Rientjes10.28%12.70%
Deepak Saxena10.28%12.70%
Total353100.00%37100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.