mirror of https://gitee.com/openkylin/linux.git
powerpc/44x: Fix/Initialize PID to kernel PID before the TLB search
Initialize the PID register with kernel pid (0) before we start setting the TLB mapping for KEXEC. Also set the MMUCR[TID] to kernel PID. This was spotted while testing the kexec on ISS for 47x. ISS doesn't return a successful tlbsx for a kernel address with PID set to a user PID. Though the hardware/qemu/simics work fine. This patch is harmless and initializes the PID to 0 (kernel PID) which is usually the case during a normal kernel boot. This would fix the kexec on ISS for 440. I have tested this patch on sequoia board. Signed-off-by: Suzuki K Poulose <suzuki@in.ibm.com> Cc: Josh Boyer <jwboyer@gmail.com> Signed-off-by: Josh Boyer <jwboyer@gmail.com>
This commit is contained in:
parent
ec34a68149
commit
f13bfcc696
|
@ -761,8 +761,12 @@ relocate_new_kernel:
|
||||||
mr r30, r4
|
mr r30, r4
|
||||||
mr r31, r5
|
mr r31, r5
|
||||||
|
|
||||||
/* Load our MSR_IS and TID to MMUCR for TLB search */
|
/*
|
||||||
mfspr r3,SPRN_PID
|
* Load the PID with kernel PID (0).
|
||||||
|
* Also load our MSR_IS and TID to MMUCR for TLB search.
|
||||||
|
*/
|
||||||
|
li r3, 0
|
||||||
|
mtspr SPRN_PID, r3
|
||||||
mfmsr r4
|
mfmsr r4
|
||||||
andi. r4,r4,MSR_IS@l
|
andi. r4,r4,MSR_IS@l
|
||||||
beq wmmucr
|
beq wmmucr
|
||||||
|
|
Loading…
Reference in New Issue