1. 15 Jun, 2017 1 commit
  2. 07 Jun, 2017 1 commit
  3. 04 Jun, 2017 2 commits
  4. 02 Jun, 2017 2 commits
  5. 12 May, 2017 1 commit
  6. 28 Mar, 2017 1 commit
  7. 16 Mar, 2017 6 commits
  8. 14 Mar, 2017 1 commit
  9. 07 Mar, 2017 1 commit
  10. 05 Mar, 2017 1 commit
  11. 02 Mar, 2017 1 commit
  12. 01 Mar, 2017 3 commits
  13. 28 Feb, 2017 2 commits
  14. 24 Feb, 2017 1 commit
  15. 21 Feb, 2017 1 commit
  16. 20 Feb, 2017 2 commits
  17. 17 Feb, 2017 1 commit
  18. 31 Jan, 2017 1 commit
  19. 27 Jan, 2017 1 commit
  20. 24 Jan, 2017 3 commits
  21. 20 Jan, 2017 1 commit
  22. 18 Jan, 2017 3 commits
    • Laszlo Ersek's avatar
      fw-cfg: bump "x-file-slots" to 0x20 for 2.9+ machine types · a5b3ebfd
      Laszlo Ersek authored
      More precisely, the "x-file-slots" count is bumped for all machine types
      that:
      (a) use fw_cfg, and
      (b) are not versioned (hence migration is not expected to work for them
          across QEMU releases anyway), or have version 2.9.
      
      This affects machine types implemented in the following source files:
      
      - "hw/arm/virt.c". The "virt-*" machine type is versioned, and the <= 2.8
        versions already depend on HW_COMPAT_2_8 (see commit e353aac5).
        Therefore adding the "x-file-slots" compat values to HW_COMPAT_2_8
        suffices.
      
      - "hw/i386/pc.c". The "pc-i440fx-*" (including "pc-*") and "pc-q35-*"
        machine types are versioned. Modifying HW_COMPAT_2_8 is sufficient here
        too (see commit "pc: Add 2.9 machine-types"). The "isapc" machtype is
        not versioned. The "xenfv" machine type, which uses fw_cfg for direct
        kernel booting, is also not versioned.
      
      - "hw/ppc/mac_newworld.c". The "mac99" machine type is not versioned.
      
      - "hw/ppc/mac_oldworld.c". The "g3beige" machine type is not versioned.
      
      - "hw/sparc/sun4m.c". None of the 9 machine types defined in this file
        appear versioned.
      
      - "hw/sparc64/sun4u.c". None of the 3 machine types defined in this file
        appear versioned.
      
      Cc: "Gabriel L. Somlo" <somlo@cmu.edu>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Anthony Perard <anthony.perard@citrix.com>
      Cc: Artyom Tarasenko <atar4qemu@gmail.com>
      Cc: David Gibson <david@gibson.dropbear.id.au>
      Cc: Eduardo Habkost <ehabkost@redhat.com>
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Stefano Stabellini <sstabellini@kernel.org>
      Signed-off-by: 's avatarLaszlo Ersek <lersek@redhat.com>
      Acked-by: 's avatarGabriel Somlo <somlo@cmu.edu>
      Tested-by: 's avatarGabriel Somlo <somlo@cmu.edu>
      Reviewed-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: 's avatarEduardo Habkost <ehabkost@redhat.com>
      a5b3ebfd
    • Laszlo Ersek's avatar
      fw-cfg: turn FW_CFG_FILE_SLOTS into a device property · e12f3a13
      Laszlo Ersek authored
      We'd like to raise the value of FW_CFG_FILE_SLOTS. Doing it naively could
      lead to problems with backward migration: a more recent QEMU (running an
      older machine type) would allow the guest, in fw_cfg_select(), to select a
      high key value that is unavailable in the same machine type implemented by
      the older (target) QEMU. On the target host, fw_cfg_data_read() for
      example could dereference nonexistent entries.
      
      As first step, size the FWCfgState.entries[*] and FWCfgState.entry_order
      arrays dynamically. All three array sizes will be influenced by the new
      field FWCfgState.file_slots (and matching device property).
      
      Make the following changes:
      
      - Replace the FW_CFG_FILE_SLOTS macro with FW_CFG_FILE_SLOTS_MIN (minimum
        count of fw_cfg file slots) in the header file. The value remains 0x10.
      
      - Replace all uses of FW_CFG_FILE_SLOTS with a helper function called
        fw_cfg_file_slots(), returning the new property.
      
      - Eliminate the macro FW_CFG_MAX_ENTRY, and replace all its uses with a
        helper function called fw_cfg_max_entry().
      
      - In the MMIO- and IO-mapped realize functions both, allocate all three
        arrays dynamically, based on the new property.
      
      - The new property defaults to FW_CFG_FILE_SLOTS_MIN. This is going to be
        customized in the following patches.
      
      Cc: "Gabriel L. Somlo" <somlo@cmu.edu>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: 's avatarLaszlo Ersek <lersek@redhat.com>
      Acked-by: 's avatarGabriel Somlo <somlo@cmu.edu>
      Tested-by: 's avatarGabriel Somlo <somlo@cmu.edu>
      Reviewed-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: 's avatarEduardo Habkost <ehabkost@redhat.com>
      e12f3a13
    • Michael S. Tsirkin's avatar
      fw-cfg: support writeable blobs · baf2d5bf
      Michael S. Tsirkin authored
      Useful to send guest data back to QEMU.
      
      Changes from Laszlo Ersek <lersek@redhat.com>:
      - rebase the patch from Michael Tsirkin's original postings at [1] and [2]
        to the following patches:
        - loader: Allow a custom AddressSpace when loading ROMs
        - loader: Add AddressSpace loading support to uImages
        - loader: fix handling of custom address spaces when adding ROM blobs
      - reject such writes immediately that would exceed the end of the array,
        rather than performing a partial write before setting the error bit: see
        the (len != dma.length) condition
      - document the write interface
      
      [1] http://lists.nongnu.org/archive/html/qemu-devel/2016-02/msg04968.html
      [2] http://lists.nongnu.org/archive/html/qemu-devel/2016-03/msg02735.html
      
      Cc: "Gabriel L. Somlo" <somlo@cmu.edu>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Michael Walle <michael@walle.cc>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Shannon Zhao <zhaoshenglong@huawei.com>
      Cc: qemu-arm@nongnu.org
      Signed-off-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: 's avatarLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: 's avatarMarcel Apfelbaum <marcel@redhat.com>
      Acked-by: 's avatarGabriel Somlo <somlo@cmu.edu>
      Tested-by: 's avatarGabriel Somlo <somlo@cmu.edu>
      Reviewed-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: 's avatarEduardo Habkost <ehabkost@redhat.com>
      baf2d5bf
  23. 16 Jan, 2017 3 commits