1. 11 12月, 2012 1 次提交
    • C
      Support default block interfaces per QEMUMachine · 2d0d2837
      Christian Borntraeger 提交于
      There are QEMUMachines that have neither IF_IDE nor IF_SCSI as a
      default/standard interface to their block devices / drives. Therefore,
      this patch introduces a new field default_block_type per QEMUMachine
      struct. The prior use_scsi field becomes thereby obsolete and is
      replaced through .default_block_type = IF_SCSI.
      
      This patch also changes the default for s390x to IF_VIRTIO and
      removes an early hack that converts IF_IDE drives.
      Other parties have already claimed interest (e.g. IF_SD for exynos)
      
      To create a sane default, for machines that dont specify a
      default_block_type, this patch makes IF_IDE = 0 and IF_NONE = 1.
      I checked all users of IF_NONE (blockdev.c and ww/device-hotplug.c)
      as well as IF_IDE and it seems that it is ok to change the defines -
      in other words, I found no obvious (to me) assumption in the code
      regarding IF_NONE==0. IF_NONE is only set if there is an
      explicit if=none. Without if=* the interface becomes IF_DEFAULT.
      
      I would suggest to have some additional care, e.g. by letting
      this patch sit some days in the block tree.
      
      Based on an initial patch from Einar Lueck <elelueck@de.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      CC: Igor Mitsyanko <i.mitsyanko@samsung.com>
      CC: Markus Armbruster <armbru@redhat.com>
      CC: Kevin Wolf <kwolf@redhat.com>
      Reviewed-by: NAlexander Graf <agraf@suse.de>
      Acked-by: NIgor Mitsyanko <i.mitsyanko@samsung.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      2d0d2837
  2. 31 10月, 2012 1 次提交
  3. 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
  4. 20 10月, 2012 1 次提交
    • E
      create struct for machine initialization arguments · 5f072e1f
      Eduardo Habkost 提交于
      This should help us to:
      - More easily add or remove machine initialization arguments without
        having to change every single machine init function;
      - More easily make mechanical changes involving the machine init
        functions in the future;
      - Let machine initialization forward the init arguments to other
        functions more easily.
      
      This change was half-mechanical process: first the struct was added with
      the local ram_size, boot_device, kernel_*, initrd_*, and cpu_model local
      variable initialization to all functions. Then the compiler helped me
      locate the local variables that are unused, so they could be removed.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      5f072e1f
  5. 13 10月, 2012 2 次提交
  6. 26 9月, 2012 1 次提交
  7. 10 8月, 2012 1 次提交
    • B
      sparc: fix floppy TC line setup · acfbe712
      Blue Swirl 提交于
      The qemu_irq for Terminal Count (TC) line between FDC and Slavio misc
      device was created only after use, spotted by Clang compiler. Also,
      it was not created if the FDC didn't exist.
      
      Rearrange code to fix order. Always create the TC line.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      acfbe712
  8. 05 6月, 2012 2 次提交
  9. 07 4月, 2012 1 次提交
  10. 15 3月, 2012 2 次提交
  11. 15 2月, 2012 1 次提交
  12. 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
  13. 28 1月, 2012 1 次提交
  14. 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
  15. 28 11月, 2011 1 次提交
  16. 17 10月, 2011 1 次提交
  17. 16 10月, 2011 1 次提交
  18. 22 8月, 2011 1 次提交
    • B
      sun4m: avoid structure holes spotted by pahole · 61999750
      Blue Swirl 提交于
      Edited report from pahole on amd64 host:
      struct sun4c_hwdef {
      ...
      	uint8_t                    nvram_machine_id;     /*   112     1 */
      
      	/* XXX 1 byte hole, try to pack */
      ...
      	/* size: 136, cachelines: 3 */
      	/* sum members: 135, holes: 1, sum holes: 1 */
      	/* last cacheline: 8 bytes */
      };	/* definitions: 1 */
      
      struct sun4d_hwdef {
      ...
      	uint8_t                    nvram_machine_id;     /*   128     1 */
      
      	/* XXX 1 byte hole, try to pack */
      ...
      	/* size: 152, cachelines: 3 */
      	/* sum members: 151, holes: 1, sum holes: 1 */
      	/* last cacheline: 24 bytes */
      };	/* definitions: 1 */
      
      struct sun4m_hwdef {
      ...
      	uint8_t                    nvram_machine_id;     /*   260     1 */
      
      	/* XXX 1 byte hole, try to pack */
      
      	uint16_t                   machine_id;           /*   262     2 */
      	uint32_t                   iommu_version;        /*   264     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      ...
      	/* size: 288, cachelines: 5 */
      	/* sum members: 283, holes: 2, sum holes: 5 */
      	/* last cacheline: 32 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structures to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      61999750
  19. 21 8月, 2011 1 次提交
  20. 13 3月, 2011 1 次提交
  21. 19 12月, 2010 1 次提交
  22. 31 10月, 2010 1 次提交
  23. 12 9月, 2010 1 次提交
    • B
      ESP: fix ESP DMA access when DMA is not enabled · 73d74342
      Blue Swirl 提交于
      Sending ESP a command caused it to trigger DMA immediately
      even if DMA was not enabled at the DMA controller.
      
      Add a signal from DMA controller to ESP to tell ESP about changes in
      DMA enable bit. Also use the correct function for setting up GPIO outputs.
      
      This fixes NetBSD 1.6.1 through 3.0 boot.
      
      Thanks to Artyom Tarasenko for extensive debugging of the problem.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      73d74342
  24. 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
  25. 04 8月, 2010 1 次提交
  26. 21 7月, 2010 1 次提交
  27. 06 7月, 2010 1 次提交
  28. 29 5月, 2010 1 次提交
  29. 22 5月, 2010 1 次提交
  30. 18 4月, 2010 1 次提交
  31. 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
  32. 07 2月, 2010 1 次提交
  33. 14 1月, 2010 1 次提交
  34. 28 12月, 2009 1 次提交
  35. 13 12月, 2009 1 次提交
  36. 09 11月, 2009 1 次提交
  37. 28 10月, 2009 1 次提交