HPTE_R_C
if (iswrite && gpte->may_write && !(r & HPTE_R_C)) {
r |= HPTE_R_C;
if (!(hptep1 & HPTE_R_C) &&
if (r & HPTE_R_C) {
hptep[1] = cpu_to_be64(r & ~HPTE_R_C);
if (!(rev[i].guest_rpte & HPTE_R_C)) {
rev[i].guest_rpte |= HPTE_R_C;
rcbits_unset = ~revp->guest_rpte & (HPTE_R_R | HPTE_R_C);
rcbits_unset = ~revp->guest_rpte & (HPTE_R_R | HPTE_R_C);
(HPTE_R_R | HPTE_R_C)) | HPTE_GR_MODIFIED;
HPTE_R_R | HPTE_R_C | HPTE_R_M | PP_RWXX;
r &= rcbits | ~(HPTE_R_R | HPTE_R_C);
r |= be64_to_cpu(hptep[1]) & (HPTE_R_R | HPTE_R_C);
rcbits = be64_to_cpu(hptep[1]) & (HPTE_R_R | HPTE_R_C);
if ((rcbits & HPTE_R_C) && memslot->dirty_bitmap)
rcbits = hpte_r & (HPTE_R_R | HPTE_R_C);
if (rcbits & HPTE_R_C)
ptel &= rcbits | ~(HPTE_R_R | HPTE_R_C);
rcbits = rev->guest_rpte & (HPTE_R_R|HPTE_R_C);
rcbits = rev->guest_rpte & (HPTE_R_R|HPTE_R_C);
r |= be64_to_cpu(hpte[1]) & (HPTE_R_R | HPTE_R_C);
r = rev[i].guest_rpte | (r & (HPTE_R_R | HPTE_R_C));
gr |= r & (HPTE_R_R | HPTE_R_C);
if (gr & HPTE_R_C) {
rev->guest_rpte &= ~HPTE_R_C;
gr |= r & (HPTE_R_R | HPTE_R_C);
if (r & HPTE_R_C) {
hpte[1] = cpu_to_be64(r & ~HPTE_R_C);
tsh |= (pte[1] & (HPTE_R_C | HPTE_R_R)) << 43;
HPTE_R_C)));
rflags |= HPTE_R_C;
.mask = HPTE_R_C,
.val = HPTE_R_C,