Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: qom-cpu-sh4

Jun 20, 2014

  1. Eduardo Habkost

    target-i386: Fix indentation of CPU model definitions

    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  2. target-i386: support "invariant tsc" flag

    Expose "Invariant TSC" flag, if KVM is enabled. From Intel documentation:
    
    17.13.1 Invariant TSC The time stamp counter in newer processors may
    support an enhancement, referred to as invariant TSC. Processor’s
    support for invariant TSC is indicated by CPUID.80000007H:EDX[8].
    The invariant TSC will run at a constant rate in all ACPI P-, C-.
    and T-states. This is the architectural behavior moving forward. On
    processors with invariant TSC support, the OS may use the TSC for wall
    clock timer services (instead of ACPI or HPET timers). TSC reads are
    much more efficient and do not incur the overhead associated with a ring
    transition or access to a platform resource.
    
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    [ehabkost: redo feature filtering to use .tcg_features]
    [ehabkost: add CPUID_APM_INVTSC macro, add it to .unmigratable_flags]
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Marcelo Tosatti authored committed
  3. target-i386: block migration and savevm if invariant tsc is exposed

    Invariant TSC documentation mentions that "invariant TSC will run at a
    constant rate in all ACPI P-, C-. and T-states".
    
    This is not the case if migration to a host with different TSC frequency
    is allowed, or if savevm is performed. So block migration/savevm.
    
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    [AF+mtosatti: Updated error message]
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Marcelo Tosatti authored committed
  4. savevm: check vmsd for migratability status

    Check vmsd for unmigratable field, allowing migratibility status
    to be modified after vmstate_register.
    
    Cc: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Marcelo Tosatti authored committed
  5. Eduardo Habkost

    target-i386: Add "migratable" property to "host" CPU model

    This flag will allow the user to choose between two modes:
     * All flags that can be enabled on the host, even if unmigratable
       (migratable=no);
     * All flags that can be enabled on the host, known to QEMU,
       and migratable (migratable=yes).
    
    The default is still migratable=false, to keep current behavior, but
    this will be changed to migratable=true by another patch.
    
    My plan was to support the "migratable" flag on all CPU classes, but
    have the default to "false" on all CPU models except "host". However,
    DeviceClass has no mechanism to allow a child class to have a different
    property default from the parent class yet, so by now only the "host"
    CPU model will support the "migratable" flag.
    
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  6. Eduardo Habkost

    target-i386: Support check/enforce flags in TCG mode, too

    If enforce/check is specified in TCG mode, QEMU will ensure all CPU
    features are supported by TCG, so no CPU feature is silently disabled.
    
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    [AF: Be explicit about TCG vs. !KVM]
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  7. Eduardo Habkost

    target-i386: Loop-based feature word filtering in TCG mode

    Instead of manually filtering each feature word, add a tcg_features
    field to FeatureWordInfo, and use that field to filter all feature words
    in TCG mode.
    
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  8. Eduardo Habkost

    target-i386: Loop-based copying and setting/unsetting of feature words

    Now that we have the feature word arrays, we don't need to manually copy
    each array item, we can simply iterate through each feature word.
    
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  9. Eduardo Habkost

    target-i386: Define TCG_*_FEATURES earlier in cpu.c

    Those macros will be used in the feature_word_info array data, so need
    to be defined earlier.
    
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  10. Eduardo Habkost

    target-i386: Filter KVM and 0xC0000001 features on TCG

    TCG doesn't support any of the feature flags on FEAT_KVM and
    FEAT_C000_0001_EDX feature words, so clear all bits on those feature
    words.
    
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  11. Eduardo Habkost

    target-i386: Filter FEAT_7_0_EBX TCG features too [XXX]

    The TCG_7_0_EBX_FEATURES macro was defined but never used (it even had a
    typo that was never noticed). Make the existing TCG feature filtering
    code use it.
    
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  12. Eduardo Habkost

    target-i386: Make TCG feature filtering more readable

    Instead of an #ifdef in the middle of the code, just set
    TCG_EXT2_FEATURES to a different value depending on TARGET_X86_64.
    
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  13. Eduardo Habkost

    target-i386: Isolate KVM-specific code on CPU feature filtering logic

    This will allow us to re-use the feature filtering logic (and the
    check/enforce flag logic) for TCG.
    
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  14. Eduardo Habkost

    target-i386: Pass FeatureWord argument to report_unavailable_features()

    This will help us simplify the code that calls
    report_unavailable_features() later.
    
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  15. Eduardo Habkost

    target-i386: Merge feature filtering/checking functions

    Merge filter_features_for_kvm() and kvm_check_features_against_host().
    
    Both functions made exactly the same calculations, the only difference
    was that filter_features_for_kvm() changed the bits on cpu->features[],
    and kvm_check_features_against_host() did error reporting.
    
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  16. Eduardo Habkost

    target-i386: Simplify reporting of unavailable features

    Instead of checking and calling unavailable_host_feature() once for each
    bit, simply call the function (now renamed to
    report_unavailable_features()) once for each feature word.
    
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    [AF: Drop unused return value]
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed
  17. Eduardo Habkost

    target-i386: kvm: Don't enable MONITOR by default on any CPU model

    KVM never supported the MONITOR flag so it doesn't make sense to have it
    enabled by default when KVM is enabled.
    
    The rationale here is similar to the cases where it makes sense to have
    a feature enabled by default on all CPU models when on KVM mode (e.g.
    x2apic). In this case we are having a feature disabled by default for
    the same reasons.
    
    In this case we don't need machine-type compat code because it is
    currently impossible to run a KVM VM with the MONITOR flag set.
    
    Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    ehabkost authored committed

