Lines Matching refs:raddr
1042 static int gmap_protect_rmap(struct gmap *sg, unsigned long raddr, in gmap_protect_rmap() argument
1061 rmap->raddr = raddr; in gmap_protect_rmap()
1123 static void gmap_unshadow_page(struct gmap *sg, unsigned long raddr) in gmap_unshadow_page() argument
1128 table = gmap_table_walk(sg, raddr, 0); /* get page table pointer */ in gmap_unshadow_page()
1131 gmap_call_notifier(sg, raddr, raddr + _PAGE_SIZE - 1); in gmap_unshadow_page()
1132 ptep_unshadow_pte(sg->mm, raddr, (pte_t *) table); in gmap_unshadow_page()
1143 static void __gmap_unshadow_pgt(struct gmap *sg, unsigned long raddr, in __gmap_unshadow_pgt() argument
1149 for (i = 0; i < _PAGE_ENTRIES; i++, raddr += _PAGE_SIZE) in __gmap_unshadow_pgt()
1160 static void gmap_unshadow_pgt(struct gmap *sg, unsigned long raddr) in gmap_unshadow_pgt() argument
1166 ste = gmap_table_walk(sg, raddr, 1); /* get segment pointer */ in gmap_unshadow_pgt()
1169 gmap_call_notifier(sg, raddr, raddr + _SEGMENT_SIZE - 1); in gmap_unshadow_pgt()
1170 sto = (unsigned long) (ste - ((raddr & _SEGMENT_INDEX) >> _SEGMENT_SHIFT)); in gmap_unshadow_pgt()
1171 gmap_idte_one(sto | _ASCE_TYPE_SEGMENT, raddr); in gmap_unshadow_pgt()
1174 __gmap_unshadow_pgt(sg, raddr, pgt); in gmap_unshadow_pgt()
1189 static void __gmap_unshadow_sgt(struct gmap *sg, unsigned long raddr, in __gmap_unshadow_sgt() argument
1198 for (i = 0; i < _CRST_ENTRIES; i++, raddr += _SEGMENT_SIZE) { in __gmap_unshadow_sgt()
1203 __gmap_unshadow_pgt(sg, raddr, pgt); in __gmap_unshadow_sgt()
1218 static void gmap_unshadow_sgt(struct gmap *sg, unsigned long raddr) in gmap_unshadow_sgt() argument
1224 r3e = gmap_table_walk(sg, raddr, 2); /* get region-3 pointer */ in gmap_unshadow_sgt()
1227 gmap_call_notifier(sg, raddr, raddr + _REGION3_SIZE - 1); in gmap_unshadow_sgt()
1228 r3o = (unsigned long) (r3e - ((raddr & _REGION3_INDEX) >> _REGION3_SHIFT)); in gmap_unshadow_sgt()
1229 gmap_idte_one(r3o | _ASCE_TYPE_REGION3, raddr); in gmap_unshadow_sgt()
1232 __gmap_unshadow_sgt(sg, raddr, sgt); in gmap_unshadow_sgt()
1247 static void __gmap_unshadow_r3t(struct gmap *sg, unsigned long raddr, in __gmap_unshadow_r3t() argument
1256 for (i = 0; i < _CRST_ENTRIES; i++, raddr += _REGION3_SIZE) { in __gmap_unshadow_r3t()
1261 __gmap_unshadow_sgt(sg, raddr, sgt); in __gmap_unshadow_r3t()
1276 static void gmap_unshadow_r3t(struct gmap *sg, unsigned long raddr) in gmap_unshadow_r3t() argument
1282 r2e = gmap_table_walk(sg, raddr, 3); /* get region-2 pointer */ in gmap_unshadow_r3t()
1285 gmap_call_notifier(sg, raddr, raddr + _REGION2_SIZE - 1); in gmap_unshadow_r3t()
1286 r2o = (unsigned long) (r2e - ((raddr & _REGION2_INDEX) >> _REGION2_SHIFT)); in gmap_unshadow_r3t()
1287 gmap_idte_one(r2o | _ASCE_TYPE_REGION2, raddr); in gmap_unshadow_r3t()
1290 __gmap_unshadow_r3t(sg, raddr, r3t); in gmap_unshadow_r3t()
1305 static void __gmap_unshadow_r2t(struct gmap *sg, unsigned long raddr, in __gmap_unshadow_r2t() argument
1314 for (i = 0; i < _CRST_ENTRIES; i++, raddr += _REGION2_SIZE) { in __gmap_unshadow_r2t()
1319 __gmap_unshadow_r3t(sg, raddr, r3t); in __gmap_unshadow_r2t()
1334 static void gmap_unshadow_r2t(struct gmap *sg, unsigned long raddr) in gmap_unshadow_r2t() argument
1340 r1e = gmap_table_walk(sg, raddr, 4); /* get region-1 pointer */ in gmap_unshadow_r2t()
1343 gmap_call_notifier(sg, raddr, raddr + _REGION1_SIZE - 1); in gmap_unshadow_r2t()
1344 r1o = (unsigned long) (r1e - ((raddr & _REGION1_INDEX) >> _REGION1_SHIFT)); in gmap_unshadow_r2t()
1345 gmap_idte_one(r1o | _ASCE_TYPE_REGION1, raddr); in gmap_unshadow_r2t()
1348 __gmap_unshadow_r2t(sg, raddr, r2t); in gmap_unshadow_r2t()
1363 static void __gmap_unshadow_r1t(struct gmap *sg, unsigned long raddr, in __gmap_unshadow_r1t() argument
1372 for (i = 0; i < _CRST_ENTRIES; i++, raddr += _REGION1_SIZE) { in __gmap_unshadow_r1t()
1376 __gmap_unshadow_r2t(sg, raddr, r2t); in __gmap_unshadow_r1t()
1378 gmap_idte_one(asce, raddr); in __gmap_unshadow_r1t()
1576 unsigned long raddr, origin, offset, len; in gmap_shadow_r2t() local
1619 raddr = (saddr & _REGION1_MASK) | _SHADOW_RMAP_REGION1; in gmap_shadow_r2t()
1623 rc = gmap_protect_rmap(sg, raddr, origin + offset, len, PROT_READ); in gmap_shadow_r2t()
1633 gmap_unshadow_r2t(sg, raddr); in gmap_shadow_r2t()
1660 unsigned long raddr, origin, offset, len; in gmap_shadow_r3t() local
1702 raddr = (saddr & _REGION2_MASK) | _SHADOW_RMAP_REGION2; in gmap_shadow_r3t()
1706 rc = gmap_protect_rmap(sg, raddr, origin + offset, len, PROT_READ); in gmap_shadow_r3t()
1716 gmap_unshadow_r3t(sg, raddr); in gmap_shadow_r3t()
1743 unsigned long raddr, origin, offset, len; in gmap_shadow_sgt() local
1786 raddr = (saddr & _REGION3_MASK) | _SHADOW_RMAP_REGION3; in gmap_shadow_sgt()
1790 rc = gmap_protect_rmap(sg, raddr, origin + offset, len, PROT_READ); in gmap_shadow_sgt()
1800 gmap_unshadow_sgt(sg, raddr); in gmap_shadow_sgt()
1867 unsigned long raddr, origin; in gmap_shadow_pgt() local
1907 raddr = (saddr & _SEGMENT_MASK) | _SHADOW_RMAP_SEGMENT; in gmap_shadow_pgt()
1909 rc = gmap_protect_rmap(sg, raddr, origin, PAGE_SIZE, PROT_READ); in gmap_shadow_pgt()
1919 gmap_unshadow_pgt(sg, raddr); in gmap_shadow_pgt()
1960 rmap->raddr = (saddr & PAGE_MASK) | _SHADOW_RMAP_PGTABLE; in gmap_shadow_page()
2015 unsigned long start, end, bits, raddr; in gmap_shadow_notify() local
2039 bits = rmap->raddr & _SHADOW_RMAP_MASK; in gmap_shadow_notify()
2040 raddr = rmap->raddr ^ bits; in gmap_shadow_notify()
2043 gmap_unshadow_r2t(sg, raddr); in gmap_shadow_notify()
2046 gmap_unshadow_r3t(sg, raddr); in gmap_shadow_notify()
2049 gmap_unshadow_sgt(sg, raddr); in gmap_shadow_notify()
2052 gmap_unshadow_pgt(sg, raddr); in gmap_shadow_notify()
2055 gmap_unshadow_page(sg, raddr); in gmap_shadow_notify()