mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
KVM: s390: Add some useful mask macros
Add _{SEGMENT,REGION3}_FR_MASK, similar to _{SEGMENT,REGION3}_MASK, but
working on gfn/pfn instead of addresses. Use them in gaccess.c instead
of using the normal masks plus gpa_to_gfn().
Also add _PAGES_PER_{SEGMENT,REGION3} to make future code more readable.
Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
This commit is contained in:
parent
4aebd7d5c7
commit
6da4b1a435
|
|
@ -104,6 +104,11 @@ union pte {
|
|||
} tok;
|
||||
};
|
||||
|
||||
#define _SEGMENT_FR_MASK (_SEGMENT_MASK >> PAGE_SHIFT)
|
||||
#define _REGION3_FR_MASK (_REGION3_MASK >> PAGE_SHIFT)
|
||||
#define _PAGES_PER_SEGMENT _PAGE_ENTRIES
|
||||
#define _PAGES_PER_REGION3 (_PAGES_PER_SEGMENT * _CRST_ENTRIES)
|
||||
|
||||
/* Soft dirty, needed as macro for atomic operations on ptes */
|
||||
#define _PAGE_SD 0x002
|
||||
|
||||
|
|
|
|||
|
|
@ -1461,7 +1461,7 @@ static int _do_shadow_crste(struct gmap *sg, gpa_t raddr, union crste *host, uni
|
|||
lockdep_assert_held(&sg->kvm->mmu_lock);
|
||||
lockdep_assert_held(&sg->parent->children_lock);
|
||||
|
||||
gfn = f->gfn & gpa_to_gfn(is_pmd(*table) ? _SEGMENT_MASK : _REGION3_MASK);
|
||||
gfn = f->gfn & (is_pmd(*table) ? _SEGMENT_FR_MASK : _REGION3_FR_MASK);
|
||||
scoped_guard(spinlock, &sg->host_to_rmap_lock)
|
||||
rc = gmap_insert_rmap(sg, gfn, gpa_to_gfn(raddr), host->h.tt);
|
||||
if (rc)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user