Message ID | 7e45ca3f0283fb24c2642e5b91bd75c55f2ba96f.1552028583.git.christophe.leroy@c-s.fr (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | powerpc/6xx: fix setup and use of SPRN_PGDIR for hash32 | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch next (9580b71b5a7863c24a9bd18bcd2ad759b86b1eff) |
snowpatch_ozlabs/build-ppc64le | success | build succeeded & removed 0 sparse warning(s) |
snowpatch_ozlabs/build-ppc64be | success | build succeeded & removed 0 sparse warning(s) |
snowpatch_ozlabs/build-ppc64e | success | build succeeded & removed 0 sparse warning(s) |
snowpatch_ozlabs/build-pmac32 | success | build succeeded & removed 0 sparse warning(s) |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 43 lines checked |
On Fri, Mar 08, 2019 at 07:05:22AM +0000, Christophe Leroy wrote: > Not only the 603 but all 6xx need SPRN_PGDIR to be initialised at > startup. This patch move it from __setup_cpu_603() to start_here() > and __secondary_start(), close to the initialisation of SPRN_THREAD. I thought you meant an SPR I did not know about. But you just misspelled SPRN_SPRG_PGDIR :-) Segher
Le 08/03/2019 à 17:03, Segher Boessenkool a écrit : > On Fri, Mar 08, 2019 at 07:05:22AM +0000, Christophe Leroy wrote: >> Not only the 603 but all 6xx need SPRN_PGDIR to be initialised at >> startup. This patch move it from __setup_cpu_603() to start_here() >> and __secondary_start(), close to the initialisation of SPRN_THREAD. > > I thought you meant an SPR I did not know about. But you just misspelled > SPRN_SPRG_PGDIR :-) > Oops. Michael, can you fix the commit text (and subject) when applying ? Thanks Christophe
Michael, Are you able to get this merged before 5.1-rc1 comes out ? Thanks Christophe Le 08/03/2019 à 17:06, Christophe Leroy a écrit : > > > Le 08/03/2019 à 17:03, Segher Boessenkool a écrit : >> On Fri, Mar 08, 2019 at 07:05:22AM +0000, Christophe Leroy wrote: >>> Not only the 603 but all 6xx need SPRN_PGDIR to be initialised at >>> startup. This patch move it from __setup_cpu_603() to start_here() >>> and __secondary_start(), close to the initialisation of SPRN_THREAD. >> >> I thought you meant an SPR I did not know about. But you just misspelled >> SPRN_SPRG_PGDIR :-) >> > > Oops. > > Michael, can you fix the commit text (and subject) when applying ? >
On 3/15/19 6:20 AM, Christophe Leroy wrote: > Michael, > > Are you able to get this merged before 5.1-rc1 comes out ? > Looks like this patch got lost. I don't see it in Michael's most recent pull request, the one that got merged today. Guenter > Thanks > Christophe > > Le 08/03/2019 à 17:06, Christophe Leroy a écrit : >> >> >> Le 08/03/2019 à 17:03, Segher Boessenkool a écrit : >>> On Fri, Mar 08, 2019 at 07:05:22AM +0000, Christophe Leroy wrote: >>>> Not only the 603 but all 6xx need SPRN_PGDIR to be initialised at >>>> startup. This patch move it from __setup_cpu_603() to start_here() >>>> and __secondary_start(), close to the initialisation of SPRN_THREAD. >>> >>> I thought you meant an SPR I did not know about. But you just misspelled >>> SPRN_SPRG_PGDIR :-) >>> >> >> Oops. >> >> Michael, can you fix the commit text (and subject) when applying ? >> > > >
Guenter Roeck <linux@roeck-us.net> writes: > On 3/15/19 6:20 AM, Christophe Leroy wrote: >> Michael, >> >> Are you able to get this merged before 5.1-rc1 comes out ? > > Looks like this patch got lost. I don't see it in Michael's most recent > pull request, the one that got merged today. Sorry, will pick it up for fixes now. cheers
diff --git a/arch/powerpc/kernel/cpu_setup_6xx.S b/arch/powerpc/kernel/cpu_setup_6xx.S index 6f1c11e0691f..7534ecff5e92 100644 --- a/arch/powerpc/kernel/cpu_setup_6xx.S +++ b/arch/powerpc/kernel/cpu_setup_6xx.S @@ -24,9 +24,6 @@ BEGIN_MMU_FTR_SECTION li r10,0 mtspr SPRN_SPRG_603_LRU,r10 /* init SW LRU tracking */ END_MMU_FTR_SECTION_IFSET(MMU_FTR_NEED_DTLB_SW_LRU) - lis r10, (swapper_pg_dir - PAGE_OFFSET)@h - ori r10, r10, (swapper_pg_dir - PAGE_OFFSET)@l - mtspr SPRN_SPRG_PGDIR, r10 BEGIN_FTR_SECTION bl __init_fpu_registers diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S index ce6a972f2584..48051c8977c5 100644 --- a/arch/powerpc/kernel/head_32.S +++ b/arch/powerpc/kernel/head_32.S @@ -855,6 +855,9 @@ __secondary_start: li r3,0 stw r3, RTAS_SP(r4) /* 0 => not in RTAS */ #endif + lis r4, (swapper_pg_dir - PAGE_OFFSET)@h + ori r4, r4, (swapper_pg_dir - PAGE_OFFSET)@l + mtspr SPRN_SPRG_PGDIR, r4 /* enable MMU and jump to start_secondary */ li r4,MSR_KERNEL @@ -942,6 +945,9 @@ start_here: li r3,0 stw r3, RTAS_SP(r4) /* 0 => not in RTAS */ #endif + lis r4, (swapper_pg_dir - PAGE_OFFSET)@h + ori r4, r4, (swapper_pg_dir - PAGE_OFFSET)@l + mtspr SPRN_SPRG_PGDIR, r4 /* stack */ lis r1,init_thread_union@ha diff --git a/arch/powerpc/mm/hash_low_32.S b/arch/powerpc/mm/hash_low_32.S index 1f13494efb2b..a6c491f18a04 100644 --- a/arch/powerpc/mm/hash_low_32.S +++ b/arch/powerpc/mm/hash_low_32.S @@ -70,12 +70,12 @@ _GLOBAL(hash_page) lis r0,KERNELBASE@h /* check if kernel address */ cmplw 0,r4,r0 ori r3,r3,_PAGE_USER|_PAGE_PRESENT /* test low addresses as user */ - mfspr r5, SPRN_SPRG_PGDIR /* virt page-table root */ + mfspr r5, SPRN_SPRG_PGDIR /* phys page-table root */ blt+ 112f /* assume user more likely */ - lis r5,swapper_pg_dir@ha /* if kernel address, use */ - addi r5,r5,swapper_pg_dir@l /* kernel page table */ + lis r5, (swapper_pg_dir - PAGE_OFFSET)@ha /* if kernel address, use */ + addi r5 ,r5 ,(swapper_pg_dir - PAGE_OFFSET)@l /* kernel page table */ rlwimi r3,r9,32-12,29,29 /* MSR_PR -> _PAGE_USER */ -112: tophys(r5, r5) +112: #ifndef CONFIG_PTE_64BIT rlwimi r5,r4,12,20,29 /* insert top 10 bits of address */ lwz r8,0(r5) /* get pmd entry */