diff options
Diffstat (limited to 'arch/powerpc/mm/hash_low_64.S')
| -rw-r--r-- | arch/powerpc/mm/hash_low_64.S | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/arch/powerpc/mm/hash_low_64.S b/arch/powerpc/mm/hash_low_64.S index 057cbbb4c576..463174a4a647 100644 --- a/arch/powerpc/mm/hash_low_64.S +++ b/arch/powerpc/mm/hash_low_64.S | |||
| @@ -46,7 +46,8 @@ | |||
| 46 | 46 | ||
| 47 | /* | 47 | /* |
| 48 | * _hash_page_4K(unsigned long ea, unsigned long access, unsigned long vsid, | 48 | * _hash_page_4K(unsigned long ea, unsigned long access, unsigned long vsid, |
| 49 | * pte_t *ptep, unsigned long trap, int local, int ssize) | 49 | * pte_t *ptep, unsigned long trap, unsigned long flags, |
| 50 | * int ssize) | ||
| 50 | * | 51 | * |
| 51 | * Adds a 4K page to the hash table in a segment of 4K pages only | 52 | * Adds a 4K page to the hash table in a segment of 4K pages only |
| 52 | */ | 53 | */ |
| @@ -298,7 +299,7 @@ htab_modify_pte: | |||
| 298 | li r6,MMU_PAGE_4K /* base page size */ | 299 | li r6,MMU_PAGE_4K /* base page size */ |
| 299 | li r7,MMU_PAGE_4K /* actual page size */ | 300 | li r7,MMU_PAGE_4K /* actual page size */ |
| 300 | ld r8,STK_PARAM(R9)(r1) /* segment size */ | 301 | ld r8,STK_PARAM(R9)(r1) /* segment size */ |
| 301 | ld r9,STK_PARAM(R8)(r1) /* get "local" param */ | 302 | ld r9,STK_PARAM(R8)(r1) /* get "flags" param */ |
| 302 | .globl htab_call_hpte_updatepp | 303 | .globl htab_call_hpte_updatepp |
| 303 | htab_call_hpte_updatepp: | 304 | htab_call_hpte_updatepp: |
| 304 | bl . /* Patched by htab_finish_init() */ | 305 | bl . /* Patched by htab_finish_init() */ |
| @@ -338,8 +339,8 @@ htab_pte_insert_failure: | |||
| 338 | *****************************************************************************/ | 339 | *****************************************************************************/ |
| 339 | 340 | ||
| 340 | /* _hash_page_4K(unsigned long ea, unsigned long access, unsigned long vsid, | 341 | /* _hash_page_4K(unsigned long ea, unsigned long access, unsigned long vsid, |
| 341 | * pte_t *ptep, unsigned long trap, int local, int ssize, | 342 | * pte_t *ptep, unsigned long trap, unsigned local flags, |
| 342 | * int subpg_prot) | 343 | * int ssize, int subpg_prot) |
| 343 | */ | 344 | */ |
| 344 | 345 | ||
| 345 | /* | 346 | /* |
| @@ -514,7 +515,7 @@ htab_insert_pte: | |||
| 514 | andis. r0,r31,_PAGE_4K_PFN@h | 515 | andis. r0,r31,_PAGE_4K_PFN@h |
| 515 | srdi r5,r31,PTE_RPN_SHIFT | 516 | srdi r5,r31,PTE_RPN_SHIFT |
| 516 | bne- htab_special_pfn | 517 | bne- htab_special_pfn |
| 517 | sldi r5,r5,PAGE_SHIFT-HW_PAGE_SHIFT | 518 | sldi r5,r5,PAGE_FACTOR |
| 518 | add r5,r5,r25 | 519 | add r5,r5,r25 |
| 519 | htab_special_pfn: | 520 | htab_special_pfn: |
| 520 | sldi r5,r5,HW_PAGE_SHIFT | 521 | sldi r5,r5,HW_PAGE_SHIFT |
| @@ -544,7 +545,7 @@ htab_call_hpte_insert1: | |||
| 544 | andis. r0,r31,_PAGE_4K_PFN@h | 545 | andis. r0,r31,_PAGE_4K_PFN@h |
| 545 | srdi r5,r31,PTE_RPN_SHIFT | 546 | srdi r5,r31,PTE_RPN_SHIFT |
| 546 | bne- 3f | 547 | bne- 3f |
| 547 | sldi r5,r5,PAGE_SHIFT-HW_PAGE_SHIFT | 548 | sldi r5,r5,PAGE_FACTOR |
| 548 | add r5,r5,r25 | 549 | add r5,r5,r25 |
| 549 | 3: sldi r5,r5,HW_PAGE_SHIFT | 550 | 3: sldi r5,r5,HW_PAGE_SHIFT |
| 550 | 551 | ||
| @@ -594,7 +595,7 @@ htab_inval_old_hpte: | |||
| 594 | li r5,0 /* PTE.hidx */ | 595 | li r5,0 /* PTE.hidx */ |
| 595 | li r6,MMU_PAGE_64K /* psize */ | 596 | li r6,MMU_PAGE_64K /* psize */ |
| 596 | ld r7,STK_PARAM(R9)(r1) /* ssize */ | 597 | ld r7,STK_PARAM(R9)(r1) /* ssize */ |
| 597 | ld r8,STK_PARAM(R8)(r1) /* local */ | 598 | ld r8,STK_PARAM(R8)(r1) /* flags */ |
| 598 | bl flush_hash_page | 599 | bl flush_hash_page |
| 599 | /* Clear out _PAGE_HPTE_SUB bits in the new linux PTE */ | 600 | /* Clear out _PAGE_HPTE_SUB bits in the new linux PTE */ |
| 600 | lis r0,_PAGE_HPTE_SUB@h | 601 | lis r0,_PAGE_HPTE_SUB@h |
| @@ -666,7 +667,7 @@ htab_modify_pte: | |||
| 666 | li r6,MMU_PAGE_4K /* base page size */ | 667 | li r6,MMU_PAGE_4K /* base page size */ |
| 667 | li r7,MMU_PAGE_4K /* actual page size */ | 668 | li r7,MMU_PAGE_4K /* actual page size */ |
| 668 | ld r8,STK_PARAM(R9)(r1) /* segment size */ | 669 | ld r8,STK_PARAM(R9)(r1) /* segment size */ |
| 669 | ld r9,STK_PARAM(R8)(r1) /* get "local" param */ | 670 | ld r9,STK_PARAM(R8)(r1) /* get "flags" param */ |
| 670 | .globl htab_call_hpte_updatepp | 671 | .globl htab_call_hpte_updatepp |
| 671 | htab_call_hpte_updatepp: | 672 | htab_call_hpte_updatepp: |
| 672 | bl . /* patched by htab_finish_init() */ | 673 | bl . /* patched by htab_finish_init() */ |
| @@ -962,7 +963,7 @@ ht64_modify_pte: | |||
| 962 | li r6,MMU_PAGE_64K /* base page size */ | 963 | li r6,MMU_PAGE_64K /* base page size */ |
| 963 | li r7,MMU_PAGE_64K /* actual page size */ | 964 | li r7,MMU_PAGE_64K /* actual page size */ |
| 964 | ld r8,STK_PARAM(R9)(r1) /* segment size */ | 965 | ld r8,STK_PARAM(R9)(r1) /* segment size */ |
| 965 | ld r9,STK_PARAM(R8)(r1) /* get "local" param */ | 966 | ld r9,STK_PARAM(R8)(r1) /* get "flags" param */ |
| 966 | .globl ht64_call_hpte_updatepp | 967 | .globl ht64_call_hpte_updatepp |
| 967 | ht64_call_hpte_updatepp: | 968 | ht64_call_hpte_updatepp: |
| 968 | bl . /* patched by htab_finish_init() */ | 969 | bl . /* patched by htab_finish_init() */ |
