cregit-Linux how code gets into the kernel

Release 4.11 arch/s390/include/asm/mmu.h

#ifndef __MMU_H

#define __MMU_H

#include <linux/cpumask.h>
#include <linux/errno.h>

typedef struct {
	
cpumask_t cpu_attach_mask;
	
atomic_t flush_count;
	
unsigned int flush_mm;
	
spinlock_t pgtable_lock;
	
struct list_head pgtable_list;
	
spinlock_t gmap_lock;
	
struct list_head gmap_list;
	
unsigned long gmap_asce;
	
unsigned long asce;
	
unsigned long asce_limit;
	
unsigned long vdso_base;
	/* The mmu context allocates 4K page tables. */
	
unsigned int alloc_pgste:1;
	/* The mmu context uses extended page tables. */
	
unsigned int has_pgste:1;
	/* The mmu context uses storage keys. */
	
unsigned int use_skey:1;
} 
mm_context_t;


#define INIT_MM_CONTEXT(name)						   \
	.context.pgtable_lock =                                            \
                        __SPIN_LOCK_UNLOCKED(name.context.pgtable_lock),   \
        .context.pgtable_list = LIST_HEAD_INIT(name.context.pgtable_list), \
        .context.gmap_lock = __SPIN_LOCK_UNLOCKED(name.context.gmap_lock), \
        .context.gmap_list = LIST_HEAD_INIT(name.context.gmap_list),


static inline int tprot(unsigned long addr) { int rc = -EFAULT; asm volatile( " tprot 0(%1),0\n" "0: ipm %0\n" " srl %0,28\n" "1:\n" EX_TABLE(0b,1b) : "+d" (rc) : "a" (addr) : "cc"); return rc; }

Contributors

PersonTokensPropCommitsCommitProp
David Howells23100.00%1100.00%
Total23100.00%1100.00%

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Martin Schwidefsky5750.89%1263.16%
David Howells2320.54%15.26%
Linus Torvalds (pre-git)1311.61%15.26%
Heiko Carstens108.93%210.53%
Dominik Dingel76.25%15.26%
Gerald Schaefer10.89%15.26%
Christian Bornträger10.89%15.26%
Total112100.00%19100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.