diff options
| -rw-r--r-- | arch/x86/Kconfig | 5 | ||||
| -rw-r--r-- | arch/x86/kernel/cpu/perf_event_intel_ds.c | 1 | ||||
| -rw-r--r-- | arch/x86/kernel/entry_64.S | 15 | ||||
| -rw-r--r-- | arch/x86/kernel/smpboot.c | 3 |
4 files changed, 6 insertions, 18 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index e241a1930c98..ee2fb9d37745 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
| @@ -481,11 +481,12 @@ config X86_INTEL_LPSS | |||
| 481 | bool "Intel Low Power Subsystem Support" | 481 | bool "Intel Low Power Subsystem Support" |
| 482 | depends on ACPI | 482 | depends on ACPI |
| 483 | select COMMON_CLK | 483 | select COMMON_CLK |
| 484 | select PINCTRL | ||
| 484 | ---help--- | 485 | ---help--- |
| 485 | Select to build support for Intel Low Power Subsystem such as | 486 | Select to build support for Intel Low Power Subsystem such as |
| 486 | found on Intel Lynxpoint PCH. Selecting this option enables | 487 | found on Intel Lynxpoint PCH. Selecting this option enables |
| 487 | things like clock tree (common clock framework) which are needed | 488 | things like clock tree (common clock framework) and pincontrol |
| 488 | by the LPSS peripheral drivers. | 489 | which are needed by the LPSS peripheral drivers. |
| 489 | 490 | ||
| 490 | config X86_RDC321X | 491 | config X86_RDC321X |
| 491 | bool "RDC R-321x SoC" | 492 | bool "RDC R-321x SoC" |
diff --git a/arch/x86/kernel/cpu/perf_event_intel_ds.c b/arch/x86/kernel/cpu/perf_event_intel_ds.c index 63438aad177f..ab3ba1c1b7dd 100644 --- a/arch/x86/kernel/cpu/perf_event_intel_ds.c +++ b/arch/x86/kernel/cpu/perf_event_intel_ds.c | |||
| @@ -584,6 +584,7 @@ struct event_constraint intel_snb_pebs_event_constraints[] = { | |||
| 584 | INTEL_EVENT_CONSTRAINT(0xd0, 0xf), /* MEM_UOP_RETIRED.* */ | 584 | INTEL_EVENT_CONSTRAINT(0xd0, 0xf), /* MEM_UOP_RETIRED.* */ |
| 585 | INTEL_EVENT_CONSTRAINT(0xd1, 0xf), /* MEM_LOAD_UOPS_RETIRED.* */ | 585 | INTEL_EVENT_CONSTRAINT(0xd1, 0xf), /* MEM_LOAD_UOPS_RETIRED.* */ |
| 586 | INTEL_EVENT_CONSTRAINT(0xd2, 0xf), /* MEM_LOAD_UOPS_LLC_HIT_RETIRED.* */ | 586 | INTEL_EVENT_CONSTRAINT(0xd2, 0xf), /* MEM_LOAD_UOPS_LLC_HIT_RETIRED.* */ |
| 587 | INTEL_EVENT_CONSTRAINT(0xd3, 0xf), /* MEM_LOAD_UOPS_LLC_MISS_RETIRED.* */ | ||
| 587 | INTEL_UEVENT_CONSTRAINT(0x02d4, 0xf), /* MEM_LOAD_UOPS_MISC_RETIRED.LLC_MISS */ | 588 | INTEL_UEVENT_CONSTRAINT(0x02d4, 0xf), /* MEM_LOAD_UOPS_MISC_RETIRED.LLC_MISS */ |
| 588 | EVENT_CONSTRAINT_END | 589 | EVENT_CONSTRAINT_END |
| 589 | }; | 590 | }; |
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index 1b69951a81e2..b077f4cc225a 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
| @@ -487,21 +487,6 @@ ENDPROC(native_usergs_sysret64) | |||
| 487 | TRACE_IRQS_OFF | 487 | TRACE_IRQS_OFF |
| 488 | .endm | 488 | .endm |
| 489 | 489 | ||
| 490 | ENTRY(save_rest) | ||
| 491 | PARTIAL_FRAME 1 (REST_SKIP+8) | ||
| 492 | movq 5*8+16(%rsp), %r11 /* save return address */ | ||
| 493 | movq_cfi rbx, RBX+16 | ||
| 494 | movq_cfi rbp, RBP+16 | ||
| 495 | movq_cfi r12, R12+16 | ||
| 496 | movq_cfi r13, R13+16 | ||
| 497 | movq_cfi r14, R14+16 | ||
| 498 | movq_cfi r15, R15+16 | ||
| 499 | movq %r11, 8(%rsp) /* return address */ | ||
| 500 | FIXUP_TOP_OF_STACK %r11, 16 | ||
| 501 | ret | ||
| 502 | CFI_ENDPROC | ||
| 503 | END(save_rest) | ||
| 504 | |||
| 505 | /* save complete stack frame */ | 490 | /* save complete stack frame */ |
| 506 | .pushsection .kprobes.text, "ax" | 491 | .pushsection .kprobes.text, "ax" |
| 507 | ENTRY(save_paranoid) | 492 | ENTRY(save_paranoid) |
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index aecc98a93d1b..6cacab671f9b 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
| @@ -653,6 +653,7 @@ static void announce_cpu(int cpu, int apicid) | |||
| 653 | { | 653 | { |
| 654 | static int current_node = -1; | 654 | static int current_node = -1; |
| 655 | int node = early_cpu_to_node(cpu); | 655 | int node = early_cpu_to_node(cpu); |
| 656 | int max_cpu_present = find_last_bit(cpumask_bits(cpu_present_mask), NR_CPUS); | ||
| 656 | 657 | ||
| 657 | if (system_state == SYSTEM_BOOTING) { | 658 | if (system_state == SYSTEM_BOOTING) { |
| 658 | if (node != current_node) { | 659 | if (node != current_node) { |
| @@ -661,7 +662,7 @@ static void announce_cpu(int cpu, int apicid) | |||
| 661 | current_node = node; | 662 | current_node = node; |
| 662 | pr_info("Booting Node %3d, Processors ", node); | 663 | pr_info("Booting Node %3d, Processors ", node); |
| 663 | } | 664 | } |
| 664 | pr_cont(" #%d%s", cpu, cpu == (nr_cpu_ids - 1) ? " OK\n" : ""); | 665 | pr_cont(" #%4d%s", cpu, cpu == max_cpu_present ? " OK\n" : ""); |
| 665 | return; | 666 | return; |
| 666 | } else | 667 | } else |
| 667 | pr_info("Booting Node %d Processor %d APIC 0x%x\n", | 668 | pr_info("Booting Node %d Processor %d APIC 0x%x\n", |
