1. 31 3月, 2018 3 次提交
    • M
      powerpc/64e: Fix oops due to deferral of paca allocation · 1d0afc0d
      Michael Ellerman 提交于
      On 64-bit Book3E systems, in setup_tlb_core_data() we reference other
      CPUs pacas. But in commit 59f57774 ("powerpc/64: Defer paca
      allocation until memory topology is discovered") the allocation of
      non-boot-CPU pacas was deferred until later in boot.
      
      This leads to an oops:
      
        CPU maps initialized for 1 thread per core
        Unable to handle kernel paging request for data at address 0x8888888888888918
        Faulting instruction address: 0xc000000000e2f0d0
        Oops: Kernel access of bad area, sig: 11 [#1]
        NIP .setup_tlb_core_data+0xdc/0x160
        Call Trace:
          .setup_tlb_core_data+0x5c/0x160 (unreliable)
          .setup_arch+0x80/0x348
          .start_kernel+0x7c/0x598
          start_here_common+0x1c/0x40
      
      Luckily setup_tlb_core_data() is called immediately prior to
      smp_setup_pacas(). So simply switching their order is sufficient to
      fix the oops and seems unlikely to have any other unwanted side
      effects.
      
      Fixes: 59f57774 ("powerpc/64: Defer paca allocation until memory topology is discovered")
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      1d0afc0d
    • A
      powerpc/kvm: Fix guest boot failure on Power9 since DAWR changes · ca9a16c3
      Aneesh Kumar K.V 提交于
      SLOF checks for 'sc 1' (hypercall) support by issuing a hcall with
      H_SET_DABR. Since the recent commit e8ebedbf ("KVM: PPC: Book3S
      HV: Return error from h_set_dabr() on POWER9") changed H_SET_DABR to
      return H_UNSUPPORTED on Power9, we see guest boot failures, the
      symptom is the boot seems to just stop in SLOF, eg:
      
        SLOF ***************************************************************
        QEMU Starting
         Build Date = Sep 24 2017 12:23:07
         FW Version = buildd@ release 20170724
        <no further output>
      
      SLOF can cope if H_SET_DABR returns H_HARDWARE. So wwitch the return
      value to H_HARDWARE instead of H_UNSUPPORTED so that we don't break
      the guest boot.
      
      That does mean we return a different error to PowerVM in this case,
      but that's probably not a big concern.
      
      Fixes: e8ebedbf ("KVM: PPC: Book3S HV: Return error from h_set_dabr() on POWER9")
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      ca9a16c3
    • M
      Merge branch 'topic/paca' into next · f437c517
      Michael Ellerman 提交于
      Bring in yet another series that touches KVM code, and might need to
      be merged into the kvm-ppc branch to resolve conflicts.
      
      This required some changes in pnv_power9_force_smt4_catch/release()
      due to the paca array becomming an array of pointers.
      f437c517
  2. 30 3月, 2018 29 次提交
  3. 28 3月, 2018 1 次提交
    • M
      Merge branch 'fixes' into next · 95dff480
      Michael Ellerman 提交于
      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.
      95dff480
  4. 27 3月, 2018 7 次提交