diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-09-06 14:47:37 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-09-06 14:47:37 +0200 |
commit | 334b5924569c6e391d78268b1481b96aa4293b0a (patch) | |
tree | fcfc3af18c9769bab8b8f6a854a4544198e79ae2 | |
parent | 22ab16cefc04d4e8a0fc72dfff4edd00cc6841da (diff) | |
download | xen-334b5924569c6e391d78268b1481b96aa4293b0a.tar.gz xen-334b5924569c6e391d78268b1481b96aa4293b0a.tar.bz2 xen-334b5924569c6e391d78268b1481b96aa4293b0a.zip |
x86/Intel: add further support for Ivy Bridge CPU models
And some initial Haswell ones at once.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: "Nakajima, Jun" <jun.nakajima@intel.com>
-rw-r--r-- | xen/arch/x86/acpi/cpu_idle.c | 8 | ||||
-rw-r--r-- | xen/arch/x86/hvm/vmx/vmx.c | 4 | ||||
-rw-r--r-- | xen/arch/x86/hvm/vmx/vpmu_core2.c | 1 |
3 files changed, 10 insertions, 3 deletions
diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c index f9d74d69e4..71f74abae0 100644 --- a/xen/arch/x86/acpi/cpu_idle.c +++ b/xen/arch/x86/acpi/cpu_idle.c @@ -105,11 +105,15 @@ static void do_get_hw_residencies(void *arg) switch ( c->x86_model ) { - /* Ivy bridge */ - case 0x3A: /* Sandy bridge */ case 0x2A: case 0x2D: + /* Ivy bridge */ + case 0x3A: + case 0x3E: + /* Haswell */ + case 0x3C: + case 0x45: GET_PC2_RES(hw_res->pc2); GET_CC7_RES(hw_res->cc7); /* fall through */ diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index a1077b680e..afcd760b9c 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -1807,7 +1807,9 @@ static const struct lbr_info *last_branch_msr_get(void) /* Sandy Bridge */ case 42: case 45: /* Ivy Bridge */ - case 58: + case 58: case 62: + /* Haswell */ + case 60: case 69: return nh_lbr; break; /* Atom */ diff --git a/xen/arch/x86/hvm/vmx/vpmu_core2.c b/xen/arch/x86/hvm/vmx/vpmu_core2.c index c79103e3f5..01dc518788 100644 --- a/xen/arch/x86/hvm/vmx/vpmu_core2.c +++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c @@ -747,6 +747,7 @@ int vmx_vpmu_initialise(struct vcpu *v, unsigned int vpmu_flags) case 46: case 47: case 58: + case 62: ret = core2_vpmu_initialise(v, vpmu_flags); if ( !ret ) vpmu->arch_vpmu_ops = &core2_vpmu_ops; |