1. 01 3月, 2010 2 次提交
    • A
      KVM: PPC: Use PACA backed shadow vcpu · 7e57cba0
      Alexander Graf 提交于
      We're being horribly racy right now. All the entry and exit code hijacks
      random fields from the PACA that could easily be used by different code in
      case we get interrupted, for example by a #MC or even page fault.
      
      After discussing this with Ben, we figured it's best to reserve some more
      space in the PACA and just shove off some vcpu state to there.
      
      That way we can drastically improve the readability of the code, make it
      less racy and less complex.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      7e57cba0
    • A
      KVM: PPC: Fix typo in rebolting code · b480f780
      Alexander Graf 提交于
      When we're loading bolted entries into the SLB again, we're checking if an
      entry is in use and only slbmte it when it is.
      
      Unfortunately, the check always goes to the skip label of the first entry,
      resulting in an endless loop when it actually gets triggered.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      b480f780
  2. 05 11月, 2009 1 次提交
    • A
      Add SLB switching code for entry/exit · 5126ed37
      Alexander Graf 提交于
      This is the really low level of guest entry/exit code.
      
      Book3s_64 has an SLB, which stores all ESID -> VSID mappings we're
      currently aware of.
      
      The segments in the guest differ from the ones on the host, so we need
      to switch the SLB to tell the MMU that we're in a new context.
      
      So we store a shadow of the guest's SLB in the PACA, switch to that on
      entry and only restore bolted entries on exit, leaving the rest to the
      Linux SLB fault handler.
      
      That way we get a really clean way of switching the SLB.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      5126ed37