1. 16 2月, 2015 1 次提交
  2. 13 2月, 2015 4 次提交
  3. 11 2月, 2015 1 次提交
  4. 07 2月, 2015 3 次提交
  5. 05 2月, 2015 2 次提交
  6. 27 1月, 2015 5 次提交
  7. 26 1月, 2015 1 次提交
  8. 24 1月, 2015 1 次提交
  9. 20 1月, 2015 2 次提交
  10. 15 1月, 2015 1 次提交
  11. 12 1月, 2015 1 次提交
  12. 09 1月, 2015 1 次提交
  13. 08 1月, 2015 1 次提交
  14. 07 1月, 2015 2 次提交
  15. 05 1月, 2015 1 次提交
  16. 03 1月, 2015 1 次提交
  17. 23 12月, 2014 7 次提交
    • 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
    • L
      fw_cfg_mem: expose the "data_width" property with fw_cfg_init_mem_wide() · 6c87e3d5
      Laszlo Ersek 提交于
      We rebase fw_cfg_init_mem() to the new function for compatibility with
      current callers.
      
      The behavior of the (big endian) multi-byte data reads is best shown
      with a qtest session.  Here, we are reading the first six bytes of
      the UUID
      
          $ arm-softmmu/qemu-system-arm -M virt -machine accel=qtest \
               -qtest stdio -uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8
      >>> writew 0x9020008 0x0200
      <<< OK
      >>> readl 0x9020000
      <<< OK 0x000000004600cb32
      
      Remember this is big endian.  On big endian machines, it is stored
      directly as 0x46 0x00 0xcb 0x32.
      
      On a little endian machine, we have to first swap it, so that it becomes
      0x32cb0046.  When written to memory, it becomes 0x46 0x00 0xcb 0x32
      again.
      
      Reading byte-by-byte works too, of course:
      
      >>> readb 0x9020000
      <<< OK 0x0000000000000038
      >>> readb 0x9020000
      <<< OK 0x00000000000000ec
      
      Here only a single byte is read at a time, so they are read in order
      similar to the 1-byte data port that is already in PPC and SPARC
      machines.
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1419250305-31062-8-git-send-email-pbonzini@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      6c87e3d5
    • L
      fw_cfg: move boards to fw_cfg_init_io() / fw_cfg_init_mem() · 66708822
      Laszlo Ersek 提交于
      This allows us to drop the fw_cfg_init() shim and to enforce the possible
      mappings at compile time.
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1419250305-31062-3-git-send-email-pbonzini@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      66708822
    • L
      fw_cfg: hard separation between the MMIO and I/O port mappings · 5712db6a
      Laszlo Ersek 提交于
      We are going to introduce a wide data register for fw_cfg, but only for
      the MMIO mapped device. The wide data register will also require the
      tightening of endiannesses.
      
      However we don't want to touch the I/O port mapped fw_cfg device at all.
      
      Currently QEMU provides a single fw_cfg device type that can handle both
      I/O port and MMIO mapping. This flexibility is not actually exploited by
      any board in the tree, but it renders restricting the above changes to
      MMIO very hard.
      
      Therefore, let's derive two classes from TYPE_FW_CFG: TYPE_FW_CFG_IO and
      TYPE_FW_CFG_MEM.
      
      TYPE_FW_CFG_IO incorporates the base I/O port and the related combined
      MemoryRegion. (NB: all boards in the tree that use the I/O port mapped
      flavor opt for the combined mapping; that is, when the data port overlays
      the high address byte of the selector port. Therefore we can drop the
      capability to map those I/O ports separately.)
      
      TYPE_FW_CFG_MEM incorporates the base addresses for the MMIO selector and
      data registers, and their respective MemoryRegions.
      
      The "realize" and "props" class members are specific to each new derived
      class, and become unused for the base class. The base class retains the
      "reset" member and the "vmsd" member, because the reset functionality and
      the set of migrated data are not specific to the mapping.
      
      The new functions fw_cfg_init_io() and fw_cfg_init_mem() expose the
      possible mappings in separation. For now fw_cfg_init() is retained as a
      compatibility shim that enforces the above assumptions.
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1419250305-31062-2-git-send-email-pbonzini@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      5712db6a
    • G
      target-arm: Add arm_boot_info secure_boot control · c8e829b7
      Greg Bellows 提交于
      Adds the secure_boot boolean field to the arm_boot_info descriptor.  This
      fields is used to indicate whether Linux should boot into secure or non-secure
      state if the ARM EL3 feature is enabled.  The default is to leave the CPU in an
      unaltered reset state.  On EL3 enabled systems, the reset state is secure and
      can be overridden by setting the added field to false.
      Signed-off-by: NGreg Bellows <greg.bellows@linaro.org>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1418684992-8996-11-git-send-email-greg.bellows@linaro.org
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      c8e829b7
    • E
      hw/vfio: create common module · e2c7d025
      Eric Auger 提交于
      A new common module is created. It implements all functions
      that have no device specificity (PCI, Platform).
      
      This patch only consists in move (no functional changes)
      Signed-off-by: NKim Phillips <kim.phillips@linaro.org>
      Signed-off-by: NEric Auger <eric.auger@linaro.org>
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      e2c7d025
  18. 22 12月, 2014 1 次提交
  19. 20 12月, 2014 1 次提交
  20. 16 12月, 2014 1 次提交
  21. 15 12月, 2014 1 次提交
  22. 10 12月, 2014 1 次提交