1. 06 10月, 2011 1 次提交
  2. 08 4月, 2011 1 次提交
  3. 02 4月, 2011 1 次提交
  4. 05 9月, 2010 1 次提交
    • A
      KVM: PPC: Add level based interrupt logic · fc87e185
      Alexander Graf 提交于
      KVM on PowerPC used to have completely broken interrupt logic. Usually,
      interrupts work by having a PIC that pulls a line up/down, so the CPU knows
      that an interrupt is active. This line stays active until some action is
      done to the PIC to release the line.
      
      On KVM for PPC, we just checked if there was an interrupt pending and pulled
      a line in the kernel module. We never released it though, hoping that kernel
      space would just declare an interrupt as released when injected - which is
      wrong.
      
      To fix this, we need to completely redesign the interrupt injection logic.
      Whenever an interrupt line gets triggered, we need to notify kernel space
      that the line is up. Whenever it gets released, we do the same. This way
      we can assure that the interrupt state is always known to kernel space.
      
      This fixes random stalls in KVM guests on PowerPC that were waiting for
      an interrupt while everyone else thought they received it already.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      fc87e185
  5. 27 8月, 2010 1 次提交
    • A
      PPC: Add PV hypercall transport through fw_cfg · 45024f09
      Alexander Graf 提交于
      On KVM for PPC we need to tell the guest which instructions to use when
      doing a hypercall. The clean way to do this is to go through an ioctl
      from userspace and passing it on to the guest using the device tree.
      
      So let's do the qemu part here: read out the hypercall and pass it on
      to the guest's fw_cfg so openBIOS can read it out and expose it again.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      45024f09
  6. 14 2月, 2010 1 次提交
    • A
      PPC: tell the guest about the time base frequency · dc333cd6
      Alexander Graf 提交于
      Our guest systems need to know by how much the timebase increases every second,
      so there usually is a "timebase-frequency" property in the cpu leaf of the
      device tree.
      
      This property is missing in OpenBIOS.
      
      With qemu, Linux's fallback timebase speed and qemu's internal timebase speed
      match up. With KVM, that is no longer true. The guest is running at the same
      timebase speed as the host.
      
      This leads to massive timing problems. On my test machine, a "sleep 2" takes
      about 14 seconds with KVM enabled.
      
      This patch exports the timebase frequency to OpenBIOS, so it can then put them
      into the device tree.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      dc333cd6
  7. 25 1月, 2009 1 次提交
  8. 16 12月, 2008 1 次提交