diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-04-30 08:44:44 -0400 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-08-25 08:35:57 -0400 |
commit | 55dbbdd9a832b3c0546a65df155d9e6eee8c312e (patch) | |
tree | d78ca606e5a072294a10066648a11e407801738f /arch/s390 | |
parent | 331cbc277ec4ae5827b9ca538d9b5469fdca0947 (diff) |
KVM: s390/mm: readd address parameter to pgste_ipte_notify
Revert git commit 1b7fd6952063 ("remove unecessary parameter from
pgste_ipte_notify")
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/include/asm/pgtable.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h index b76317c1f3eb..4a649888cb29 100644 --- a/arch/s390/include/asm/pgtable.h +++ b/arch/s390/include/asm/pgtable.h | |||
@@ -859,6 +859,7 @@ int gmap_ipte_notify(struct gmap *, unsigned long start, unsigned long len); | |||
859 | void gmap_do_ipte_notify(struct mm_struct *, pte_t *); | 859 | void gmap_do_ipte_notify(struct mm_struct *, pte_t *); |
860 | 860 | ||
861 | static inline pgste_t pgste_ipte_notify(struct mm_struct *mm, | 861 | static inline pgste_t pgste_ipte_notify(struct mm_struct *mm, |
862 | unsigned long addr, | ||
862 | pte_t *ptep, pgste_t pgste) | 863 | pte_t *ptep, pgste_t pgste) |
863 | { | 864 | { |
864 | #ifdef CONFIG_PGSTE | 865 | #ifdef CONFIG_PGSTE |
@@ -1110,7 +1111,7 @@ static inline int ptep_test_and_clear_user_dirty(struct mm_struct *mm, | |||
1110 | pgste_val(pgste) &= ~PGSTE_UC_BIT; | 1111 | pgste_val(pgste) &= ~PGSTE_UC_BIT; |
1111 | pte = *ptep; | 1112 | pte = *ptep; |
1112 | if (dirty && (pte_val(pte) & _PAGE_PRESENT)) { | 1113 | if (dirty && (pte_val(pte) & _PAGE_PRESENT)) { |
1113 | pgste = pgste_ipte_notify(mm, ptep, pgste); | 1114 | pgste = pgste_ipte_notify(mm, addr, ptep, pgste); |
1114 | __ptep_ipte(addr, ptep); | 1115 | __ptep_ipte(addr, ptep); |
1115 | if (MACHINE_HAS_ESOP || !(pte_val(pte) & _PAGE_WRITE)) | 1116 | if (MACHINE_HAS_ESOP || !(pte_val(pte) & _PAGE_WRITE)) |
1116 | pte_val(pte) |= _PAGE_PROTECT; | 1117 | pte_val(pte) |= _PAGE_PROTECT; |
@@ -1132,7 +1133,7 @@ static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, | |||
1132 | 1133 | ||
1133 | if (mm_has_pgste(vma->vm_mm)) { | 1134 | if (mm_has_pgste(vma->vm_mm)) { |
1134 | pgste = pgste_get_lock(ptep); | 1135 | pgste = pgste_get_lock(ptep); |
1135 | pgste = pgste_ipte_notify(vma->vm_mm, ptep, pgste); | 1136 | pgste = pgste_ipte_notify(vma->vm_mm, addr, ptep, pgste); |
1136 | } | 1137 | } |
1137 | 1138 | ||
1138 | pte = *ptep; | 1139 | pte = *ptep; |
@@ -1178,7 +1179,7 @@ static inline pte_t ptep_get_and_clear(struct mm_struct *mm, | |||
1178 | 1179 | ||
1179 | if (mm_has_pgste(mm)) { | 1180 | if (mm_has_pgste(mm)) { |
1180 | pgste = pgste_get_lock(ptep); | 1181 | pgste = pgste_get_lock(ptep); |
1181 | pgste = pgste_ipte_notify(mm, ptep, pgste); | 1182 | pgste = pgste_ipte_notify(mm, address, ptep, pgste); |
1182 | } | 1183 | } |
1183 | 1184 | ||
1184 | pte = *ptep; | 1185 | pte = *ptep; |
@@ -1202,7 +1203,7 @@ static inline pte_t ptep_modify_prot_start(struct mm_struct *mm, | |||
1202 | 1203 | ||
1203 | if (mm_has_pgste(mm)) { | 1204 | if (mm_has_pgste(mm)) { |
1204 | pgste = pgste_get_lock(ptep); | 1205 | pgste = pgste_get_lock(ptep); |
1205 | pgste_ipte_notify(mm, ptep, pgste); | 1206 | pgste_ipte_notify(mm, address, ptep, pgste); |
1206 | } | 1207 | } |
1207 | 1208 | ||
1208 | pte = *ptep; | 1209 | pte = *ptep; |
@@ -1239,7 +1240,7 @@ static inline pte_t ptep_clear_flush(struct vm_area_struct *vma, | |||
1239 | 1240 | ||
1240 | if (mm_has_pgste(vma->vm_mm)) { | 1241 | if (mm_has_pgste(vma->vm_mm)) { |
1241 | pgste = pgste_get_lock(ptep); | 1242 | pgste = pgste_get_lock(ptep); |
1242 | pgste = pgste_ipte_notify(vma->vm_mm, ptep, pgste); | 1243 | pgste = pgste_ipte_notify(vma->vm_mm, address, ptep, pgste); |
1243 | } | 1244 | } |
1244 | 1245 | ||
1245 | pte = *ptep; | 1246 | pte = *ptep; |
@@ -1273,7 +1274,7 @@ static inline pte_t ptep_get_and_clear_full(struct mm_struct *mm, | |||
1273 | 1274 | ||
1274 | if (!full && mm_has_pgste(mm)) { | 1275 | if (!full && mm_has_pgste(mm)) { |
1275 | pgste = pgste_get_lock(ptep); | 1276 | pgste = pgste_get_lock(ptep); |
1276 | pgste = pgste_ipte_notify(mm, ptep, pgste); | 1277 | pgste = pgste_ipte_notify(mm, address, ptep, pgste); |
1277 | } | 1278 | } |
1278 | 1279 | ||
1279 | pte = *ptep; | 1280 | pte = *ptep; |
@@ -1298,7 +1299,7 @@ static inline pte_t ptep_set_wrprotect(struct mm_struct *mm, | |||
1298 | if (pte_write(pte)) { | 1299 | if (pte_write(pte)) { |
1299 | if (mm_has_pgste(mm)) { | 1300 | if (mm_has_pgste(mm)) { |
1300 | pgste = pgste_get_lock(ptep); | 1301 | pgste = pgste_get_lock(ptep); |
1301 | pgste = pgste_ipte_notify(mm, ptep, pgste); | 1302 | pgste = pgste_ipte_notify(mm, address, ptep, pgste); |
1302 | } | 1303 | } |
1303 | 1304 | ||
1304 | ptep_flush_lazy(mm, address, ptep); | 1305 | ptep_flush_lazy(mm, address, ptep); |
@@ -1324,7 +1325,7 @@ static inline int ptep_set_access_flags(struct vm_area_struct *vma, | |||
1324 | return 0; | 1325 | return 0; |
1325 | if (mm_has_pgste(vma->vm_mm)) { | 1326 | if (mm_has_pgste(vma->vm_mm)) { |
1326 | pgste = pgste_get_lock(ptep); | 1327 | pgste = pgste_get_lock(ptep); |
1327 | pgste = pgste_ipte_notify(vma->vm_mm, ptep, pgste); | 1328 | pgste = pgste_ipte_notify(vma->vm_mm, address, ptep, pgste); |
1328 | } | 1329 | } |
1329 | 1330 | ||
1330 | ptep_flush_direct(vma->vm_mm, address, ptep); | 1331 | ptep_flush_direct(vma->vm_mm, address, ptep); |