cregit-Linux how code gets into the kernel

Release 4.13 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;
	/* The mmu context uses CMMA. */
	
unsigned int use_cmma: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 Schwidefsky5747.90%1260.00%
David Howells2319.33%15.00%
Linus Torvalds (pre-git)1310.92%15.00%
Heiko Carstens108.40%210.00%
Claudio Imbrenda75.88%15.00%
Dominik Dingel75.88%15.00%
Gerald Schaefer10.84%15.00%
Christian Bornträger10.84%15.00%
Total119100.00%20100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.