1. 19 3月, 2015 1 次提交
  2. 18 2月, 2015 1 次提交
  3. 23 12月, 2014 1 次提交
  4. 20 10月, 2014 1 次提交
    • M
      hw: Convert from BlockDriverState to BlockBackend, mostly · 4be74634
      Markus Armbruster 提交于
      Device models should access their block backends only through the
      block-backend.h API.  Convert them, and drop direct includes of
      inappropriate headers.
      
      Just four uses of BlockDriverState are left:
      
      * The Xen paravirtual block device backend (xen_disk.c) opens images
        itself when set up via xenbus, bypassing blockdev.c.  I figure it
        should go through qmp_blockdev_add() instead.
      
      * Device model "usb-storage" prompts for keys.  No other device model
        does, and this one probably shouldn't do it, either.
      
      * ide_issue_trim_cb() uses bdrv_aio_discard() instead of
        blk_aio_discard() because it fishes its backend out of a BlockAIOCB,
        which has only the BlockDriverState.
      
      * PC87312State has an unused BlockDriverState[] member.
      
      The next two commits take care of the latter two.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      4be74634
  5. 09 9月, 2014 1 次提交
  6. 28 5月, 2014 1 次提交
  7. 13 5月, 2014 1 次提交
  8. 05 4月, 2014 2 次提交
  9. 11 2月, 2014 1 次提交
  10. 23 12月, 2013 1 次提交
  11. 18 12月, 2013 3 次提交
    • P
      arm/highbank.c: Fix MPCore periphbase name · e2cddeeb
      Peter Crosthwaite 提交于
      GIC_BASE_ADDR is not the base address of the GIC. Its clear from the
      code that this is the base address of the MPCore. Rename to
      MPCORE_PERIPHBASE accordingly.
      Signed-off-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 90798bd3507205c16238b8b19a1a58c5437cf7ca.1387160489.git.peter.crosthwaite@xilinx.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e2cddeeb
    • P
      arm/highbank: Fix CBAR initialisation · c0f1ead9
      Peter Crosthwaite 提交于
      Fix the CBAR initialisation by using the newly defined static property.
      CBAR is now set before realization, so the intended value is now
      actually used.
      
      So I have kind of tested this. I booted an ARM kernel on Highbank with
      the stock Highbank DTB. It doesn't boot (and I will be doing something
      wrong), but before this patch I got this:
      
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 0 at /workspaces/pcrost/public/linux2.git/arch/arm/mm/ioremap.c:301 __arm_ioremap_pfn_caller+0x180/0x198()
      CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W 3.13.0-rc1-next-20131126-dirty #2
      [<c0015164>] (unwind_backtrace) from [<c00118c0>] (show_stack+0x10/0x14)
      [<c00118c0>] (show_stack) from [<c02bd5fc>] (dump_stack+0x78/0x90)
      [<c02bd5fc>] (dump_stack) from [<c001f110>] (warn_slowpath_common+0x68/0x84)
      [<c001f110>] (warn_slowpath_common) from [<c001f1f4>] (warn_slowpath_null+0x1c/0x24)
      [<c001f1f4>] (warn_slowpath_null) from [<c0017c6c>] (__arm_ioremap_pfn_caller+0x180/0x198)
      [<c0017c6c>] (__arm_ioremap_pfn_caller) from [<c0017cd8>] (__arm_ioremap_caller+0x54/0x5c)
      [<c0017cd8>] (__arm_ioremap_caller) from [<c0017d10>] (__arm_ioremap+0x18/0x1c)
      [<c0017d10>] (__arm_ioremap) from [<c03913c0>] (highbank_init_irq+0x34/0x8c)
      [<c03913c0>] (highbank_init_irq) from [<c038c228>] (init_IRQ+0x28/0x2c)
      [<c038c228>] (init_IRQ) from [<c03899ec>] (start_kernel+0x234/0x398)
      [<c03899ec>] (start_kernel) from [<00008074>] (0x8074)
      ---[ end trace 3406ff24bd97382f ]---
      
      Which disappears with this patch.
      Signed-off-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: fedec366aaa512d75093635f523d1dbcb3358361.1387160489.git.peter.crosthwaite@xilinx.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      c0f1ead9
    • P
      arm/highbank: Use object_new() rather than cpu_arm_init() · f282f296
      Peter Crosthwaite 提交于
      To allow the machine model to set device properties before CPU
      realization.
      Signed-off-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 8c671e500390c8be0cc363e887e32867d1d1b0d2.1387160489.git.peter.crosthwaite@xilinx.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      f282f296
  12. 28 8月, 2013 1 次提交
    • M
      hw: Clean up bogus default boot order · c1654732
      Markus Armbruster 提交于
      We set default boot order "cad" in every single machine definition
      except "pseries" and "moxiesim", even though very few boards actually
      care for boot order, and "cad" makes sense for even fewer.
      
      Machines that care:
      
      * pc and its variants
      
        Accept up to three letters 'a', 'b' (undocumented alias for 'a'),
        'c', 'd' and 'n'.  Reject all others (fatal with -boot).
      
      * nseries (n800, n810)
      
        Check whether order starts with 'n'.  Silently ignored otherwise.
      
      * prep, g3beige, mac99
      
        Extract the first character the machine understands (subset of
        'a'..'f').  Silently ignored otherwise.
      
      * spapr
      
        Accept an arbitrary string (vl.c restricts it to contain only
        'a'..'p', no duplicates).
      
      * sun4[mdc]
      
        Use the first character.  Silently ignored otherwise.
      
      Strip characters these machines ignore from their default boot order.
      
      For all other machines, remove the unused default boot order
      alltogether.
      
      Note that my rename of QEMUMachine member boot_order to
      default_boot_order and QEMUMachineInitArgs member boot_device to
      boot_order has a welcome side effect: it makes every use of boot
      orders visible in this patch, for easy review.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      c1654732
  13. 20 8月, 2013 1 次提交
  14. 30 7月, 2013 1 次提交
  15. 15 7月, 2013 2 次提交
  16. 10 7月, 2013 1 次提交
  17. 04 7月, 2013 2 次提交
  18. 18 5月, 2013 1 次提交
  19. 15 4月, 2013 1 次提交
  20. 09 4月, 2013 1 次提交
    • P
      hw: move headers to include/ · 0d09e41a
      Paolo Bonzini 提交于
      Many of these should be cleaned up with proper qdev-/QOM-ification.
      Right now there are many catch-all headers in include/hw/ARCH depending
      on cpu.h, and this makes it necessary to compile these files per-target.
      However, fixing this does not belong in these patches.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      0d09e41a
  21. 01 3月, 2013 2 次提交
  22. 22 1月, 2013 1 次提交
  23. 16 1月, 2013 1 次提交
  24. 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
  25. 19 12月, 2012 3 次提交
  26. 11 12月, 2012 2 次提交
    • P
      hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init · bf471f79
      Peter Maydell 提交于
      Fix the code in the secondary CPU boot stubs so that it correctly
      initialises the GIC rather than relying on bugs or implementation
      dependent aspects of the QEMU GIC implementation:
       * set the GIC_PMR.Priority field to all-ones, so that all
         interrupts are passed through. The default of all-zeroes
         means all interrupts are masked, and QEMU only booted because
         of a bug in the priority masking in our GIC implementation.
       * add a barrier after GIC setup and before WFI to ensure that
         GIC config is complete before we go into a possible low power
         state. This isn't needed with the software GIC model but could
         be required when using KVM and executing this code on the
         real hardware CPU.
      
      Note that of the three secondary stub implementations, only
      the common generic one needs to support both v6 and v7 DSB
      encodings; highbank and exynos4210 will always be v7 CPUs.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NIgor Mitsyanko <i.mitsyanko@samsung.com>
      bf471f79
    • 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
  27. 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
  28. 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
  29. 01 8月, 2012 1 次提交
  30. 11 6月, 2012 2 次提交