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
8383 KBUILD_CFLAGS += -m64
8484
8585 # Don't autogenerate traditional x87, MMX or SSE instructions
86− KBUILD_CFLAGS += -mno-mmx -mno-sse -mno-80387 -mno-fp-ret-in-387
86+ 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)
8789
8890 # Use -mpreferred-stack-boundary=3 if supported.
8991 KBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=3)
arch/x86/kernel/vsmp_64.c+10−1
@@ -26,6 +26,9 @@ · 25 unmodified lines
2626
2727 #define TOPOLOGY_REGISTER_OFFSET 0x10
2828
29+/* Flag below is initialized once during vSMP PCI initialization. */
30+static int irq_routing_comply = 1;
31+
2932 #if defined CONFIG_PCI && defined CONFIG_PARAVIRT
3033 /*
3134 * Interrupt control on vSMPowered systems:
@@ -101,6 +104,10 @@ static void __init set_vsmp_pv_ops(void) · 69 unmodified lines
101104 #ifdef CONFIG_SMP
102105 if (cap & ctl & BIT(8)) {
103106 ctl &= ~BIT(8);
107+
108+ /* Interrupt routing set to ignore */
109+ irq_routing_comply = 0;
110+
104111 #ifdef CONFIG_PROC_FS
105112 /* Don't let users change irq affinity via procfs */
106113 no_irq_affinity = 1;
@@ -218,7 +225,9 @@ static void vsmp_apic_post_init(void) · 111 unmodified lines
218225 {
219226 /* need to update phys_pkg_id */
220227 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;
222231 }
223232
224233 void __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