diff options
-rw-r--r-- | arch/x86/events/intel/core.c | 3 | ||||
-rw-r--r-- | arch/x86/events/intel/rapl.c | 1 | ||||
-rw-r--r-- | arch/x86/events/intel/uncore.c | 1 | ||||
-rw-r--r-- | arch/x86/include/asm/intel-family.h | 1 | ||||
-rw-r--r-- | arch/x86/include/asm/msr-index.h | 1 | ||||
-rw-r--r-- | arch/x86/kernel/e820.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/smp.c | 2 |
7 files changed, 8 insertions, 3 deletions
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c index a3a9eb84b5cf..eab0915f5995 100644 --- a/arch/x86/events/intel/core.c +++ b/arch/x86/events/intel/core.c | |||
@@ -3898,6 +3898,7 @@ __init int intel_pmu_init(void) | |||
3898 | break; | 3898 | break; |
3899 | 3899 | ||
3900 | case INTEL_FAM6_XEON_PHI_KNL: | 3900 | case INTEL_FAM6_XEON_PHI_KNL: |
3901 | case INTEL_FAM6_XEON_PHI_KNM: | ||
3901 | memcpy(hw_cache_event_ids, | 3902 | memcpy(hw_cache_event_ids, |
3902 | slm_hw_cache_event_ids, sizeof(hw_cache_event_ids)); | 3903 | slm_hw_cache_event_ids, sizeof(hw_cache_event_ids)); |
3903 | memcpy(hw_cache_extra_regs, | 3904 | memcpy(hw_cache_extra_regs, |
@@ -3912,7 +3913,7 @@ __init int intel_pmu_init(void) | |||
3912 | x86_pmu.flags |= PMU_FL_HAS_RSP_1; | 3913 | x86_pmu.flags |= PMU_FL_HAS_RSP_1; |
3913 | x86_pmu.flags |= PMU_FL_NO_HT_SHARING; | 3914 | x86_pmu.flags |= PMU_FL_NO_HT_SHARING; |
3914 | 3915 | ||
3915 | pr_cont("Knights Landing events, "); | 3916 | pr_cont("Knights Landing/Mill events, "); |
3916 | break; | 3917 | break; |
3917 | 3918 | ||
3918 | case INTEL_FAM6_SKYLAKE_MOBILE: | 3919 | case INTEL_FAM6_SKYLAKE_MOBILE: |
diff --git a/arch/x86/events/intel/rapl.c b/arch/x86/events/intel/rapl.c index b0f0e835a770..0a535cea8ff3 100644 --- a/arch/x86/events/intel/rapl.c +++ b/arch/x86/events/intel/rapl.c | |||
@@ -763,6 +763,7 @@ static const struct x86_cpu_id rapl_cpu_match[] __initconst = { | |||
763 | X86_RAPL_MODEL_MATCH(INTEL_FAM6_BROADWELL_XEON_D, hsw_rapl_init), | 763 | X86_RAPL_MODEL_MATCH(INTEL_FAM6_BROADWELL_XEON_D, hsw_rapl_init), |
764 | 764 | ||
765 | X86_RAPL_MODEL_MATCH(INTEL_FAM6_XEON_PHI_KNL, knl_rapl_init), | 765 | X86_RAPL_MODEL_MATCH(INTEL_FAM6_XEON_PHI_KNL, knl_rapl_init), |
766 | X86_RAPL_MODEL_MATCH(INTEL_FAM6_XEON_PHI_KNM, knl_rapl_init), | ||
766 | 767 | ||
767 | X86_RAPL_MODEL_MATCH(INTEL_FAM6_SKYLAKE_MOBILE, skl_rapl_init), | 768 | X86_RAPL_MODEL_MATCH(INTEL_FAM6_SKYLAKE_MOBILE, skl_rapl_init), |
768 | X86_RAPL_MODEL_MATCH(INTEL_FAM6_SKYLAKE_DESKTOP, skl_rapl_init), | 769 | X86_RAPL_MODEL_MATCH(INTEL_FAM6_SKYLAKE_DESKTOP, skl_rapl_init), |
diff --git a/arch/x86/events/intel/uncore.c b/arch/x86/events/intel/uncore.c index d9844cc74486..efca2685d876 100644 --- a/arch/x86/events/intel/uncore.c +++ b/arch/x86/events/intel/uncore.c | |||
@@ -1349,6 +1349,7 @@ static const struct x86_cpu_id intel_uncore_match[] __initconst = { | |||
1349 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_BROADWELL_X, bdx_uncore_init), | 1349 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_BROADWELL_X, bdx_uncore_init), |
1350 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_BROADWELL_XEON_D, bdx_uncore_init), | 1350 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_BROADWELL_XEON_D, bdx_uncore_init), |
1351 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_XEON_PHI_KNL, knl_uncore_init), | 1351 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_XEON_PHI_KNL, knl_uncore_init), |
1352 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_XEON_PHI_KNM, knl_uncore_init), | ||
1352 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_SKYLAKE_DESKTOP,skl_uncore_init), | 1353 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_SKYLAKE_DESKTOP,skl_uncore_init), |
1353 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_SKYLAKE_MOBILE, skl_uncore_init), | 1354 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_SKYLAKE_MOBILE, skl_uncore_init), |
1354 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_SKYLAKE_X, skx_uncore_init), | 1355 | X86_UNCORE_MODEL_MATCH(INTEL_FAM6_SKYLAKE_X, skx_uncore_init), |
diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h index 9ae5ab80a497..34a46dc076d3 100644 --- a/arch/x86/include/asm/intel-family.h +++ b/arch/x86/include/asm/intel-family.h | |||
@@ -64,5 +64,6 @@ | |||
64 | /* Xeon Phi */ | 64 | /* Xeon Phi */ |
65 | 65 | ||
66 | #define INTEL_FAM6_XEON_PHI_KNL 0x57 /* Knights Landing */ | 66 | #define INTEL_FAM6_XEON_PHI_KNL 0x57 /* Knights Landing */ |
67 | #define INTEL_FAM6_XEON_PHI_KNM 0x85 /* Knights Mill */ | ||
67 | 68 | ||
68 | #endif /* _ASM_X86_INTEL_FAMILY_H */ | 69 | #endif /* _ASM_X86_INTEL_FAMILY_H */ |
diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h index 56f4c6676b29..78f3760ca1f2 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h | |||
@@ -88,7 +88,6 @@ | |||
88 | 88 | ||
89 | #define MSR_IA32_RTIT_CTL 0x00000570 | 89 | #define MSR_IA32_RTIT_CTL 0x00000570 |
90 | #define MSR_IA32_RTIT_STATUS 0x00000571 | 90 | #define MSR_IA32_RTIT_STATUS 0x00000571 |
91 | #define MSR_IA32_RTIT_STATUS 0x00000571 | ||
92 | #define MSR_IA32_RTIT_ADDR0_A 0x00000580 | 91 | #define MSR_IA32_RTIT_ADDR0_A 0x00000580 |
93 | #define MSR_IA32_RTIT_ADDR0_B 0x00000581 | 92 | #define MSR_IA32_RTIT_ADDR0_B 0x00000581 |
94 | #define MSR_IA32_RTIT_ADDR1_A 0x00000582 | 93 | #define MSR_IA32_RTIT_ADDR1_A 0x00000582 |
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index b85fe5f91c3f..90e8dde3ec26 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c | |||
@@ -350,7 +350,7 @@ int __init sanitize_e820_map(struct e820entry *biosmap, int max_nr_map, | |||
350 | * continue building up new bios map based on this | 350 | * continue building up new bios map based on this |
351 | * information | 351 | * information |
352 | */ | 352 | */ |
353 | if (current_type != last_type) { | 353 | if (current_type != last_type || current_type == E820_PRAM) { |
354 | if (last_type != 0) { | 354 | if (last_type != 0) { |
355 | new_bios[new_bios_entry].size = | 355 | new_bios[new_bios_entry].size = |
356 | change_point[chgidx]->addr - last_addr; | 356 | change_point[chgidx]->addr - last_addr; |
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index 68f8cc222f25..c00cb64bc0a1 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c | |||
@@ -261,8 +261,10 @@ static inline void __smp_reschedule_interrupt(void) | |||
261 | 261 | ||
262 | __visible void smp_reschedule_interrupt(struct pt_regs *regs) | 262 | __visible void smp_reschedule_interrupt(struct pt_regs *regs) |
263 | { | 263 | { |
264 | irq_enter(); | ||
264 | ack_APIC_irq(); | 265 | ack_APIC_irq(); |
265 | __smp_reschedule_interrupt(); | 266 | __smp_reschedule_interrupt(); |
267 | irq_exit(); | ||
266 | /* | 268 | /* |
267 | * KVM uses this interrupt to force a cpu out of guest mode | 269 | * KVM uses this interrupt to force a cpu out of guest mode |
268 | */ | 270 | */ |