Merge branch 'fixes' into next
Merge our fixes branch from the 4.16 cycle. There were a number of important fixes merged, in particular some Power9 workarounds that we want in next for testing purposes. There's also been some conflicting changes in the CPU features code which are best merged and tested before going upstream.
This commit is contained in:
@@ -714,8 +714,10 @@ static __init void cpufeatures_cpu_quirks(void)
|
||||
cur_cpu_spec->cpu_features |= CPU_FTR_P9_TM_HV_ASSIST |
|
||||
CPU_FTR_P9_TM_XER_SO_BUG;
|
||||
|
||||
if ((version & 0xffff0000) == 0x004e0000)
|
||||
if ((version & 0xffff0000) == 0x004e0000) {
|
||||
cur_cpu_spec->cpu_features &= ~(CPU_FTR_DAWR);
|
||||
cur_cpu_spec->cpu_features |= CPU_FTR_P9_TLBIE_BUG;
|
||||
}
|
||||
}
|
||||
|
||||
static void __init cpufeatures_setup_finished(void)
|
||||
@@ -727,6 +729,9 @@ static void __init cpufeatures_setup_finished(void)
|
||||
cur_cpu_spec->cpu_features |= CPU_FTR_HVMODE;
|
||||
}
|
||||
|
||||
/* Make sure powerpc_base_platform is non-NULL */
|
||||
powerpc_base_platform = cur_cpu_spec->platform;
|
||||
|
||||
system_registers.lpcr = mfspr(SPRN_LPCR);
|
||||
system_registers.hfscr = mfspr(SPRN_HFSCR);
|
||||
system_registers.fscr = mfspr(SPRN_FSCR);
|
||||
|
@@ -706,7 +706,7 @@ EXC_COMMON_BEGIN(bad_addr_slb)
|
||||
ld r3, PACA_EXSLB+EX_DAR(r13)
|
||||
std r3, _DAR(r1)
|
||||
beq cr6, 2f
|
||||
li r10, 0x480 /* fix trap number for I-SLB miss */
|
||||
li r10, 0x481 /* fix trap number for I-SLB miss */
|
||||
std r10, _TRAP(r1)
|
||||
2: bl save_nvgprs
|
||||
addi r3, r1, STACK_FRAME_OVERHEAD
|
||||
|
@@ -476,6 +476,14 @@ void force_external_irq_replay(void)
|
||||
*/
|
||||
WARN_ON(!arch_irqs_disabled());
|
||||
|
||||
/*
|
||||
* Interrupts must always be hard disabled before irq_happened is
|
||||
* modified (to prevent lost update in case of interrupt between
|
||||
* load and store).
|
||||
*/
|
||||
__hard_irq_disable();
|
||||
local_paca->irq_happened |= PACA_IRQ_HARD_DIS;
|
||||
|
||||
/* Indicate in the PACA that we have an interrupt to replay */
|
||||
local_paca->irq_happened |= PACA_IRQ_EE;
|
||||
}
|
||||
|
@@ -874,7 +874,6 @@ struct ibm_arch_vec __cacheline_aligned ibm_architecture_vec = {
|
||||
.mmu = 0,
|
||||
.hash_ext = 0,
|
||||
.radix_ext = 0,
|
||||
.byte22 = 0,
|
||||
},
|
||||
|
||||
/* option vector 6: IBM PAPR hints */
|
||||
|
Reference in New Issue
Block a user