1. 12 6月, 2015 1 次提交
    • J
      migration: Use normal VMStateDescriptions for Subsections · 5cd8cada
      Juan Quintela 提交于
      We create optional sections with this patch.  But we already have
      optional subsections.  Instead of having two mechanism that do the
      same, we can just generalize it.
      
      For subsections we just change:
      
      - Add a needed function to VMStateDescription
      - Remove VMStateSubsection (after removal of the needed function
        it is just a VMStateDescription)
      - Adjust the whole tree, moving the needed function to the corresponding
        VMStateDescription
      Signed-off-by: NJuan Quintela <quintela@redhat.com>
      5cd8cada
  2. 30 4月, 2015 1 次提交
  3. 29 4月, 2015 1 次提交
  4. 02 4月, 2015 1 次提交
  5. 26 1月, 2015 1 次提交
  6. 15 12月, 2014 1 次提交
  7. 13 11月, 2014 1 次提交
  8. 13 5月, 2014 1 次提交
  9. 07 5月, 2014 1 次提交
  10. 02 4月, 2014 1 次提交
  11. 25 12月, 2013 3 次提交
  12. 23 12月, 2013 2 次提交
  13. 23 8月, 2013 1 次提交
  14. 01 5月, 2013 1 次提交
  15. 09 4月, 2013 2 次提交
  16. 05 4月, 2013 1 次提交
  17. 01 3月, 2013 1 次提交
    • P
      hw: include hw header files with full paths · 83c9f4ca
      Paolo Bonzini 提交于
      Done with this script:
      
      cd hw
      for i in `find . -name '*.h' | sed 's/^..//'`; do
        echo '\,^#.*include.*["<]'$i'[">], s,'$i',hw/&,'
      done | sed -i -f - `find . -type f`
      
      This is so that paths remain valid as files are moved.
      
      Instead, files in hw/dataplane are referenced with the relative path.
      We know they are not going to move to include/, and they are the only
      include files that are in subdirectories _and_ move.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      83c9f4ca
  18. 16 2月, 2013 1 次提交
  19. 11 1月, 2013 1 次提交
    • A
      Make all static TypeInfos const · 8c43a6f0
      Andreas Färber 提交于
      Since 39bffca2 (qdev: register all
      types natively through QEMU Object Model), TypeInfo as used in
      the common, non-iterative pattern is no longer amended with information
      and should therefore be const.
      
      Fix the documented QOM examples:
      
       sed -i 's/static TypeInfo/static const TypeInfo/g' include/qom/object.h
      
      Since frequently the wrong examples are being copied by contributors of
      new devices, fix all types in the tree:
      
       sed -i 's/^static TypeInfo/static const TypeInfo/g' */*.c
       sed -i 's/^static TypeInfo/static const TypeInfo/g' */*/*.c
      
      This also avoids to piggy-back these changes onto real functional
      changes or other refactorings.
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8c43a6f0
  20. 19 12月, 2012 1 次提交
  21. 31 10月, 2012 2 次提交
  22. 23 10月, 2012 1 次提交
    • A
      Rename target_phys_addr_t to hwaddr · a8170e5e
      Avi Kivity 提交于
      target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are
      reserved) and its purpose doesn't match the name (most target_phys_addr_t
      addresses are not target specific).  Replace it with a finger-friendly,
      standards conformant hwaddr.
      
      Outstanding patchsets can be fixed up with the command
      
        git rebase -i --exec 'find -name "*.[ch]"
                              | xargs s/target_phys_addr_t/hwaddr/g' origin
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      a8170e5e
  23. 15 8月, 2012 1 次提交
  24. 01 8月, 2012 1 次提交
    • I
      target-i386: move cpu halted decision into x86_cpu_reset · dd673288
      Igor Mammedov 提交于
      MP initialization protocol differs between cpu families, and for P6 and
      onward models it is up to CPU to decide if it will be BSP using this
      protocol, so try to model this. However there is no point in implementing
      MP initialization protocol in qemu. Thus first CPU is always marked as BSP.
      
      This patch:
       - moves decision to designate BSP from board into cpu, making cpu
      self-sufficient in this regard. Later it will allow to cleanup hw/pc.c
      and remove cpu_reset and wrappers from there.
       - stores flag that CPU is BSP in IA32_APIC_BASE to model behavior
      described in Inted SDM vol 3a part 1 chapter 8.4.1
       - uses MSR_IA32_APICBASE_BSP flag in apic_base for checking if cpu is BSP
      
      patch is based on Jan Kiszka's proposal:
          http://thread.gmane.org/gmane.comp.emulators.qemu/100806Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      dd673288
  25. 18 2月, 2012 2 次提交
    • J
      kvmvapic: Introduce TPR access optimization for Windows guests · e5ad936b
      Jan Kiszka 提交于
      This enables acceleration for MMIO-based TPR registers accesses of
      32-bit Windows guest systems. It is mostly useful with KVM enabled,
      either on older Intel CPUs (without flexpriority feature, can also be
      manually disabled for testing) or any current AMD processor.
      
      The approach introduced here is derived from the original version of
      qemu-kvm. It was refactored, documented, and extended by support for
      user space APIC emulation, both with and without KVM acceleration. The
      VMState format was kept compatible, so was the ABI to the option ROM
      that implements the guest-side para-virtualized driver service. This
      enables seamless migration from qemu-kvm to upstream or, one day,
      between KVM and TCG mode.
      
      The basic concept goes like this:
       - VAPIC PV interface consisting of I/O port 0x7e and (for KVM in-kernel
         irqchip) a vmcall hypercall is registered
       - VAPIC option ROM is loaded into guest
       - option ROM activates TPR MMIO access reporting via port 0x7e
       - TPR accesses are trapped and patched in the guest to call into option
         ROM instead, VAPIC support is enabled
       - option ROM TPR helpers track state in memory and invoke hypercall to
         poll for pending IRQs if required
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      e5ad936b
    • J
      target-i386: Add infrastructure for reporting TPR MMIO accesses · d362e757
      Jan Kiszka 提交于
      This will allow the APIC core to file a TPR access report. Depending on
      the accelerator and kernel irqchip mode, it will either be delivered
      right away or queued for later reporting.
      
      In TCG mode, we can restart the triggering instruction and can therefore
      forward the event directly. KVM does not allows us to restart, so we
      postpone the delivery of events recording in the user space APIC until
      the current instruction is completed.
      
      Note that KVM without in-kernel irqchip will report the address after
      the instruction that triggered the access.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      d362e757
  26. 15 2月, 2012 1 次提交
  27. 09 2月, 2012 1 次提交
  28. 04 2月, 2012 1 次提交
    • A
      qdev: register all types natively through QEMU Object Model · 39bffca2
      Anthony Liguori 提交于
      This was done in a mostly automated fashion.  I did it in three steps and then
      rebased it into a single step which avoids repeatedly touching every file in
      the tree.
      
      The first step was a sed-based addition of the parent type to the subclass
      registration functions.
      
      The second step was another sed-based removal of subclass registration functions
      while also adding virtual functions from the base class into a class_init
      function as appropriate.
      
      Finally, a python script was used to convert the DeviceInfo structures and
      qdev_register_subclass functions to TypeInfo structures, class_init functions,
      and type_register_static calls.
      
      We are almost fully converted to QOM after this commit.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      39bffca2
  29. 28 1月, 2012 2 次提交
  30. 19 1月, 2012 2 次提交
    • J
      apic: Open-code timer save/restore · 7a380ca3
      Jan Kiszka 提交于
      To enable migration between accelerated and non-accelerated APIC models,
      we will need to handle the timer saving and restoring specially and can
      no longer rely on the automatics of VMSTATE_TIMER. Specifically,
      accelerated model will not start any QEMUTimer.
      
      This patch therefore factors out the generic bits into apic_next_timer
      and use a post-load callback to implemented model-specific logic.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      7a380ca3
    • J
      apic: Factor out base class for KVM reuse · dae01685
      Jan Kiszka 提交于
      The KVM in-kernel APIC model will reuse parts of the user space model
      while providing the same frontend view to guest and most management
      interfaces.
      
      Factor out an APIC base class to encapsulate those parts that will be
      shared by user space and KVM model. This class offers callback hooks for
      init, base/tpr setting, and the external NMI delivery that will be
      set via APICCommonInfo structure and implemented specifically in the
      subclasses.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      dae01685