mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-23 22:25:40 +08: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
@ -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…
Reference in New Issue
Block a user