qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 136a7e: target-i386: kvm: Don't enable MONITO


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 136a7e: target-i386: kvm: Don't enable MONITOR by default ...
Date: Thu, 26 Jun 2014 06:00:09 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 136a7e9a85d7047461f8153f7d12c514a3d68f69
      
https://github.com/qemu/qemu/commit/136a7e9a85d7047461f8153f7d12c514a3d68f69
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 857aee337c22dc6c56304146e938efacaf587e1c
      
https://github.com/qemu/qemu/commit/857aee337c22dc6c56304146e938efacaf587e1c
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
[AF: Drop unused return value]
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 51f63aed32314479065207ff2fb28255de4dbda4
      
https://github.com/qemu/qemu/commit/51f63aed32314479065207ff2fb28255de4dbda4
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 8459e3961eb5519cb16d5950020ef7010f4b8a6f
      
https://github.com/qemu/qemu/commit/8459e3961eb5519cb16d5950020ef7010f4b8a6f
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 27418adf32b9cd164d464fffc4fc0505d6b2b15d
      
https://github.com/qemu/qemu/commit/27418adf32b9cd164d464fffc4fc0505d6b2b15d
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: a42d9938a162c3e3c9e441d1927dca5bd59167d9
      
https://github.com/qemu/qemu/commit/a42d9938a162c3e3c9e441d1927dca5bd59167d9
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: d0a70f46fa9a3257089a56f2f620b0eff868557f
      
https://github.com/qemu/qemu/commit/d0a70f46fa9a3257089a56f2f620b0eff868557f
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: Filter FEAT_7_0_EBX TCG features too

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 <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Cc: address@hidden
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 84a6c6cd40687598c7e85d7de8095e08b5e636d7
      
https://github.com/qemu/qemu/commit/84a6c6cd40687598c7e85d7de8095e08b5e636d7
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 621626ce7d44f008298c7e6cfefa9fbb80a33dc2
      
https://github.com/qemu/qemu/commit/621626ce7d44f008298c7e6cfefa9fbb80a33dc2
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: e1c224b4eb3b8693c230bb2762a959ae1f531f76
      
https://github.com/qemu/qemu/commit/e1c224b4eb3b8693c230bb2762a959ae1f531f76
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 37ce3522cb88c524caec57cb52a4bfbb880abbe5
      
https://github.com/qemu/qemu/commit/37ce3522cb88c524caec57cb52a4bfbb880abbe5
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: fefb41bf3485a1c9a44c15e382d28035c6fb5f4b
      
https://github.com/qemu/qemu/commit/fefb41bf3485a1c9a44c15e382d28035c6fb5f4b
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  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 <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
[AF: Be explicit about TCG vs. !KVM]
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 84f1b92f974fbb19967c5f10ac6c3f4a04fb86dd
      
https://github.com/qemu/qemu/commit/84f1b92f974fbb19967c5f10ac6c3f4a04fb86dd
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu-qom.h
    M target-i386/cpu.c

  Log Message:
  -----------
  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, are 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 <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 120eee7d1fdb2eba15766cfff7b9bcdc902690b4
      
https://github.com/qemu/qemu/commit/120eee7d1fdb2eba15766cfff7b9bcdc902690b4
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: Set migratable=yes by default on "host" CPU mooel

Having only migratable flags reported by default on the "host" CPU model
is safer for the following reasons:

 * Existing users may expect "-cpu host" to be migration-safe, if they
   take care of always using compatible host CPUs, host kernels, and
   QEMU versions.
 * Users who don't care aboug migration and want to enable all features
   supported by the host kernel can simply change their setup to use
   migratable=no.

Without this change, people using "-cpu host" will stop being able to
migrate, because now "invtsc" is getting enabled by default.

We are not setting migratable=yes by default on all X86CPU subclasses,
because users should be able to get non-migratable features enabled if
they ask for them explicitly.

Reviewed-by: Marcelo Tosatti <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 7d854c471a2180037b49547e31bd940166513657
      
https://github.com/qemu/qemu/commit/7d854c471a2180037b49547e31bd940166513657
  Author: Marcelo Tosatti <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M savevm.c

  Log Message:
  -----------
  savevm: check vmsd for migratability status

Check vmsd for unmigratable field, allowing migratibility status
to be modified after vmstate_register.

Cc: Juan Quintela <address@hidden>
Signed-off-by: Marcelo Tosatti <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 68bfd0ad4a1dcc4c328d5db85dc746b49c1ec07e
      
