1. 07 1月, 2015 35 次提交
  2. 23 12月, 2014 5 次提交
    • P
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20141223' into staging · ab0302ee
      Peter Maydell 提交于
      target-arm queue:
       * enable 32-bit EL3 (TrustZone) for vexpress and virt boards
       * add fw_cfg device to virt board for UEFI firmware config
       * support passing commandline kernel/initrd to firmware
      
      # gpg: Signature made Tue 23 Dec 2014 13:50:33 GMT using RSA key ID 14360CDE
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>"
      
      * remotes/pmaydell/tags/pull-target-arm-20141223: (31 commits)
        hw/arm/virt: enable passing of EFI-stubbed kernel to guest UEFI firmware
        hw/arm: pass pristine kernel image to guest firmware over fw_cfg
        hw/loader: split out load_image_gzipped_buffer()
        arm: add fw_cfg to "virt" board
        fw_cfg_mem: expose the "data_width" property with fw_cfg_init_mem_wide()
        fw_cfg_mem: introduce the "data_width" property
        exec: allows 8-byte accesses in subpage_ops
        fw_cfg_mem: flip ctl_mem_ops and data_mem_ops to DEVICE_BIG_ENDIAN
        fw_cfg_mem: max access size and region size are the same for data register
        fw_cfg: move boards to fw_cfg_init_io() / fw_cfg_init_mem()
        fw_cfg: hard separation between the MMIO and I/O port mappings
        target-arm: add cpu feature EL3 to CPUs with Security Extensions
        target-arm: Disable EL3 on unsupported machines
        target-arm: Breakout integratorcp and versatilepb cpu init
        target-arm: Set CPU has_el3 prop during virt init
        target-arm: Enable CPU has_el3 prop during VE init
        target-arm: Add arm_boot_info secure_boot control
        target-arm: Add ARMCPU secure property
        target-arm: Add feature unset function
        target-arm: Add virt machine secure property
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      ab0302ee
    • P
      Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20141222.0' into staging · 03de06dd
      Peter Maydell 提交于
      VFIO updates:
      - Conversion to tracepoints (Eric Auger)
      - Fix memory listener address space (Frank Blaschka)
      - Move to hw/vfio/ and split common vs pci (Eric Auger & Kim Phillips)
      - Trivial error_report() fixes (Alex Williamson)
      
      In addition to enabling S390 with the address space fix and updating
      to use tracepoints rather than compile time debug, this set of patches
      moves hw/misc/vfio.c to hw/vfio/ and paves the way for vfio-platform
      support by splitting common functionality from PCI specific code.
      
      # gpg: Signature made Mon 22 Dec 2014 20:19:43 GMT using RSA key ID 3BB08B22
      # gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex@shazbot.org>"
      # gpg:                 aka "Alex Williamson <alwillia@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex.l.williamson@gmail.com>"
      
      * remotes/awilliam/tags/vfio-update-20141222.0:
        vfio: Cleanup error_report()s
        hw/vfio: create common module
        hw/vfio/pci: use name field in format strings
        hw/vfio/pci: rename group_list into vfio_group_list
        hw/vfio/pci: split vfio_get_device
        hw/vfio/pci: Introduce VFIORegion
        hw/vfio/pci: handle reset at VFIODevice
        hw/vfio/pci: add type, name and group fields in VFIODevice
        hw/vfio/pci: introduce minimalist VFIODevice with fd
        hw/vfio/pci: generalize mask/unmask to any IRQ index
        hw/vfio/pci: Rename VFIODevice into VFIOPCIDevice
        vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio
        vfio: fix adding memory listener to the right address space
        vfio: migration to trace points
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      03de06dd
    • L
      hw/arm/virt: enable passing of EFI-stubbed kernel to guest UEFI firmware · aa351061
      Laszlo Ersek 提交于
      The virt board already ensures mutual exclusion between -bios and -pflash
      unit#0; we only need to set "bootinfo.firmware_loaded", introduced in the
      previous patch, if either of those options was used to load the guest
      firmware.
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1419250305-31062-12-git-send-email-pbonzini@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      aa351061
    • L
      hw/arm: pass pristine kernel image to guest firmware over fw_cfg · 07abe45c
      Laszlo Ersek 提交于
      Introduce the new boolean field "arm_boot_info.firmware_loaded". When this
      field is set, it means that the portion of guest DRAM that the VCPU
      normally starts to execute, or the pflash chip that the VCPU normally
      starts to execute, has been populated by board-specific code with
      full-fledged guest firmware code, before the board calls
      arm_load_kernel().
      
      Simultaneously, "arm_boot_info.firmware_loaded" guarantees that the board
      code has set up the global firmware config instance, for arm_load_kernel()
      to find with fw_cfg_find().
      
      Guest kernel (-kernel) and guest firmware (-bios, -pflash) has always been
      possible to specify independently on the command line. The following cases
      should be considered:
      
      nr  -bios    -pflash  -kernel  description
                   unit#0
      --  -------  -------  -------  -------------------------------------------
      1   present  present  absent   Board code rejects this case, -bios and
          present  present  present  -pflash unit#0 are exclusive. Left intact
                                     by this patch.
      
      2   absent   absent   present  Traditional kernel loading, with qemu's
                                     minimal board firmware. Left intact by this
                                     patch.
      
      3   absent   present  absent   Preexistent case for booting guest firmware
          present  absent   absent   loaded with -bios or -pflash. Left intact
                                     by this patch.
      
      4   absent   absent   absent   Preexistent case for not loading any
                                     firmware or kernel up-front. Left intact by
                                     this patch.
      
      5   present  absent   present  New case introduced by this patch: kernel
          absent   present  present  image is passed to externally loaded
                                     firmware in unmodified form, using fw_cfg.
      
      An easy way to see that this patch doesn't interfere with existing cases
      is to realize that "info->firmware_loaded" is constant zero at this point.
      Which makes the "outer" condition unchanged, and the "inner" condition
      (with the fw_cfg-related code) dead.
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1419250305-31062-11-git-send-email-pbonzini@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      07abe45c
    • L
      hw/loader: split out load_image_gzipped_buffer() · 7d48a0f7
      Laszlo Ersek 提交于
      In the next patch we'd like to reuse the image decompression facility
      without installing the output as a ROM at a specific guest-phys address.
      
      In addition, expose LOAD_IMAGE_MAX_GUNZIP_BYTES, because that's a
      straightforward "max_sz" argument for the new load_image_gzipped_buffer().
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1419250305-31062-10-git-send-email-pbonzini@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      7d48a0f7