History

Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Peter Anvin: "Two very small changes: one fix for the vSMP Foundation platform, and one to help LLVM not choke on options it doesn't understand (although it probably should)" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/vsmp: Fix irq routing x86: LLVMLinux: Wrap -mno-80387 with cc-option

Linus Torvalds committed 12 years ago

Commit 0845e112 parents e7e6d2a 39025ba2 files · +13 −2Browse files

Unified · Split

2 files
  1. arch/x86/Makefile +3 −1
  2. arch/x86/kernel/vsmp_64.c +10 −1
arch/x86/Makefile+3−1
@@ -83,7 +83,9 @@ else · 82 unmodified lines
83 KBUILD_CFLAGS += -m6483 KBUILD_CFLAGS += -m64
84 84
85 # Don't autogenerate traditional x87, MMX or SSE instructions85 # Don't autogenerate traditional x87, MMX or SSE instructions
86 KBUILD_CFLAGS += -mno-mmx -mno-sse -mno-80387 -mno-fp-ret-in-38786 KBUILD_CFLAGS += -mno-mmx -mno-sse
87 KBUILD_CFLAGS += $(call cc-option,-mno-80387)
88 KBUILD_CFLAGS += $(call cc-option,-mno-fp-ret-in-387)
87 89
88 # Use -mpreferred-stack-boundary=3 if supported.90 # Use -mpreferred-stack-boundary=3 if supported.
89 KBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=3)91 KBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=3)
arch/x86/kernel/vsmp_64.c+10−1
@@ -26,6 +26,9 @@ · 25 unmodified lines
26 26
27#define TOPOLOGY_REGISTER_OFFSET 0x1027#define TOPOLOGY_REGISTER_OFFSET 0x10
28 28
29/* Flag below is initialized once during vSMP PCI initialization. */
30static int irq_routing_comply = 1;
31
29#if defined CONFIG_PCI && defined CONFIG_PARAVIRT32#if defined CONFIG_PCI && defined CONFIG_PARAVIRT
30/*33/*
31 * Interrupt control on vSMPowered systems:34 * Interrupt control on vSMPowered systems:
@@ -101,6 +104,10 @@ static void __init set_vsmp_pv_ops(void) · 69 unmodified lines
101#ifdef CONFIG_SMP104#ifdef CONFIG_SMP
102 if (cap & ctl & BIT(8)) {105 if (cap & ctl & BIT(8)) {
103 ctl &= ~BIT(8);106 ctl &= ~BIT(8);
107
108 /* Interrupt routing set to ignore */
109 irq_routing_comply = 0;
110
104#ifdef CONFIG_PROC_FS111#ifdef CONFIG_PROC_FS
105 /* Don't let users change irq affinity via procfs */112 /* Don't let users change irq affinity via procfs */
106 no_irq_affinity = 1;113 no_irq_affinity = 1;
@@ -218,7 +225,9 @@ static void vsmp_apic_post_init(void) · 111 unmodified lines
218{225{
219 /* need to update phys_pkg_id */226 /* need to update phys_pkg_id */
220 apic->phys_pkg_id = apicid_phys_pkg_id;227 apic->phys_pkg_id = apicid_phys_pkg_id;
221 apic->vector_allocation_domain = fill_vector_allocation_domain;228
229 if (!irq_routing_comply)
230 apic->vector_allocation_domain = fill_vector_allocation_domain;
222}231}
223 232
224void __init vsmp_init(void)233void __init vsmp_init(void)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t