mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
s390/mm: add set_pte_bit()/clear_pte_bit() helper functions
Add set_pte_bit()/clear_pte_bit() and set_pXd_bit()/clear_pXd_bit helper functions which are supposed to be used if bits within ptes/pXds are set/cleared. The only point of these helper functions is to get more readable code. This is quite similar to what arm64 has. Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
parent
e2aaae2d36
commit
f29111f117
1 changed files with 30 additions and 0 deletions
|
@ -538,6 +538,36 @@ static inline int mm_alloc_pgste(struct mm_struct *mm)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline pte_t clear_pte_bit(pte_t pte, pgprot_t prot)
|
||||
{
|
||||
return __pte(pte_val(pte) & ~pgprot_val(prot));
|
||||
}
|
||||
|
||||
static inline pte_t set_pte_bit(pte_t pte, pgprot_t prot)
|
||||
{
|
||||
return __pte(pte_val(pte) | pgprot_val(prot));
|
||||
}
|
||||
|
||||
static inline pmd_t clear_pmd_bit(pmd_t pmd, pgprot_t prot)
|
||||
{
|
||||
return __pmd(pmd_val(pmd) & ~pgprot_val(prot));
|
||||
}
|
||||
|
||||
static inline pmd_t set_pmd_bit(pmd_t pmd, pgprot_t prot)
|
||||
{
|
||||
return __pmd(pmd_val(pmd) | pgprot_val(prot));
|
||||
}
|
||||
|
||||
static inline pud_t clear_pud_bit(pud_t pud, pgprot_t prot)
|
||||
{
|
||||
return __pud(pud_val(pud) & ~pgprot_val(prot));
|
||||
}
|
||||
|
||||
static inline pud_t set_pud_bit(pud_t pud, pgprot_t prot)
|
||||
{
|
||||
return __pud(pud_val(pud) | pgprot_val(prot));
|
||||
}
|
||||
|
||||
/*
|
||||
* In the case that a guest uses storage keys
|
||||
* faults should no longer be backed by zero pages
|
||||
|
|
Loading…
Add table
Reference in a new issue