https://github.com/qemu/qemu/commit/68bfd0ad4a1dcc4c328d5db85dc746b49c1ec07e
  Author: Marcelo Tosatti <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu-qom.h
    M target-i386/kvm.c
    M target-i386/machine.c

  Log Message:
  -----------
  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 <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
[AF+mtosatti: Updated error message]
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 303752a9068bfe84b9b05f1cd5ad5ff65b7f3ea6
      
https://github.com/qemu/qemu/commit/303752a9068bfe84b9b05f1cd5ad5ff65b7f3ea6
  Author: Marcelo Tosatti <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c
    M target-i386/cpu.h

  Log Message:
  -----------
  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 <address@hidden>
[ehabkost: redo feature filtering to use .tcg_features]
[ehabkost: add CPUID_APM_INVTSC macro, add it to .unmigratable_flags]
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: b3fb3a200b980b7c70006eff543d32cb5d27c353
      
https://github.com/qemu/qemu/commit/b3fb3a200b980b7c70006eff543d32cb5d27c353
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: Fix indentation of CPU model definitions

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: ece01354073f8e02db0205ea7522f3dbf589c9aa
      
https://github.com/qemu/qemu/commit/ece01354073f8e02db0205ea7522f3dbf589c9aa
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: Broadwell CPU model

This adds a new CPU model named "Broadwell". It has all the features
from Haswell, plus PREFETCHW, RDSEED, ADX, SMAP.

PREFETCHW was already supported as "3dnowprefetch".

RDSEED, ADX was added on Linux v3.15-rc1.

SMAP was added on Linux v3.15-rc2.

Signed-off-by: Eduardo Habkost <address@hidden>
Cc: Wang, Yong Y <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Cc: Dugger, Donald D <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: f3db17b9514b8d724f8d6111a9f9608ff8bad631
      
https://github.com/qemu/qemu/commit/f3db17b9514b8d724f8d6111a9f9608ff8bad631
  Author: Paolo Bonzini <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M qemu-char.c

  Log Message:
  -----------
  qemu-char: initialize chr_write_lock

Otherwise, Windows fails with a deadlock.

Reported-by: Stefan Weil <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Tested-by: Stefan Weil <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 8589744aaf07b62e7be4233727c45b8866d27d43
      
https://github.com/qemu/qemu/commit/8589744aaf07b62e7be4233727c45b8866d27d43
  Author: Peter Maydell <address@hidden>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M savevm.c
    M target-i386/cpu-qom.h
    M target-i386/cpu.c
    M target-i386/cpu.h
    M target-i386/kvm.c
    M target-i386/machine.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.1' into 
staging

X86CPU

* Filter out MONITOR for KVM
* Fix filtering for TCG
* -cpu foo,check and -cpu foo,enforce support for TCG
* -cpu host migration support (-cpu host,migratable=no to disable)
* Add invtsc feature support
* New model: Broadwell

# gpg: Signature made Wed 25 Jun 2014 22:55:04 BST using RSA key ID 3E7E013F
# gpg: Good signature from "Andreas Färber <address@hidden>"
# gpg:                 aka "Andreas Färber <address@hidden>"

* remotes/afaerber/tags/qom-cpu-for-2.1:
  target-i386: Broadwell CPU model
  target-i386: Fix indentation of CPU model definitions
  target-i386: Support "invariant tsc" flag
  target-i386: block migration and savevm if invariant tsc is exposed
  savevm: check vmsd for migratability status
  target-i386: Set migratable=yes by default on "host" CPU mooel
  target-i386: Add "migratable" property to "host" CPU model
  target-i386: Support check/enforce flags in TCG mode, too
  target-i386: Loop-based feature word filtering in TCG mode
  target-i386: Loop-based copying and setting/unsetting of feature words
  target-i386: Define TCG_*_FEATURES earlier in cpu.c
  target-i386: Filter KVM and 0xC0000001 features on TCG
  target-i386: Filter FEAT_7_0_EBX TCG features too
  target-i386: Make TCG feature filtering more readable
  target-i386: Isolate KVM-specific code on CPU feature filtering logic
  target-i386: Pass FeatureWord argument to report_unavailable_features()
  target-i386: Merge feature filtering/checking functions
  target-i386: Simplify reporting of unavailable features
  target-i386: kvm: Don't enable MONITOR by default on any CPU model

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/0931304788ec...8589744aaf07

reply via email to

[Prev in Thread] Current Thread [Next in Thread]