|
@@ -146,7 +146,7 @@ ENTRY(vhpt_miss)
|
|
|
(p6) dep r17=r18,r19,3,(PAGE_SHIFT-3) // r17=pgd_offset for region 5
|
|
|
(p7) dep r17=r18,r17,3,(PAGE_SHIFT-6) // r17=pgd_offset for region[0-4]
|
|
|
cmp.eq p7,p6=0,r21 // unused address bits all zeroes?
|
|
|
-#ifdef CONFIG_PGTABLE_4
|
|
|
+#if CONFIG_PGTABLE_LEVELS == 4
|
|
|
shr.u r28=r22,PUD_SHIFT // shift pud index into position
|
|
|
#else
|
|
|
shr.u r18=r22,PMD_SHIFT // shift pmd index into position
|
|
@@ -155,7 +155,7 @@ ENTRY(vhpt_miss)
|
|
|
ld8 r17=[r17] // get *pgd (may be 0)
|
|
|
;;
|
|
|
(p7) cmp.eq p6,p7=r17,r0 // was pgd_present(*pgd) == NULL?
|
|
|
-#ifdef CONFIG_PGTABLE_4
|
|
|
+#if CONFIG_PGTABLE_LEVELS == 4
|
|
|
dep r28=r28,r17,3,(PAGE_SHIFT-3) // r28=pud_offset(pgd,addr)
|
|
|
;;
|
|
|
shr.u r18=r22,PMD_SHIFT // shift pmd index into position
|
|
@@ -222,13 +222,13 @@ ENTRY(vhpt_miss)
|
|
|
*/
|
|
|
ld8 r25=[r21] // read *pte again
|
|
|
ld8 r26=[r17] // read *pmd again
|
|
|
-#ifdef CONFIG_PGTABLE_4
|
|
|
+#if CONFIG_PGTABLE_LEVELS == 4
|
|
|
ld8 r19=[r28] // read *pud again
|
|
|
#endif
|
|
|
cmp.ne p6,p7=r0,r0
|
|
|
;;
|
|
|
cmp.ne.or.andcm p6,p7=r26,r20 // did *pmd change
|
|
|
-#ifdef CONFIG_PGTABLE_4
|
|
|
+#if CONFIG_PGTABLE_LEVELS == 4
|
|
|
cmp.ne.or.andcm p6,p7=r19,r29 // did *pud change
|
|
|
#endif
|
|
|
mov r27=PAGE_SHIFT<<2
|
|
@@ -476,7 +476,7 @@ ENTRY(nested_dtlb_miss)
|
|
|
(p6) dep r17=r18,r19,3,(PAGE_SHIFT-3) // r17=pgd_offset for region 5
|
|
|
(p7) dep r17=r18,r17,3,(PAGE_SHIFT-6) // r17=pgd_offset for region[0-4]
|
|
|
cmp.eq p7,p6=0,r21 // unused address bits all zeroes?
|
|
|
-#ifdef CONFIG_PGTABLE_4
|
|
|
+#if CONFIG_PGTABLE_LEVELS == 4
|
|
|
shr.u r18=r22,PUD_SHIFT // shift pud index into position
|
|
|
#else
|
|
|
shr.u r18=r22,PMD_SHIFT // shift pmd index into position
|
|
@@ -487,7 +487,7 @@ ENTRY(nested_dtlb_miss)
|
|
|
(p7) cmp.eq p6,p7=r17,r0 // was pgd_present(*pgd) == NULL?
|
|
|
dep r17=r18,r17,3,(PAGE_SHIFT-3) // r17=p[u|m]d_offset(pgd,addr)
|
|
|
;;
|
|
|
-#ifdef CONFIG_PGTABLE_4
|
|
|
+#if CONFIG_PGTABLE_LEVELS == 4
|
|
|
(p7) ld8 r17=[r17] // get *pud (may be 0)
|
|
|
shr.u r18=r22,PMD_SHIFT // shift pmd index into position
|
|
|
;;
|