Skip to content
Snippets Groups Projects
  1. Oct 28, 2016
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging · 9879b758
      Peter Maydell authored
      
      Block layer patches
      
      # gpg: Signature made Thu 27 Oct 2016 18:15:47 BST
      # gpg:                using RSA key 0x7F09B272C88F2FD6
      # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>"
      # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6
      
      * remotes/kevin/tags/for-upstream: (23 commits)
        iotests: Add test for NBD's blockdev-add interface
        iotests: Add assert_json_filename_equal() method
        socket_scm_helper: Accept fd directly
        iotests.py: Allow concurrent qemu instances
        iotests.py: Add qemu_nbd function
        qapi: Allow blockdev-add for NBD
        block/nbd: Use SocketAddress options
        block/nbd: Accept SocketAddress
        block/nbd: Add nbd_has_filename_options_conflict()
        block/nbd: Use qdict_put()
        block/nbd: Default port in nbd_refresh_filename()
        block/nbd: Reject port parameter without host
        block/nbd: Drop trailing "." in error messages
        qemu-iotests: Fix typo for NFS with IMGOPTSSYNTAX
        block: Remove bdrv_aio_ioctl()
        raw: Implement .bdrv_co_ioctl instead of .bdrv_aio_ioctl
        block: Introduce .bdrv_co_ioctl() driver callback
        block: Remove bdrv_ioctl()
        raw-posix: Don't use bdrv_ioctl()
        block: Use blk_co_ioctl() for all BB level ioctls
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      9879b758
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-seabios-20161027-2' into staging · 86398328
      Peter Maydell authored
      
      seabios: update to 1.10.0 release.
      
      # gpg: Signature made Thu 27 Oct 2016 15:50:54 BST
      # gpg:                using RSA key 0x4CB6D8EED3E87138
      # 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>"
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/pull-seabios-20161027-2:
        seabios: update to 1.10.0 release.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      86398328
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-vga-20161027-1' into staging · b67d87f9
      Peter Maydell authored
      
      virtio-gpu: fix memory leak in virtio_gpu_resource_create_2d
      
      # gpg: Signature made Thu 27 Oct 2016 15:32:38 BST
      # gpg:                using RSA key 0x4CB6D8EED3E87138
      # 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>"
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/pull-vga-20161027-1:
        virtio-gpu: fix memory leak in virtio_gpu_resource_create_2d
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      b67d87f9
  2. Oct 27, 2016
    • Fam Zheng's avatar
      trace: Fix 'char **' compilation error in simple backend · db4df20d
      Fam Zheng authored
      
      Currently, the generated function body will do "strlen(arg)" but the
      argument could be 'char **' or 'char * const *'. Avoid that by excluding
      such cases in is_string check.
      
      Reported by patchew's "make docker-test-mingw@fedora".
      
      Suggested-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarFam Zheng <famz@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Message-id: 1477453806-21097-1-git-send-email-famz@redhat.com
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      db4df20d
    • Hanna Reitz's avatar
      b74fc7f7
    • Hanna Reitz's avatar
      iotests: Add assert_json_filename_equal() method · e07375f5
      Hanna Reitz authored
      
      Since the order of keys in JSON filenames is not necessarily fixed, they
      should not be compared to fixed strings. This method takes a Python dict
      as a reference, parses a given JSON filename and compares both.
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      e07375f5
    • Hanna Reitz's avatar
      socket_scm_helper: Accept fd directly · d35172b4
      Hanna Reitz authored
      
      This gives us more freedom about the fd that is passed to qemu, allowing
      us to e.g. pass sockets.
      
      Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      d35172b4
    • Hanna Reitz's avatar
      iotests.py: Allow concurrent qemu instances · 5fcbdf50
      Hanna Reitz authored
      
      By adding an optional suffix to the files used for communication with a
      VM, we can launch multiple VM instances concurrently.
      
      Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      5fcbdf50
    • Hanna Reitz's avatar
      iotests.py: Add qemu_nbd function · bec87774
      Hanna Reitz authored
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      bec87774
    • Hanna Reitz's avatar
      qapi: Allow blockdev-add for NBD · 6b02b1f0
      Hanna Reitz authored
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      6b02b1f0
    • Hanna Reitz's avatar
      block/nbd: Use SocketAddress options · f84d431b
      Hanna Reitz authored
      
      Drop the use of legacy options in favor of the SocketAddress
      representation, even for internal use (i.e. for storing the result of
      the filename parsing).
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      f84d431b
    • Hanna Reitz's avatar
      block/nbd: Accept SocketAddress · 491d6c7c
      Hanna Reitz authored
      
      Add a new option "server" to the NBD block driver which accepts a
      SocketAddress.
      
      "path", "host" and "port" are still supported as legacy options and are
      mapped to their corresponding SocketAddress representation.
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      491d6c7c
    • Hanna Reitz's avatar
      block/nbd: Add nbd_has_filename_options_conflict() · 48c38e0b
      Hanna Reitz authored
      
      Right now, we have four possible options that conflict with specifying
      an NBD filename, and a future patch will add another one ("address").
      This future option is a nested QDict that is flattened at this point,
      requiring us to test each option whether its key has an "address."
      prefix. Therefore, we will then need to iterate through all options
      (including the "export" option which was not covered so far).
      
      Adding this iteration logic now will simplify adding the new option
      later. A nice side effect is that the user will not receive a long list
      of five options which are not supposed to be specified with a filename,
      but we can actually print the problematic option.
      
      Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      48c38e0b
    • Hanna Reitz's avatar
      block/nbd: Use qdict_put() · fcfcd8ff
      Hanna Reitz authored
      
      Instead of inlining this nice macro (i.e. resorting to
      qdict_put_obj(..., QOBJECT(...))), use it.
      
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      fcfcd8ff
    • Hanna Reitz's avatar
      block/nbd: Default port in nbd_refresh_filename() · 7edca338
      Hanna Reitz authored
      
      Instead of not emitting the port in nbd_refresh_filename(), just set it
      to the default if the user did not specify it. This makes the logic a
      bit simpler.
      
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      7edca338
    • Hanna Reitz's avatar
      block/nbd: Reject port parameter without host · 442045cb
      Hanna Reitz authored
      
      Currently, a port that is passed along with a UNIX socket path is
      silently ignored. That is not exactly ideal, it should be an error
      instead.
      
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      442045cb
    • Hanna Reitz's avatar
      block/nbd: Drop trailing "." in error messages · 82d73014
      Hanna Reitz authored
      
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      82d73014
    • Kevin Wolf's avatar
      qemu-iotests: Fix typo for NFS with IMGOPTSSYNTAX · e5b77eec
      Kevin Wolf authored
      
      Commit 076003f5 added configuration for NFS with IMGOPTSSYNTAX enabled,
      but it didn't use the right variable name: $TEST_DIR_OPTS doesn't exist.
      This fixes the mistake.
      
      However, this doesn't make anything work that was broken before: The
      only way to get IMGOPTSSYNTAX is with -luks, but the combination of
      -luks and -nfs doesn't get qemu-img create commands right (because
      qemu-img create doesn't support --image-opts yet), so even after this
      fix some more work would be required to make the tests pass.
      
      Reported-by: default avatarTomáš Golembiovský <tgolembi@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      e5b77eec
    • Kevin Wolf's avatar
      block: Remove bdrv_aio_ioctl() · cbc14ac9
      Kevin Wolf authored
      
      It is unused now.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      cbc14ac9
    • Kevin Wolf's avatar
      raw: Implement .bdrv_co_ioctl instead of .bdrv_aio_ioctl · 151a2930
      Kevin Wolf authored
      
      It's the simpler interface to use for the raw format driver.
      
      Apart from that, this removes the last user of the AIO emulation
      implemented by bdrv_aio_ioctl().
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      151a2930
    • Kevin Wolf's avatar
      block: Introduce .bdrv_co_ioctl() driver callback · 16a389dc
      Kevin Wolf authored
      
      This allows drivers to implement ioctls in a coroutine-based way.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      16a389dc
    • Kevin Wolf's avatar
      block: Remove bdrv_ioctl() · 61b24504
      Kevin Wolf authored
      
      It is unused now.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      61b24504
    • Kevin Wolf's avatar
      raw-posix: Don't use bdrv_ioctl() · 0d4377b3
      Kevin Wolf authored
      
      Instead of letting raw-posix use the bdrv_ioctl() abstraction to issue
      an ioctl to itself, just call ioctl() directly.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      0d4377b3
    • Kevin Wolf's avatar
      block: Use blk_co_ioctl() for all BB level ioctls · 48af776a
      Kevin Wolf authored
      
      All read/write functions already have a single coroutine-based function
      on the BlockBackend level through which all requests go (no matter what
      API style the external caller used) and which passes the requests down
      to the block node level.
      
      This patch exports a bdrv_co_ioctl() function and uses it to extend this
      mode of operation to ioctls.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      48af776a
    • Kevin Wolf's avatar
      block: Remove bdrv_aio_pdiscard() · 7381e95c
      Kevin Wolf authored
      
      It is unused now.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      7381e95c
    • Kevin Wolf's avatar
      block: Use blk_co_pdiscard() for all BB level discard · 8c2e3dd5
      Kevin Wolf authored
      
      All read/write functions already have a single coroutine-based function
      on the BlockBackend level through which all requests go (no matter what
      API style the external caller used) and which passes the requests down
      to the block node level.
      
      This patch extends this mode of operation to discards.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      8c2e3dd5
    • Kevin Wolf's avatar
      block: Use blk_co_flush() for all BB level flushes · be07a889
      Kevin Wolf authored
      
      All read/write functions already have a single coroutine-based function
      on the BlockBackend level through which all requests go (no matter what
      API style the external caller used) and which passes the requests down
      to the block node level.
      
      This patch extends this mode of operation to flushes.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      be07a889
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-audio-20161027-1' into staging · 835f3d24
      Peter Maydell authored
      
      audio: intel-hda: check stream entry count during transfer
      
      # gpg: Signature made Thu 27 Oct 2016 15:30:51 BST
      # gpg:                using RSA key 0x4CB6D8EED3E87138
      # 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>"
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/pull-audio-20161027-1:
        audio: intel-hda: check stream entry count during transfer
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      835f3d24
    • Gerd Hoffmann's avatar
      seabios: update to 1.10.0 release. · 6e99f574
      Gerd Hoffmann authored
      
      New in this release:
      ===================
      
      * Initial support for Trusted Platform Module (TPM) version 2.0
      * Several USB XHCI timing fixes on real hardware
      * Support for "LSI MPT Fusion" scsi controllers on QEMU
      * Support for virtio devices mapped above 4GB
      * Several bug fixes and code cleanups
      
      git shortlog rel-1.9.3..rel-1.10.0
      ==================================
      
      Alex Williamson (1):
            fw/pci: Add support for mapping Intel IGD via QEMU
      
      Cao jin (1):
            Fix comment typo
      
      Cole Robinson (1):
            biostables: Support SMBIOS 2.6+ UUID format
      
      Dana Rubin (2):
            pvscsi: Fix incorrect arguments order in call to memalign_low
            pvscsi: Use high memory for rings
      
      Don Slutz (1):
            Support for booting from LSI Logic LSI53C1030, SAS1068, SAS1068e
      
      Gerd Hoffmann (4):
            ahci: set transfer mode according to the capabilities of connected drive
            virtio: uninline _vp_{read,write}
            virtio: pci cfg access
            virtio: fix virtio-pci
      
      Haozhong Zhang (1):
            fw/msr_feature_control: add support to set MSR_IA32_FEATURE_CONTROL
      
      Igor Mammedov (3):
            paravirt: disable legacy bios tables in case of more than 255 CPUs
            add helpers to read etc/boot-cpus at resume time
            support booting with more than 255 CPUs
      
      Kevin O'Connor (124):
            usb: Allow configuration of sigatt time (in etc/usb-time-sigatt)
            xhci: Check for device disconnects during USB2 reset polling
            sdcard: Only enable error_irq_enable for bits defined in SDHCI v1 spec
            sdcard: fix typo causing 32bit write to 16bit block_size field
            sdcard: Enable extra debugging on sdcard_waitw() timeout
            acpi_extract: Move main code to new function main()
            acpi_extract: Make the generated .hex files more human readable
            acpi_extract: Don't generate unused (and empty) q35-acpi-dsdt.hex file
            acpi: Don't build SSDT files on every build; store them in git
            acpi: Remove build check for iasl
            tpm: Move standard definitions from tcgbios.h to new file std/tcg.h
            util.h: Minor - HaveRunPost is in misc.c not resume.c
            tpm: Add "static" declaration to functions not used outside tcgbios.c
            tpm: Move code around in tcgbios.c
            tpm: Move error recovery from tpm_extend_acpi_log() to only caller
            tpm: Open code tpm_ipl() into callers
            tpm: Change tpm_add_measurement() to tpm_add_action()
            tpm: Move tpm_add_bootdevice() into callers
            tpm: Move tpm_start_option_rom_scan() and tpm_calling_int19h() into callers
            tpm: pcpes->event is a variable length array
            tpm: Don't pass entry_count around in parameters to/from tpm_extend_acpi_log()
            tpm: There is no need to pass pcrindex to hash_log_extend_event()
            tpm: Perform hashing separately from logging
            tpm: There is no need to pass event_length to hash/extend functions
            tpm: Avoid scatter-gather copying in build_and_send_cmd()
            tpm: Don't implement scatter-gather in transmit()
            tpm: Merge tpm_log_event() and tpm_extend_acpi_log()
            tpm: Merge tpm_log_extend_event() and tpm_extend(); extend before logging
            xhci: Wait for port enable even for USB3 devices
            xhci: Improve port status change debugging
            xhci: Disable slot on failed set_address command
            nmi: Don't try to switch onto extra stack in NMI handler
            scsi: Do not call printf() from scsi_is_ready()
            block: Report drive->sectors using "%u" instead of "%d"
            tpm: Add banner separating the TCG bios interface code from TCG menu code
            tpm: Avoid macro expansion of tpm request / response structs
            tpm: Simplify hardware probe and detection checks
            tpm: Add wrapper function tpmhw_set_timeouts()
            tpm: Move TPM hardware functions from tcgbios.c to hw/tpm_drivers.c
            tpm: Rework TPM interface shutdown support
            tpm: Simplify tcpa probe
            tpm: Introduce tpm_get_capability() helper function
            tpm: Eliminate response buffer parameter from build_and_send_cmd()
            tpm: Don't return a status from external bios measurement functions
            tpm: No need to check the return status of measurements
            tpm: Don't call tpm_set_failure() from tpm_log_extend_event()
            tpm: Don't use 16bit BIOS return codes in build_and_send_cmd()
            tpm: Don't use 16bit BIOS return codes in tpm_log_event()
            tpm: Don't use 16bit BIOS return codes in tpmhw_* functions
            tpm: Don't use 16bit BIOS return codes in TPM menu functions
            usb: Remove usbdev->slotid field
            coreboot: Check for unaligned cbfs header
            resume: Make KVM soft reboot loop detection more flexible
            post: Always set HaveRunPost prior to setting any other global variable
            kbd: Don't treat scancode and asciicode as separate values
            kbd: Refactor capslock and numlock handling
            ehci: Only delay UHCI/OHCI port scan until after EHCI setup completes
            usb: Eliminate USB controller setup thread
            pci: Add helper functions for internal driver BAR handling
            ahci: Convert to new PCI BAR helper functions
            ata: Convert to new PCI BAR helper functions
            esp-scsi: Convert to new PCI BAR helper functions
            lsi-scsi: Convert to new PCI BAR helper functions
            megasas: Convert to new PCI BAR helper functions
            pvscsi: Convert to new PCI BAR helper functions
            sdcard: Convert to new PCI BAR helper functions
            ehci: Convert to new PCI BAR helper functions
            ohci: Convert to new PCI BAR helper functions
            uhci: Convert to new PCI BAR helper functions
            xhci: Convert to new PCI BAR helper functions
            virtio: Convert to new PCI BAR helper functions
            pci: Consistently set pci->have_drivers for devices with internal drivers
            pci: Implement '%pP' printf handler for 'struct pci_device' pointers
            pci: Move code in pci.c that is specific to pciinit.c to pciinit.c
            pci: Split low-level pci code from higher-level 'struct pci_device' code
            scsi: Always use MAXDESCSIZE when building drive description
            block: Move drive setup to new function block_setup()
            tpm: Unify tpm_fill_hash()/tpm_log_extend_event() and use in BIOS interface
            docs: Note release date of 1.9.1
            build: fix .text section address alignment
            tpm: Write logs in TPM 2 format
            mpt-scsi: Declare 'int i' outside of for loop for older compilers
            block: Move send_disk_op() from block.c to disk.c
            disk: Avoid stack_hop() path if already on the extra stack
            optionroms: Drop support for CONFIG_OPTIONROMS_DEPLOYED
            shadow: Batch PCI config writes
            virtio: Use threads when scanning for virtio devices
            scsi: Launch a thread when scanning for drives in the scsi drivers
            docs: Note release date of 1.9.2
            usb-xhci: Remove unused const variables
            tcgbios: Remove unused const variable
            vgabios: Remove special case of dh==0xff in handle_1013()
            vgabios: Don't check for special case of page==0xff on external calls
            vgabios: Simplify set_cursor_pos()
            docs: Note release date of 1.9.3
            vgabios: Simplify scroll logic
            blockcmd: CMD_SCSI op is only used in 32bit mode
            swcursor: Move swcursor code from vgafb.c to new file swcursor.c
            swcursor: Concentrate swcursor logic in swcursor.c
            vgafb: Move header definitions from vgabios.h to new file vgafb.h
            vgainit: Move video param setup to stdvga_build_video_param()
            vgautil: Add new header file with misc function and variable definitions
            vgautil: Move generic definitions from stdvga.h to vgautil.h
            vgautil: Move definitions from cbvga.h and clext.h to vgautil.h
            version: Update header files now that version.c is not auto generated
            checkstack: Handle conditional checks at start of functions
            tpm: Append to TPM2 log the hashes used for PCR extension
            ps2: Remove stale check for timeout warning on reset
            pic: The default hardware interrupt handlers should not take a parameter
            kbd: Implement 101-key keyboard keycode mapping
            kbd: Implement extended keycode mappings for keypad-enter and keypad-/
            kbd: Suppress keys without mappings
            kbd: Merge bda->kbd_flag0 and bda->kbd_flag1
            kbd: Extract out shift flag setting into new function
            kbd: Move checking for special keys in __process_keys() into switch
            kbd: Ignore fake shift keys
            usb-hid: Generate Ctrl+Break and Alt+SysReq keys
            kbd: Generate interrupt events for SysReq, PrtScr, and Break
            post: Map int 0x05 to entry point
            kbd: Move extended and release events out of special key detection switch
            build: Be sure to also include out/*.d in Makefile
            smp: consolidate CPU APIC ID detection and accounting
            build: Add -fno-pie to the gcc flags when available
            docs: Note v1.10.0 release
      
      Marcel Apfelbaum (2):
            fw/pci: do not automatically allocate IO region for PCIe bridges
            fw/pci: add Q35 S3 support
      
      Matt DeVillier (1):
            sdcard: skip detection of PCI sdhci controllers if etc/sdcard used
      
      Paolo Bonzini (1):
            smp: restore MSRs on S3 resume
      
      Piotr Król (1):
            docs: fix various typos and inconsistency
      
      Roger Pau Monne (1):
            build: fix typo in buildversion.py
      
      Stefan Berger (34):
            tpm: Temporarily deactivate the TPM in case of failure
            tpm: Refactor function building TPM commands
            tpm: Refactor the parameters being passed to tpm_extend_acpi_log
            tpm: Refactor hash_log_event BIOS interface function
            tpm: Refactor hash_log_extend_event
            tpm: fix compiler warning with older gcc versions
            tpm: Drop code using the TPM for sha1
            tpm: Set timeouts and durations to microsecond values
            tpm: Cache all log related pointers in tpm_state
            tpm: Refactor pass_through_to_tpm
            tpm: Rename remaining interrupt functions
            tpm: Remove check for working TPM from TPM interrupt handler
            tpm: Check length parameter of the array
            tpm: Add a menu for TPM configuration
            tpm: Copy digest into HashLogExentEvent response
            tpm: Move assert_physical_presence and dependencies
            tpm: Add support for harware physical presence
            tpm: Rework the assertion of physical presence
            tpm: Remove usage of PP_CMD_ENABLE from all but one place
            tpm: Do not set TPM in failure mode if menu command fails
            tpm: Extend TPM TIS with TPM 2 support.
            tpm: Factor out tpm_extend
            tpm: Prepare code for TPM 2 functions
            tpm: Implement tpm20_startup and tpm20_s3_resume
            tpm: Implement tpm20_set_timeouts
            tpm: Implement tpm20_prepboot
            tpm: Implement tpm20_extend
            tpm: Implement tpm20_menu
            tpm: Implement TPM 2's tpm_set_failure part
            tpm: Filter TPM commands in passthrough API
            tpm: Retrieve the PCR Bank configuration
            tpm: Restructure tpm20_extend to use buffer and take hash as parameter
            tpm: Refactor tpml_digest_values_sha1 structure
            tpm: Extend tpm20_extend to support extending to multiple PCR banks
      
      Zheng Bao (1):
            splash: Skip the RGB555 mode
      
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      6e99f574
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/rth/tags/pull-atomic-20161026' into staging · 5929d7e8
      Peter Maydell authored
      
      cmpxchg emulation of atomics, v8
      
      # gpg: Signature made Wed 26 Oct 2016 16:30:03 BST
      # gpg:                using RSA key 0xAD1270CC4DD0279B
      # gpg: Good signature from "Richard Henderson <rth7680@gmail.com>"
      # gpg:                 aka "Richard Henderson <rth@redhat.com>"
      # gpg:                 aka "Richard Henderson <rth@twiddle.net>"
      # Primary key fingerprint: 9CB1 8DDA F8E8 49AD 2AFC  16A4 AD12 70CC 4DD0 279B
      
      * remotes/rth/tags/pull-atomic-20161026: (37 commits)
        target-alpha: Emulate LL/SC using cmpxchg helpers
        target-alpha: Introduce MMU_PHYS_IDX
        target-arm: remove EXCP_STREX + cpu_exclusive_{test, info}
        linux-user: remove handling of aarch64's EXCP_STREX
        linux-user: remove handling of ARM's EXCP_STREX
        target-arm: emulate aarch64's LL/SC using cmpxchg helpers
        target-arm: emulate SWP with atomic_xchg helper
        target-arm: emulate LL/SC using cmpxchg helpers
        target-arm: Rearrange aa32 load and store functions
        tests: add atomic_add-bench
        target-i386: remove helper_lock()
        target-i386: emulate XCHG using atomic helper
        target-i386: emulate LOCK'ed BTX ops using atomic helpers
        target-i386: emulate LOCK'ed XADD using atomic helper
        target-i386: emulate LOCK'ed NEG using cmpxchg helper
        target-i386: emulate LOCK'ed NOT using atomic helper
        target-i386: emulate LOCK'ed INC using atomic helper
        target-i386: emulate LOCK'ed OP instructions using atomic helpers
        target-i386: emulate LOCK'ed cmpxchg using cmpxchg helpers
        tcg: Emit barriers with parallel_cpus
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      5929d7e8
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into staging · 8f9d84df
      Peter Maydell authored
      
      # gpg: Signature made Wed 26 Oct 2016 03:19:06 BST
      # gpg:                using RSA key 0xEF04965B398D6211
      # gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <jasowang@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: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211
      
      * remotes/jasowang/tags/net-pull-request:
        colo-proxy: fix memory leak
        net: rtl8139: limit processing of ring descriptors
        net: vmxnet: initialise local tx descriptor
        e1000e: Don't zero out buffer address in rx descriptor
        net: rocker: set limit to DMA buffer size
        net: eepro100: fix memory leak in device uninit
        tap-bsd: OpenBSD uses tap(4) now
        net: pcnet: fix source formatting and indentation
        net: pcnet: check rx/tx descriptor ring length
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      8f9d84df
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/vivier/tags/m68k-part1-pull-request' into staging · 991a97ac
      Peter Maydell authored
      
      # gpg: Signature made Tue 25 Oct 2016 19:58:46 BST
      # gpg:                using RSA key 0xF30C38BD3F2FBE3C
      # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>"
      # gpg:                 aka "Laurent Vivier <laurent@vivier.eu>"
      # gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>"
      # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
      
      * remotes/vivier/tags/m68k-part1-pull-request: (23 commits)
        target-m68k: Optimize gen_flush_flags
        target-m68k: Optimize some comparisons
        target-m68k: Use setcond for scc
        target-m68k: Introduce DisasCompare
        target-m68k: Reorg flags handling
        target-m68k: Remove incorrect clearing of cc_x
        target-m68k: Some fixes to SR and flags management
        target-m68k: Print flags properly
        target-m68k: update CPU flags management
        target-m68k: don't update cc_dest in helpers
        target-m68k: update move to/from ccr/sr
        target-m68k: remove m68k_cpu_exec_enter() and m68k_cpu_exec_exit()
        target-m68k: Replace helper_xflag_lt with setcond
        target-m68k: allow to update flags with operation on words and bytes
        target-m68k: REG() macro cleanup
        target-m68k: set PAGE_BITS to 12 for m68k
        target-m68k: define operand sizes
        target-m68k: set disassembler mode to 680x0 or coldfire
        target-m68k: introduce read_imXX() functions
        target-m68k: manage scaled index
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      991a97ac
  3. Oct 26, 2016
    • Richard Henderson's avatar
      target-alpha: Emulate LL/SC using cmpxchg helpers · ed283916
      Richard Henderson authored
      
      Emulating LL/SC with cmpxchg is not correct, since it can
      suffer from the ABA problem.  However, portable parallel
      code is written assuming only cmpxchg which means that in
      practice this is a viable alternative.
      
      Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
      ed283916
    • Richard Henderson's avatar
      target-alpha: Introduce MMU_PHYS_IDX · 6a73ecf5
      Richard Henderson authored
      
      Rather than using helpers for physical accesses, use a mmu index.
      The primary cleanup is with store-conditional on physical addresses.
      
      Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
      6a73ecf5
    • Emilio G. Cota's avatar
      target-arm: remove EXCP_STREX + cpu_exclusive_{test, info} · 05188cc7
      Emilio G. Cota authored
      
      The exception is not emitted anymore; remove it and the associated
      TCG variables.
      
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Signed-off-by: default avatarEmilio G. Cota <cota@braap.org>
      Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
      Message-Id: <1467054136-10430-31-git-send-email-cota@braap.org>
      05188cc7
    • Emilio G. Cota's avatar
      linux-user: remove handling of aarch64's EXCP_STREX · f4e6eb7f
      Emilio G. Cota authored
      
      The exception is not emitted anymore.
      
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Signed-off-by: default avatarEmilio G. Cota <cota@braap.org>
      Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
      Message-Id: <1467054136-10430-30-git-send-email-cota@braap.org>
      f4e6eb7f
    • Emilio G. Cota's avatar
      linux-user: remove handling of ARM's EXCP_STREX · b50b82fc
      Emilio G. Cota authored
      
      The exception is not emitted anymore.
      
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Signed-off-by: default avatarEmilio G. Cota <cota@braap.org>
      Signed-off-by: default avatarRichard Henderson <rth@twidle.net>
      Message-Id: <1467054136-10430-29-git-send-email-cota@braap.org>
      b50b82fc
    • Emilio G. Cota's avatar
      target-arm: emulate aarch64's LL/SC using cmpxchg helpers · 1dd089d0
      Emilio G. Cota authored
      Emulating LL/SC with cmpxchg is not correct, since it can
      suffer from the ABA problem. Portable parallel code, however,
      is written assuming only cmpxchg--and not LL/SC--is available.
      This means that in practice emulating LL/SC with cmpxchg is
      a viable alternative.
      
      The appended emulates LL/SC pairs in aarch64 with cmpxchg helpers.
      This works in both user and system mode. In usermode, it avoids
      pausing all other CPUs to perform the LL/SC pair. The subsequent
      performance and scalability improvement is significant, as the
      plots below show. They plot the throughput of atomic_add-bench
      compiled for ARM and executed on a 64-core x86 machine.
      
      Hi-res plots: http://imgur.com/a/JVc8Y
      
      
      
                      atomic_add-bench: 1000000 ops/thread, [0,1] range
      
        18 ++---------+----------+---------+----------+----------+----------+---++
           +cmpxchg +-E--+       +         +          +          +          +    |
        16 ++master +-H--+                                                      ++
           ||                                                                    |
        14 ++                                                                   ++
           | |                                                                   |
        12 ++|                                                                  ++
           | |                                                                   |
        10 ++++                                                                 ++
         8 ++E                                                                  ++
           |+++                                                                  |
         6 ++ |                                                                 ++
           |  |                                                                  |
         4 ++ |                                                                 ++
           |   |                                                                 |
         2 +H++E+---                                                            ++
           + |     +E++----+E+---+--+E+----++E+------+E+------+E++----+E+---+--+E|
         0 ++H-H----H-+-----H----+---------+----------+----------+----------+---++
           0          10         20        30         40         50         60
                                      Number of threads
      
                      atomic_add-bench: 1000000 ops/thread, [0,2] range
      
        18 ++---------+----------+---------+----------+----------+----------+---++
           +cmpxchg +-E--+       +         +          +          +          +    |
        16 ++master +-H--+                                                      ++
           | |                                                                   |
        14 ++E                                                                  ++
           | |                                                                   |
        12 ++|                                                                  ++
           |+++                                                                  |
        10 ++ |                                                                 ++
         8 ++ |                                                                 ++
           |  |                                                                  |
         6 ++ |                                                                 ++
           |   |                                                                 |
         4 ++  |                                                                ++
           |  +E+---                                                             |
         2 +H+     +E+-----+++              +++      +++   ---+E+-----+E+------+++
           +++        +    +E+---+--+E+----++E+------+E+---   ++++    +++   +  +E|
         0 ++H-H----H-+-----H----+---------+----------+----------+----------+---++
           0          10         20        30         40         50         60
                                      Number of threads
      
                     atomic_add-bench: 1000000 ops/thread, [0,128] range
      
        70 ++---------+----------+---------+----------+----------+----------+---++
           +cmpxchg +-E--+       +         +          +          +          +    |
        60 ++master +-H--+                  +++            ---+E+-----+E+------+E+
           |                        +E+------E-------+E+---                      |
           |                     ---        +++                                  |
        50 ++              +++---                                               ++
           |              -+E+                                                   |
        40 ++      +++----                                                      ++
           |        E-                                                           |
           |      --|                                                            |
        30 ++   -- +++                                                          ++
           |  +E+                                                                |
        20 ++E+                                                                 ++
           |E+                                                                   |
           |                                                                     |
        10 ++                                                                   ++
           +          +          +         +          +          +          +    |
         0 +HH-H----H-+-----H----+---------+----------+----------+----------+---++
           0          10         20        30         40         50         60
                                      Number of threads
      
                    atomic_add-bench: 1000000 ops/thread, [0,1024] range
      
        160 ++---------+---------+----------+---------+----------+----------+---++
            +cmpxchg +-E--+      +          +         +          +          +    |
        140 ++master +-H--+                                           +++      +++
            |                                                -+E+-----+E+-------E|
        120 ++                                       +++ ----                  +++
            |                                +++  ----E--                        |
        100 ++                              --E---   +++                        ++
            |                       +++ ---- +++                                 |
         80 ++                     --E--                                        ++
            |                  ---- +++                                          |
            |              -+E+                                                  |
         60 ++         ---- +++                                                 ++
            |      +E+-                                                          |
         40 ++   --                                                             ++
            |  +E+                                                               |
         20 +EE+                                                                ++
            +++        +         +          +         +          +          +    |
          0 +HH-H---H--+-----H---+----------+---------+----------+----------+---++
            0          10        20         30        40         50         60
                                      Number of threads
      
      [rth: Rearrange 128-bit cmpxchg helper.  Enforce alignment on LL.]
      
      Signed-off-by: default avatarEmilio G. Cota <cota@braap.org>
      Message-Id: <1467054136-10430-28-git-send-email-cota@braap.org>
      Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
      1dd089d0
    • Emilio G. Cota's avatar
      target-arm: emulate SWP with atomic_xchg helper · cf12bce0
      Emilio G. Cota authored
      
      Signed-off-by: default avatarEmilio G. Cota <cota@braap.org>
      Message-Id: <1467054136-10430-25-git-send-email-cota@braap.org>
      Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
      cf12bce0
    • Emilio G. Cota's avatar
      target-arm: emulate LL/SC using cmpxchg helpers · 354161b3
      Emilio G. Cota authored
      Emulating LL/SC with cmpxchg is not correct, since it can
      suffer from the ABA problem. Portable parallel code, however,
      is written assuming only cmpxchg--and not LL/SC--is available.
      This means that in practice emulating LL/SC with cmpxchg is
      a viable alternative.
      
      The appended emulates LL/SC pairs in ARM with cmpxchg helpers.
      This works in both user and system mode. In usermode, it avoids
      pausing all other CPUs to perform the LL/SC pair. The subsequent
      performance and scalability improvement is significant, as the
      plots below show. They plot the throughput of atomic_add-bench
      compiled for ARM and executed on a 64-core x86 machine.
      
      Hi-res plots: http://imgur.com/a/aNQpB
      
      
      
                     atomic_add-bench: 1000000 ops/thread, [0,1] range
      
        9 ++---------+----------+----------+----------+----------+----------+---++
          +cmpxchg +-E--+       +          +          +          +          +    |
        8 +Emaster +-H--+                                                       ++
          | |                                                                    |
        7 ++E                                                                   ++
          | |                                                                    |
        6 ++++                                                                  ++
          |  |                                                                   |
        5 ++ |                                                                  ++
        4 ++ |                                                                  ++
          |  |                                                                   |
        3 ++ |                                                                  ++
          |   |                                                                  |
        2 ++  |                                                                 ++
          |H++E+---                                  +++  ---+E+------+E+------+E|
        1 +++     +E+-----+E+------+E+------+E+------+E+--   +++      +++       ++
          ++H+       +    +++   +  +++     ++++       +          +          +    |
        0 ++--H----H-+-----H----+----------+----------+----------+----------+---++
          0          10         20         30         40         50         60
                                     Number of threads
      
                      atomic_add-bench: 1000000 ops/thread, [0,2] range
      
        16 ++---------+----------+---------+----------+----------+----------+---++
           +cmpxchg +-E--+       +         +          +          +          +    |
        14 ++master +-H--+                                                      ++
           | |                                                                   |
        12 ++|                                                                  ++
           | E                                                                   |
        10 ++|                                                                  ++
           | |                                                                   |
         8 ++++                                                                 ++
           |E+|                                                                  |
           |  |                                                                  |
         6 ++ |                                                                 ++
           |   |                                                                 |
         4 ++  |                                                                ++
           |  +E+---       +++      +++              +++           ---+E+------+E|
         2 +H+     +E+------E-------+E+-----+E+------+E+------+E+--            +++
           + |        +    +++   +         ++++       +          +          +    |
         0 ++H-H----H-+-----H----+---------+----------+----------+----------+---++
           0          10         20        30         40         50         60
                                      Number of threads
      
                     atomic_add-bench: 1000000 ops/thread, [0,128] range
      
        70 ++---------+----------+---------+----------+----------+----------+---++
           +cmpxchg +-E--+       +         +          +       ++++          +    |
        60 ++master +-H--+                                 ----E------+E+-------++
           |                                        -+E+---   +++     +++      +E|
           |                                +++ ---- +++                       ++|
        50 ++                       +++  ---+E+-                                ++
           |                        -E---                                        |
        40 ++                    ---+++                                         ++
           |               +++---                                                |
           |              -+E+                                                   |
        30 ++      +++----                                                      ++
           |       +E+                                                           |
        20 ++ +++--                                                             ++
           |  +E+                                                                |
           |+E+                                                                  |
        10 +E+                                                                  ++
           +          +          +         +          +          +          +    |
         0 +HH-H----H-+-----H----+---------+----------+----------+----------+---++
           0          10         20        30         40         50         60
                                      Number of threads
      
                    atomic_add-bench: 1000000 ops/thread, [0,1024] range
      
        120 ++---------+---------+----------+---------+----------+----------+---++
            +cmpxchg +-E--+      +          +         +          +          +    |
            | master +-H--+                                                    ++|
        100 ++                                                              ----E+
            |                                                 +++  ---+E+---   ++|
            |                                                --E---   +++        |
         80 ++                                           ---- +++               ++
            |                                     ---+E+-                        |
         60 ++                              -+E+--                              ++
            |                       +++ ---- +++                                 |
            |                      -+E+-                                         |
         40 ++              +++----                                             ++
            |      +++   ---+E+                                                  |
            |     -+E+---                                                        |
         20 ++ +E+                                                              ++
            |+E+++                                                               |
            +E+        +         +          +         +          +          +    |
          0 +HH-H---H--+-----H---+----------+---------+----------+----------+---++
            0          10        20         30        40         50         60
                                      Number of threads
      
      [rth: Enforce alignment for ldrexd.]
      
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Signed-off-by: default avatarEmilio G. Cota <cota@braap.org>
      Message-Id: <1467054136-10430-23-git-send-email-cota@braap.org>
      Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
      354161b3
Loading