aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386')
-rw-r--r--arch/i386/kernel/acpi/boot.c2
-rw-r--r--arch/i386/kernel/cpu/amd.c16
-rw-r--r--arch/i386/kernel/pci-dma.c2
-rw-r--r--arch/i386/kernel/signal.c6
-rw-r--r--arch/i386/pci/acpi.c2
-rw-r--r--arch/i386/pci/irq.c2
6 files changed, 25 insertions, 5 deletions
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c
index 838437b2d241..b66c13c0cc0f 100644
--- a/arch/i386/kernel/acpi/boot.c
+++ b/arch/i386/kernel/acpi/boot.c
@@ -29,12 +29,12 @@
29#include <linux/efi.h> 29#include <linux/efi.h>
30#include <linux/module.h> 30#include <linux/module.h>
31#include <linux/dmi.h> 31#include <linux/dmi.h>
32#include <linux/irq.h>
32 33
33#include <asm/pgtable.h> 34#include <asm/pgtable.h>
34#include <asm/io_apic.h> 35#include <asm/io_apic.h>
35#include <asm/apic.h> 36#include <asm/apic.h>
36#include <asm/io.h> 37#include <asm/io.h>
37#include <asm/irq.h>
38#include <asm/mpspec.h> 38#include <asm/mpspec.h>
39 39
40#ifdef CONFIG_X86_64 40#ifdef CONFIG_X86_64
diff --git a/arch/i386/kernel/cpu/amd.c b/arch/i386/kernel/cpu/amd.c
index 73aeaf5a9d4e..53a1681cd964 100644
--- a/arch/i386/kernel/cpu/amd.c
+++ b/arch/i386/kernel/cpu/amd.c
@@ -28,6 +28,22 @@ static void __init init_amd(struct cpuinfo_x86 *c)
28 int mbytes = num_physpages >> (20-PAGE_SHIFT); 28 int mbytes = num_physpages >> (20-PAGE_SHIFT);
29 int r; 29 int r;
30 30
31#ifdef CONFIG_SMP
32 unsigned long long value;
33
34 /* Disable TLB flush filter by setting HWCR.FFDIS on K8
35 * bit 6 of msr C001_0015
36 *
37 * Errata 63 for SH-B3 steppings
38 * Errata 122 for all steppings (F+ have it disabled by default)
39 */
40 if (c->x86 == 15) {
41 rdmsrl(MSR_K7_HWCR, value);
42 value |= 1 << 6;
43 wrmsrl(MSR_K7_HWCR, value);
44 }
45#endif
46
31 /* 47 /*
32 * FIXME: We should handle the K5 here. Set up the write 48 * FIXME: We should handle the K5 here. Set up the write
33 * range and also turn on MSR 83 bits 4 and 31 (write alloc, 49 * range and also turn on MSR 83 bits 4 and 31 (write alloc,
diff --git a/arch/i386/kernel/pci-dma.c b/arch/i386/kernel/pci-dma.c
index 1e51427cc9eb..25fe66853934 100644
--- a/arch/i386/kernel/pci-dma.c
+++ b/arch/i386/kernel/pci-dma.c
@@ -23,7 +23,7 @@ struct dma_coherent_mem {
23}; 23};
24 24
25void *dma_alloc_coherent(struct device *dev, size_t size, 25void *dma_alloc_coherent(struct device *dev, size_t size,
26 dma_addr_t *dma_handle, unsigned int __nocast gfp) 26 dma_addr_t *dma_handle, gfp_t gfp)
27{ 27{
28 void *ret; 28 void *ret;
29 struct dma_coherent_mem *mem = dev ? dev->dma_mem : NULL; 29 struct dma_coherent_mem *mem = dev ? dev->dma_mem : NULL;
diff --git a/arch/i386/kernel/signal.c b/arch/i386/kernel/signal.c
index 61eb0c8a6e47..adcd069db91e 100644
--- a/arch/i386/kernel/signal.c
+++ b/arch/i386/kernel/signal.c
@@ -338,7 +338,11 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size)
338 esp = (unsigned long) ka->sa.sa_restorer; 338 esp = (unsigned long) ka->sa.sa_restorer;
339 } 339 }
340 340
341 return (void __user *)((esp - frame_size) & -8ul); 341 esp -= frame_size;
342 /* Align the stack pointer according to the i386 ABI,
343 * i.e. so that on function entry ((sp + 4) & 15) == 0. */
344 esp = ((esp + 4) & -16ul) - 4;
345 return (void __user *) esp;
342} 346}
343 347
344/* These symbols are defined with the addresses in the vsyscall page. 348/* These symbols are defined with the addresses in the vsyscall page.
diff --git a/arch/i386/pci/acpi.c b/arch/i386/pci/acpi.c
index 7e7a202df3c8..4c4522b43be5 100644
--- a/arch/i386/pci/acpi.c
+++ b/arch/i386/pci/acpi.c
@@ -1,7 +1,7 @@
1#include <linux/pci.h> 1#include <linux/pci.h>
2#include <linux/acpi.h> 2#include <linux/acpi.h>
3#include <linux/init.h> 3#include <linux/init.h>
4#include <asm/hw_irq.h> 4#include <linux/irq.h>
5#include <asm/numa.h> 5#include <asm/numa.h>
6#include "pci.h" 6#include "pci.h"
7 7
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c
index 281ed8ab347a..cddafe33ff7c 100644
--- a/arch/i386/pci/irq.c
+++ b/arch/i386/pci/irq.c
@@ -15,7 +15,7 @@
15#include <asm/io.h> 15#include <asm/io.h>
16#include <asm/smp.h> 16#include <asm/smp.h>
17#include <asm/io_apic.h> 17#include <asm/io_apic.h>
18#include <asm/hw_irq.h> 18#include <linux/irq.h>
19#include <linux/acpi.h> 19#include <linux/acpi.h>
20 20
21#include "pci.h" 21#include "pci.h"