Re: [PATCH] powerpc/32s: Use relocation offset when setting early hash table

2020-11-08 Thread Michael Ellerman
On Sat, 7 Nov 2020 09:07:40 + (UTC), Christophe Leroy wrote:
> When calling early_hash_table(), the kernel hasn't been yet
> relocated to its linking address, so data must be addressed
> with relocation offset.
> 
> Add relocation offset to write into Hash in early_hash_table().

Applied to powerpc/fixes.

[1/1] powerpc/32s: Use relocation offset when setting early hash table
  https://git.kernel.org/powerpc/c/01776f070ffcbf336be3bf1672bd3c589548d6c4

cheers


Re: [PATCH] powerpc/32s: Use relocation offset when setting early hash table

2020-11-07 Thread Andreas Schwab
On Nov 07 2020, Serge Belyshev wrote:

> Christophe Leroy  writes:
>
>> When calling early_hash_table(), the kernel hasn't been yet
>> relocated to its linking address, so data must be addressed
>> with relocation offset.
>>
>> Add relocation offset to write into Hash in early_hash_table().
>>
>> Reported-by: Erhard Furtner 
>> Reported-by: Andreas Schwab 
>> Fixes: 69a1593abdbc ("powerpc/32s: Setup the early hash table at all time.")
>> Signed-off-by: Christophe Leroy 
>
> Tested-by: Serge Belyshev 

Works here as well.

Thanks, Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."


Re: [PATCH] powerpc/32s: Use relocation offset when setting early hash table

2020-11-07 Thread Serge Belyshev
Christophe Leroy  writes:

> When calling early_hash_table(), the kernel hasn't been yet
> relocated to its linking address, so data must be addressed
> with relocation offset.
>
> Add relocation offset to write into Hash in early_hash_table().
>
> Reported-by: Erhard Furtner 
> Reported-by: Andreas Schwab 
> Fixes: 69a1593abdbc ("powerpc/32s: Setup the early hash table at all time.")
> Signed-off-by: Christophe Leroy 

Tested-by: Serge Belyshev 


[PATCH] powerpc/32s: Use relocation offset when setting early hash table

2020-11-07 Thread Christophe Leroy
When calling early_hash_table(), the kernel hasn't been yet
relocated to its linking address, so data must be addressed
with relocation offset.

Add relocation offset to write into Hash in early_hash_table().

Reported-by: Erhard Furtner 
Reported-by: Andreas Schwab 
Fixes: 69a1593abdbc ("powerpc/32s: Setup the early hash table at all time.")
Signed-off-by: Christophe Leroy 
---
 arch/powerpc/kernel/head_book3s_32.S | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/kernel/head_book3s_32.S 
b/arch/powerpc/kernel/head_book3s_32.S
index 5eb9eedac920..8aa7eb11754e 100644
--- a/arch/powerpc/kernel/head_book3s_32.S
+++ b/arch/powerpc/kernel/head_book3s_32.S
@@ -156,6 +156,7 @@ __after_mmu_off:
bl  initial_bats
bl  load_segment_registers
 BEGIN_MMU_FTR_SECTION
+   bl  reloc_offset
bl  early_hash_table
 END_MMU_FTR_SECTION_IFSET(MMU_FTR_HPTE_TABLE)
 #if defined(CONFIG_BOOTX_TEXT)
@@ -932,7 +933,7 @@ early_hash_table:
ori r6, r6, 3   /* 256kB table */
mtspr   SPRN_SDR1, r6
lis r6, early_hash@h
-   lis r3, Hash@ha
+   addis   r3, r3, Hash@ha
stw r6, Hash@l(r3)
blr
 
-- 
2.25.0