1. 14 11月, 2014 3 次提交
    • J
      ahci: unify sglist preparation · bef1301a
      John Snow 提交于
      The intent of this patch is to further unify the creation and
      deletion of the sglist used for all AHCI transfers, including
      emulated PIO, ATAPI R/W, and native DMA R/W.
      
      By replacing ahci_start_transfer's call to ahci_populate_sglist
      with ahci_dma_prepare_buf, we reduce the number of direct calls
      where we manipulate the scatter-gather list in the AHCI code.
      
      To make this switch, the constant "0" passed as an offset
      in ahci_dma_prepare_buf is adjusted to use io_buffer_offset.
      
      For DMA pathways, this has no effect: io_buffer_offset is always
      updated to 0 at the beginning of a DMA transfer loop regardless.
      DMA pathways through ide_dma_cb() update the io_buffer_offset
      accordingly, and for circumstances where we might make several
      trips through this loop, this may actually correct a design flaw.
      
      For PIO pathways, the newly updated ahci_dma_prepare_buf will
      now prepare the sglist at the correct offset. It will also set
      io_buffer_size, but this is not used in the cmd_read_pio or
      cmd_write_pio pathways.
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1414785819-26209-3-git-send-email-jsnow@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      bef1301a
    • J
      ide: repair PIO transfers for cases where nsector > 1 · 36334faf
      John Snow 提交于
      Currently, for emulated PIO transfers through the AHCI device,
      any attempt made to request more than a single sector's worth
      of data will result in the same sector being transferred over
      and over.
      
      For example, if we request 8 sectors via PIO READ SECTORS, the
      AHCI device will give us the same sector eight times.
      
      This patch adds offset tracking into the PIO pathways so that
      we can fulfill these requests appropriately.
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1414785819-26209-2-git-send-email-jsnow@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      36334faf
    • J
      ahci: Fix byte count regression for ATAPI/PIO · a395f3fa
      John Snow 提交于
      This patch fixes a regression caused by commit
      659142ec.
      The problem occurs when we wish to return early
      from the ahci_start_transfer function, but are now
      updating the transferred byte count in the AHCI
      command header via ahci_commit_buf.
      
      This will cause problems in the Windows 8 installer.
      
      Don't update the byte count in the command header
      for the transmission of ATAPI packets: These commands
      will distort the final byte count of the actual data
      payload.
      
      The call to ahci_commit_buf remains in the "out"
      portion of the call in order to clean up the sglist.
      The byte count is maintained by forcing size to be 0.
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      a395f3fa
  2. 13 11月, 2014 12 次提交
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · c52e6792
      Peter Maydell 提交于
      x86 and SCSI fixes.  I left out the APIC device model
      patches, pending confirmation from the submitter that they really
      fix QNX.
      
      # gpg: Signature made Thu 13 Nov 2014 15:13:38 GMT using RSA key ID 78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
      #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
      
      * remotes/bonzini/tags/for-upstream:
        acpi: accurate overflow check
        smbios: change 'ram_addr_t' variables to 'uint64_t'
        kvmclock: Add comment explaining why we need cpu_clean_all_dirty()
        target-i386: fix Coverity complaints about overflows
        apic_common: migrate missing fields
        target-i386: eliminate dead code and hoist common code out of "if"
        virtio-scsi: Fix comment for VirtIOSCSIReq
        virtio-scsi: dataplane: suppress guest notification
        esp: Do not overwrite ESP_TCHI after reset
        virtio-scsi: dataplane: fix allocation for 'cmd_vrings'
        esp: fix coding standards
        virtio-scsi: work around bug in old BIOSes
        esp-pci: fixup deadlock with linux
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      c52e6792
    • P
      acpi: accurate overflow check · 3ef0eab1
      Pavel Dovgalyuk 提交于
      Compare clock in ns, because acpi_pm_tmr_update uses rounded
      to ns value instead of ticks.
      Signed-off-by: NPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
      [This lets Windows boot in icount mode. - Paolo]
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      3ef0eab1
    • S
      smbios: change 'ram_addr_t' variables to 'uint64_t' · f4ec5cd2
      SeokYeon Hwang 提交于
      ram_addr_t should not be used except if referring to a RAMBlobk.
      Using 'uint64_t' avoids a -Wconstant-conversion warning, which
      clang >= 3.4 produces in "smbios_get_tables()".
      Signed-off-by: NSeokYeon Hwang <syeon.hwang@samsung.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      f4ec5cd2
    • E
      kvmclock: Add comment explaining why we need cpu_clean_all_dirty() · 1154d84d
      Eduardo Habkost 提交于
      Try to explain why commit 317b0a6d
      needed a cpu_clean_all_dirty() call just after calling
      cpu_synchronize_all_states().
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Cc: Andrey Korolyov <andrey@xdel.ru>
      Cc: Marcin Gibuła <m.gibula@beyond.pl>
      Cc: Marcelo Tosatti <mtosatti@redhat.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      1154d84d
    • P
      target-i386: fix Coverity complaints about overflows · e6a33e45
      Paolo Bonzini 提交于
      sipi_vector is an int; it is shifted by 12 and passed as a 64-bit value,
      which makes Coverity think that we wanted (uint64_t)sipi_vector << 12.
      
      But actually it must be between 0 and 255.  Make this explicit.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      e6a33e45
    • P
      apic_common: migrate missing fields · c2c00148
      Pavel Dovgalyuk 提交于
      This patch adds missed sipi_vector and wait_for_sipi fields to a new
      subsection of the vmstate of the apic_common module. Saving and loading
      of these fields makes migration of the apic state deterministic.
      Signed-off-by: NPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
      [Initialize the field in pre_load and kvm_apic_realize. - Paolo]
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      c2c00148
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-seabios-1.7.5.1-20141113-1' into staging · b56cb288
      Peter Maydell 提交于
      update seabios to 1.7.5.1 stable release
      
      # gpg: Signature made Thu 13 Nov 2014 11:03:05 GMT using RSA key ID D3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      
      * remotes/kraxel/tags/pull-seabios-1.7.5.1-20141113-1:
        update seabios to 1.7.5.1 stable release
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      b56cb288
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-input-20141113-1' into staging · e08d3004
      Peter Maydell 提交于
      QMP/input-send-event: make console parameter optional
      
      # gpg: Signature made Thu 13 Nov 2014 10:07:26 GMT using RSA key ID D3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      
      * remotes/kraxel/tags/pull-input-20141113-1:
        QMP/input-send-event: make console parameter optional
        QMP/input-send-event: update document of union InputEvent
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e08d3004
    • G
      update seabios to 1.7.5.1 stable release · 953ea14d
      Gerd Hoffmann 提交于
      git shortlog since 1.7.5:
      
      Hannes Reinecke (1):
            megasas: read addional PCI I/O bar
      
      Kevin O'Connor (5):
            boot: Change ":rom%d" boot order rom instance to ":rom%x"
            vgabios: Return from handle_1011() if handler found.
            Don't enable thread preemption during S3 resume vga option rom execution.
            build: Avoid absolute paths during "whole-program" compiling.
            ehci: Fix bug in hub port assignment
      
      Marcel Apfelbaum (1):
            hw/pci: reserve IO and mem for pci express downstream ports with no devices attached
      
      Markus Armbruster (1):
            boot: Fix boot order for SCSI target, lun > 9
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      953ea14d
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-usb-20141112-1' into staging · 410bd787
      Peter Maydell 提交于
      usb bugfixes for 2.2
      
      # gpg: Signature made Wed 12 Nov 2014 14:35:09 GMT using RSA key ID D3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      
      * remotes/kraxel/tags/pull-usb-20141112-1:
        usb-host: fix usb_host_speed_compat tyops
        xhci: add sanity checks to xhci_lookup_uport
        Provide the missing LIBUSB_LOG_LEVEL_* for older libusb or FreeBSD. Providing just the needed value as a defined.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      410bd787
    • A
      QMP/input-send-event: make console parameter optional · 51fc4476
      Amos Kong 提交于
      The 'QemuConsole' is the input source for handler, we share some
      input handlers to process the input events from different QemuConsole.
      
      Normally we only have one set of keyboard, mouse, usbtablet, etc.
      The devices have different mask, it's fine to just checking mask to
      insure that the handler has the ability to process the event.
      
      I saw we try to bind console to handler in usb/dev-hid.c, but display
      always isn't available at that time.
      
      If we have multiseat setup (as Gerd said), we only have 'problem' in
      this case. Actually event from different devices have the same effect
      for system, it's fine to always use the first available handler
      without caring about the console.
      
      For send-key command, we just pass a NULL for console parameter in
      calling qemu_input_event_send_key(NULL, ..), but 'input-send-event'
      needs to care more devices.
      
      Conclusion:
      Generally assigning the special console is meanless, and we can't
      directly remove the QMP parameter for compatibility.
      
      So we can make the parameter optional. The parameter might be useful
      for some special condition: we have multiple devices without binding
      console and they all have the ability(mask) to process events, and
      we don't want to use the first one.
      
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Cc: Marcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: NAmos Kong <akong@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      51fc4476
    • A
      935fb915
  3. 12 11月, 2014 9 次提交
  4. 11 11月, 2014 16 次提交