cregit-Linux how code gets into the kernel

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

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __MMU_H

#define __MMU_H

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

typedef struct {
	
spinlock_t lock;
	
cpumask_t cpu_attach_mask;
	
atomic_t flush_count;
	
unsigned int flush_mm;
	
struct list_head pgtable_list;
	
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.lock = __SPIN_LOCK_UNLOCKED(name.context.lock),           \
        .context.pgtable_list = LIST_HEAD_INIT(name.context.pgtable_list), \
        .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 Schwidefsky5446.15%1257.14%
David Howells2319.66%14.76%
Linus Torvalds (pre-git)1311.11%14.76%
Heiko Carstens108.55%29.52%
Dominik Dingel75.98%14.76%
Claudio Imbrenda75.98%14.76%
Greg Kroah-Hartman10.85%14.76%
Gerald Schaefer10.85%14.76%
Christian Bornträger10.85%14.76%
Total117100.00%21100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.