1. 16 8月, 2012 1 次提交
  2. 05 6月, 2012 2 次提交
  3. 15 3月, 2012 2 次提交
  4. 13 3月, 2012 1 次提交
  5. 04 1月, 2012 1 次提交
    • A
      vmstate, memory: decouple vmstate from memory API · c5705a77
      Avi Kivity 提交于
      Currently creating a memory region automatically registers it for
      live migration.  This differs from other state (which is enumerated
      in a VMStateDescription structure) and ties the live migration code
      into the memory core.
      
      Decouple the two by introducing a separate API, vmstate_register_ram(),
      for registering a RAM block for migration.  Currently the same
      implementation is reused, but later it can be moved into a separate list,
      and registrations can be moved to VMStateDescription blocks.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      c5705a77
  6. 17 10月, 2011 1 次提交
  7. 06 10月, 2011 1 次提交
  8. 01 10月, 2011 1 次提交
  9. 28 9月, 2011 1 次提交
  10. 25 8月, 2011 1 次提交
  11. 21 8月, 2011 1 次提交
  12. 08 8月, 2011 2 次提交
  13. 29 7月, 2011 1 次提交
  14. 17 6月, 2011 1 次提交
    • A
      PPC: calculate kernel,initrd,cmdline locations dynamically · b9e17a34
      Alexander Graf 提交于
      During testing, I was generating a vmlinux binary that easily occupied
      more than 20MB of RAM. Since the current -kernel code loads the initrd
      at a fixed address behind the kernel, we were overwriting kernel data
      when the kernel got too big.
      
      To finally get rid of the issue, let's calculate the initrd and cmdline
      addresses relative to the kernel size, so we can have kernels and initrds
      that are as big as they want to - as long as they fit in RAM.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      b9e17a34
  15. 07 4月, 2011 1 次提交
  16. 11 12月, 2010 1 次提交
  17. 16 11月, 2010 1 次提交
  18. 14 10月, 2010 2 次提交
  19. 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
  20. 24 8月, 2010 1 次提交
    • B
      Rearrange block headers · 2446333c
      Blue Swirl 提交于
      Changing block.h or blockdev.h resulted in recompiling most objects.
      
      Move DriveInfo typedef and BlockInterfaceType enum definitions
      to qemu-common.h and rearrange blockdev.h use to decrease churn.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      2446333c
  21. 06 7月, 2010 1 次提交
  22. 05 4月, 2010 1 次提交
  23. 22 3月, 2010 2 次提交
  24. 16 3月, 2010 1 次提交
    • A
      load_elf: replace the address addend by a translation function · 409dbce5
      Aurelien Jarno 提交于
      A few machines need to translate the ELF header addresses into physical
      addresses. Currently the only possibility is to add a value to the
      addresses.
      
      This patch replaces the addend argument by and a translation function
      and an opaque passed to the function. A NULL function does not translate
      the address.
      
      The patch also convert all machines that have an addend, simplify the
      PowerPC kernel loading and fix the MIPS kernel loading using this new
      feature. Other machines may benefit from this feature.
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      409dbce5
  25. 04 3月, 2010 1 次提交
    • J
      KVM: Rework VCPU state writeback API · ea375f9a
      Jan Kiszka 提交于
      This grand cleanup drops all reset and vmsave/load related
      synchronization points in favor of four(!) generic hooks:
      
      - cpu_synchronize_all_states in qemu_savevm_state_complete
        (initial sync from kernel before vmsave)
      - cpu_synchronize_all_post_init in qemu_loadvm_state
        (writeback after vmload)
      - cpu_synchronize_all_post_init in main after machine init
      - cpu_synchronize_all_post_reset in qemu_system_reset
        (writeback after system reset)
      
      These writeback points + the existing one of VCPU exec after
      cpu_synchronize_state map on three levels of writeback:
      
      - KVM_PUT_RUNTIME_STATE (during runtime, other VCPUs continue to run)
      - KVM_PUT_RESET_STATE   (on synchronous system reset, all VCPUs stopped)
      - KVM_PUT_FULL_STATE    (on init or vmload, all VCPUs stopped as well)
      
      This level is passed to the arch-specific VCPU state writing function
      that will decide which concrete substates need to be written. That way,
      no writer of load, save or reset functions that interact with in-kernel
      KVM states will ever have to worry about synchronization again. That
      also means that a lot of reasons for races, segfaults and deadlocks are
      eliminated.
      
      cpu_synchronize_state remains untouched, just as Anthony suggested. We
      continue to need it before reading or writing of VCPU states that are
      also tracked by in-kernel KVM subsystems.
      
      Consequently, this patch removes many cpu_synchronize_state calls that
      are now redundant, just like remaining explicit register syncs.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      ea375f9a
  26. 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
  27. 21 12月, 2009 1 次提交
  28. 04 12月, 2009 1 次提交
  29. 01 12月, 2009 1 次提交
  30. 07 11月, 2009 1 次提交
  31. 12 10月, 2009 1 次提交
    • G
      rom loader: fix sparc -kernel boot. · 3c178e72
      Gerd Hoffmann 提交于
      Changes:
      (1) register pstrcpy_targphys() in rom list, it is used for kernel
      command lines by a number of architectures.
      (2) add rom_ptr() function to get a pointer for applying changes
      to loaded images.  Needed for example to tell the linux kernel
      where it finds the initrd image by updating the header.
      (3) make sparc use rom_ptr for initrd setup.
      
      booting sparc-test works now, and 'info roms' shows this:
      
      (qemu) info roms
      addr=0000000000000000 size=0x2a3828 mem=ram name="phdr #0: vmlinux-2.6.11+tcx"
      addr=00000000007ff000 size=0x00000e mem=ram name="cmdline"
      addr=0000000000800000 size=0x400000 mem=ram name="/root/qemu-test/sparc-test/linux.img"
      addr=0000000070000000 size=0x0e4000 mem=rom name="phdr #0: /home/kraxel/projects/qemu/build-zfull/pc-bios/openbios-sparc32"
      
      reboot via 'system_reset' works too.
      
      Patchworks-ID: 35262
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      3c178e72
  32. 05 10月, 2009 1 次提交
    • M
      Fix pci_add nic not to exit on bad model · 07caea31
      Markus Armbruster 提交于
      Monitor command "pci_add ADDR nic model=MODEL" uses pci_nic_init() to
      create the NIC.  When MODEL is unknown or "?", this prints to stderr
      and terminates the program.
      
      Change pci_nic_init() not to treat "?" specially, and to return NULL
      on failure.  Switch uses during startup to new convenience wrapper
      pci_nic_init_nofail(), which behaves just like pci_nic_init() used to
      do.
      
      Bonus bug fix: we now check for qdev_init() failing there.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      07caea31
  33. 02 10月, 2009 2 次提交
  34. 20 9月, 2009 1 次提交
    • B
      Compile loader only once · ca20cf32
      Blue Swirl 提交于
      Callers must pass ELF machine, byte swapping and symbol LSB clearing
      information to ELF loader. A.out loader needs page size information, pass
      that too as a parameter.
      
      Extract prototypes to a separate file. Move loader.[ch] and elf_ops.h under hw.
      
      Adjust callers. Also use target_phys_addr_t instead of target_ulong for
      addresses: loader addresses aren't virtual.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      ca20cf32