1. 19 5月, 2011 1 次提交
  2. 09 7月, 2010 2 次提交
    • M
      powerpc/book3e: Resend doorbell exceptions to ourself · 850f22d5
      Michael Ellerman 提交于
      If we are soft disabled and receive a doorbell exception we don't process
      it immediately. This means we need to check on the way out of irq restore
      if there are any doorbell exceptions to process.
      
      The problem is at that point we don't know what our regs are, and that
      in turn makes xmon unhappy. To workaround the problem, instead of checking
      for and processing doorbells, we check for any doorbells and if there were
      any we send ourselves another.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      850f22d5
    • B
      powerpc/book3e: More doorbell cleanups. Sample the PIR register · b9f1cd71
      Benjamin Herrenschmidt 提交于
      The doorbells use the content of the PIR register to match messages
      from other CPUs. This may or may not be the same as our linux CPU
      number, so using that as the "target" is no right.
      
      Instead, we sample the PIR register at boot on every processor
      and use that value subsequently when sending IPIs.
      
      We also use a per-cpu message mask rather than a global array which
      should limit cache line contention.
      
      Note: We could use the CPU number in the device-tree instead of
      the PIR register, as they are supposed to be equivalent. This
      might prove useful if doorbells are to be used to kick CPUs out
      of FW at boot time, thus before we can sample the PIR. This is
      however not the case now and using the PIR just works.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      b9f1cd71
  3. 23 2月, 2009 1 次提交