Jun 19, 2014

  1. Peter Maydell

    Merge remote-tracking branch 'remotes/bonzini/scsi-next' into staging

    * remotes/bonzini/scsi-next:
      virtio-scsi: define dummy handle_output for vhost-scsi vqs
      block/iscsi: drop obsolete pointers from iscsi_co_writev
      block/iscsi: fix init value for iTask->retries
      block/iscsi: bump libiscsi requirement to 1.9.0
      virtio-scsi: add support for the any_layout feature
      virtio-scsi: introduce virtio_scsi_complete_cmd_req
      virtio-scsi: prepare sense data handling for any_layout
      virtio-scsi: add extra argument and return type to qemu_sgl_concat
      virtio-scsi: add target swap for VirtIOSCSICtrlTMFReq fields
      virtio-scsi: start preparing for any_layout
      util: add return value to qemu_iovec_concat_iov
      megasas: use PCI DMA API
      scsi: Print command name in debug
      scsi-disk: fix bug in scsi_block_new_request() introduced by commit 137745c
      scsi-disk.c: Fix compilation with -DDEBUG_SCSI
      block/iscsi: use 16 byte CDBs only when necessary
      block/iscsi: fix potential segfault on early callback
      block/iscsi: handle BUSY condition
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 authored
  2. Sean Bruno

    include/qemu/aes.h: Avoid conflicts with FreeBSD AES functions

    FreeBSD's libcrypto provides functions with the same names as us;
    use #define to rename our versions to avoid conflicts at link time.
    
    Signed-off-by: Sean Bruno <sbruno@freebsd.org>
    Signed-off-by: Ed Maste <emaste@freebsd.org>
    Message-id: 1402930927-41125-1-git-send-email-sbruno@freebsd.org
    [PMM: improved commit message, fixed comment typo]
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    seanbruno authored pm215 committed
  3. Stefan Weil

    w32: Fix regression caused by new g_poll implementation

    Commit 5a00754 tried to fix a
    performance degradation caused by bad handling of small timeouts
    in the original implementation of g_poll.
    
    Since that commit, hard disk I/O no longer works.
    
    Instead of rewriting the g_poll implementation, this patch simply copies
    the original code (released under LGPL) from latest glib and only modifies
    it where needed (see comments in the code). URL of the original code:
    https://git.gnome.org/browse/glib/tree/glib/gpoll.c
    
    Signed-off-by: Stefan Weil <sw@weilnetz.de>
    Message-id: 1401291744-14314-1-git-send-email-sw@weilnetz.de
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    stweil authored pm215 committed
  4. virtio-scsi: define dummy handle_output for vhost-scsi vqs

    vhost userspace needn't to handle vq's notification from guest,
    so define dummy handle_output callback for all vqs of vhost-scsi.
    
    In some corner cases(such as when handling vq's reset from VM), virtio-pci
    still trys to handle pending virtio-scsi events, then object check failure
    inside virtio_scsi_handle_event() for vhost-scsi can be triggered.
    
    The issue can be reproduced by 'rmmod virtio-scsi', 'system sleep' or reboot
    inside VM.
    
    Cc: qemu-stable@nongnu.org
    Cc: Anthony Liguori <aliguori@amazon.com>
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Ming Lei <ming.lei@canonical.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Ming Lei authored bonzini committed

Jun 18, 2014

  1. plieven

    block/iscsi: drop obsolete pointers from iscsi_co_writev

    Signed-off-by: Peter Lieven <pl@kamp.de>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    plieven authored bonzini committed
  2. plieven

    block/iscsi: fix init value for iTask->retries

    during rebasing the changed init value for the
    retry counter was missed. This resulted in no retries
    being performed at all.
    
    Signed-off-by: Peter Lieven <pl@kamp.de>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    plieven authored bonzini committed
  3. Petar Jovanovic

    target-mips: implement UserLocal Register

    From MIPS documentation (Volume III):
    
    UserLocal Register (CP0 Register 4, Select 2)
    Compliance Level: Recommended.
    
    The UserLocal register is a read-write register that is not interpreted by
    the hardware and conditionally readable via the RDHWR instruction.
    
    This register only exists if the Config3-ULRI register field is set.
    
    Privileged software may write this register with arbitrary information and
    make it accessible to unprivileged software via register 29 (ULR) of the
    RDHWR instruction. To do so, bit 29 of the HWREna register must be set to a
    1 to enable unprivileged access to the register.
    
    Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com>
    Reviewed-by: Andreas Färber <afaerber@suse.de>
    Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
    petar-jovanovic authored aurel32 committed
  4. aurel32

    bitops: provide an inline implementation of find_first_bit

    find_first_bit has started to be used heavily in TCG code. The current
    implementation based on find_next_bit is not optimal and can't be
    optimized be the compiler if the bit array has a fixed size, which is
    the case most of the time.
    
    This new implementation does not use find_next_bit and is yet small
    enough to be inlined.
    
    Cc: Corentin Chary <corentin.chary@gmail.com>
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
    aurel32 authored
  5. plieven

    block/iscsi: bump libiscsi requirement to 1.9.0

    This patch lifts the minimum supported libiscsi version from 1.4.0 to
    1.9.0 since the BUSY patch required that change.
    
    On one this allows us to remove all #ifdefs from the code which
    makes the code easier to maintain and read. On the other hand
    I would not recommend libiscsi prior to 1.8.0 for production use
    because the following important libiscsi fixes for deadlocks and
    protocol errors are missing prior to 1.8.0:
    
    dbe9a1e SOCKET queue cmd PDUs directly in waitpdu queue
    30df192 DATA-OUT set pdu->cmdsn appropriately
    548bd22 ISCSI fix broken send logic in iscsi_scsi_async_command
    14bee10 RECONNECT do not increase CmdSN for immediate PDUs
    1f4a66a PDU queue out PDUs in order of itt.
    562dd46 PDU avoid incrementing itt to 0xffffffff
    cd09c0f PDU use serial32 arithmetic for cmdsn, maxcmdsn and expcmdsn.
    89e918e SOCKET validate data_size in in_pdu header
    91267f5 Limit immediate and unsolicited data to FirstBurstLength
    
    Note that libiscsi 1.9.0 was released on Feb 24th, 2013, about
    one month after 1.8.0.
    
    Signed-off-by: Peter Lieven <pl@kamp.de>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    plieven authored bonzini committed
  6. Peter Maydell

    Merge remote-tracking branch 'remotes/bonzini/memory' into staging

    * remotes/bonzini/memory:
      memory: Don't call memory_region_update_coalesced_range if nothing changed
      memory: MemoryRegion: rename parent to container
      memory: MemoryRegion: factor out memory region re-adder
      memory: MemoryRegion: factor out subregion add functionality
      qtest: fix qtest_clock_warp() for no deadline case
      exec: dummy_section: Pass address space through.
      memory: Simplify mr_add_subregion() if-else
      memory: Don't update all memory region when ioeventfd changed
      unset RAMBlock idstr when unregister MemoryRegion
      exec: introduce qemu_ram_unset_idstr() to unset RAMBlock idstr
      MAINTAINERS: Add myself as Memory API maintainer
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 authored
  7. Fam Zheng

    memory: Don't call memory_region_update_coalesced_range if nothing ch…

    …anged
    
    With huge number of PCI devices in the system (for example, 200
    virtio-blk-pci), this unconditional call can slow down emulation of
    irrelevant PCI operations drastically, such as a BAR update on a device
    that has no coalescing region. So avoid it.
    
    Signed-off-by: Fam Zheng <famz@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    famz authored bonzini committed
  8. Paolo Bonzini

    memory: MemoryRegion: rename parent to container

    Avoid confusion with the QOM parent.
    
    Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini authored
  9. Paolo Bonzini

    virtio-scsi: add support for the any_layout feature

    Store the request and response headers by value, and let
    virtio_scsi_parse_req check that there is only one of datain
    and dataout.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini authored
  10. Paolo Bonzini

    virtio-scsi: introduce virtio_scsi_complete_cmd_req

    This is also related to sense handling, and will be used
    by anylayout.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini authored
  11. Paolo Bonzini

    virtio-scsi: prepare sense data handling for any_layout

    Retrieve sense and copy it to guest memory, to prepare for when we will use
    qemu_iovec_from_buf.
    
    Swap response and request, since we'll use the tail of VirtIOSCSIReq
    for the CDB.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini authored
  12. Paolo Bonzini

    virtio-scsi: add extra argument and return type to qemu_sgl_concat

    Will be used for anylayout support.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini authored
  13. Paolo Bonzini

    virtio-scsi: add target swap for VirtIOSCSICtrlTMFReq fields

    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini authored
  14. Paolo Bonzini

    virtio-scsi: start preparing for any_layout

    - Introduce virtio_scsi_init_req and virtio_scsi_free_req
    
    - rename qemu_sgl_init_external to qemu_sgl_concat
    
    - move virtio_scsi_parse_req from virtio_scsi_pop_req to callers
      and add header length checks to virtio_scsi_parse_req.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini authored
Something went wrong with that request. Please try again.