1. 14 3月, 2017 1 次提交
  2. 11 3月, 2017 1 次提交
  3. 04 3月, 2017 1 次提交
  4. 03 3月, 2017 2 次提交
    • D
      x86: Work around SMI migration breakages · fc3a1fd7
      Dr. David Alan Gilbert 提交于
      Migration from a 2.3.0 qemu results in a reboot on the receiving QEMU
      due to a disagreement about SM (System management) interrupts.
      
      2.3.0 didn't have much SMI support, but it did set CPU_INTERRUPT_SMI
      and this gets into the migration stream, but on 2.3.0 it
      never got delivered.
      
      ~2.4.0 SMI interrupt support was added but was broken - so
      that when a 2.3.0 stream was received it cleared the CPU_INTERRUPT_SMI
      but never actually caused an interrupt.
      
      The SMI delivery was recently fixed by 68c6efe0, but the
      effect now is that an incoming 2.3.0 stream takes the interrupt it
      had flagged but it's bios can't actually handle it(I think
      partly due to the original interrupt not being taken during boot?).
      The consequence is a triple(?) fault and a reboot.
      
      Tested from:
        2.3.1 -M 2.3.0
        2.7.0 -M 2.3.0
        2.8.0 -M 2.3.0
        2.8.0 -M 2.8.0
      
      This corresponds to RH bugzilla entry 1420679.
      Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Message-Id: <20170223133441.16010-1-dgilbert@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      fc3a1fd7
    • S
      target/ppc: Add patb_entry to sPAPRMachineState · 9861bb3e
      Suraj Jitindar Singh 提交于
      ISA v3.00 adds the idea of a partition table which is used to store the
      address translation details for all partitions on the system. The partition
      table consists of double word entries indexed by partition id where the second
      double word contains the location of the process table in guest memory. The
      process table is registered by the guest via a h-call.
      
      We need somewhere to store the address of the process table so we add an entry
      to the sPAPRMachineState struct called patb_entry to represent the second
      doubleword of a single partition table entry corresponding to the current
      guest. We need to store this value so we know if the guest is using radix or
      hash translation and the location of the corresponding process table in guest
      memory. Since we only have a single guest per qemu instance, we only need one
      entry.
      
      Since the partition table is technically a hypervisor resource we require that
      access to it is abstracted by the virtual hypervisor through the get_patbe()
      call. Currently the value of the entry is never set (and thus
      defaults to 0 indicating hash), but it will be required to both implement
      POWER9 kvm support and tcg radix support.
      
      We also add this field to be migrated as part of the sPAPRMachineState as we
      will need it on the receiving side as the guest will never tell us this
      information again and we need it to perform translation.
      Signed-off-by: NSuraj Jitindar Singh <sjitindarsingh@gmail.com>
      Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      9861bb3e
  5. 02 3月, 2017 3 次提交
  6. 01 3月, 2017 32 次提交