diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-18 12:26:17 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-18 12:26:17 -0400 |
commit | f42bcf1aa84a4c4348d53ac3013eff2b642987e5 (patch) | |
tree | 28caed8e92309c2f1da45b9afdb9fdb696d6df14 /arch | |
parent | 9d2cd7048b1ec21309e2d1a32bf50732eb5d5de8 (diff) | |
parent | 0f531431d3de88efb4234d6c0ce22089ec035a38 (diff) |
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
"Misc fixes"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/intel/lpss: Add pin control support to Intel low power subsystem
perf/x86/intel: Mark MEM_LOAD_UOPS_MISS_RETIRED as precise on SNB
x86: Remove now-unused save_rest()
x86/smpboot: Fix announce_cpu() to printk() the last "OK" properly
Diffstat (limited to 'arch')
-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", |