diff options
| -rw-r--r-- | arch/x86/Kconfig | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/apic_32.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/apic_64.c | 4 | ||||
| -rw-r--r-- | arch/x86/kernel/process_32.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/process_64.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/setup.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/setup_32.c | 4 | ||||
| -rw-r--r-- | arch/x86/kernel/smpboot.c | 12 | ||||
| -rw-r--r-- | arch/x86/kernel/tlb_64.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/vsyscall_64.c | 2 | ||||
| -rw-r--r-- | arch/x86/mach-visws/mpparse.c | 15 | ||||
| -rw-r--r-- | arch/x86/mach-voyager/voyager_smp.c | 17 | ||||
| -rw-r--r-- | arch/x86/mm/dump_pagetables.c | 2 | ||||
| -rw-r--r-- | arch/x86/mm/pageattr.c | 2 | ||||
| -rw-r--r-- | arch/x86/mm/srat_64.c | 2 | ||||
| -rw-r--r-- | drivers/pci/intel-iommu.c | 35 | ||||
| -rw-r--r-- | include/asm-x86/smp.h | 1 | ||||
| -rw-r--r-- | include/asm-x86/tsc.h | 1 |
18 files changed, 37 insertions, 72 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 87a693cf2bb7..4d350b5cbc71 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
| @@ -23,7 +23,7 @@ config X86 | |||
| 23 | select HAVE_KPROBES | 23 | select HAVE_KPROBES |
| 24 | select HAVE_KRETPROBES | 24 | select HAVE_KRETPROBES |
| 25 | select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) | 25 | select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) |
| 26 | select HAVE_ARCH_KGDB | 26 | select HAVE_ARCH_KGDB if !X86_VOYAGER |
| 27 | 27 | ||
| 28 | 28 | ||
| 29 | config GENERIC_LOCKBREAK | 29 | config GENERIC_LOCKBREAK |
diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c index 687208190b06..8317401170b8 100644 --- a/arch/x86/kernel/apic_32.c +++ b/arch/x86/kernel/apic_32.c | |||
| @@ -902,7 +902,7 @@ void __init init_bsp_APIC(void) | |||
| 902 | apic_write_around(APIC_LVT1, value); | 902 | apic_write_around(APIC_LVT1, value); |
| 903 | } | 903 | } |
| 904 | 904 | ||
| 905 | void __cpuinit lapic_setup_esr(void) | 905 | static void __cpuinit lapic_setup_esr(void) |
| 906 | { | 906 | { |
| 907 | unsigned long oldvalue, value, maxlvt; | 907 | unsigned long oldvalue, value, maxlvt; |
| 908 | if (lapic_is_integrated() && !esr_disable) { | 908 | if (lapic_is_integrated() && !esr_disable) { |
diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c index 9e8e5c050c55..bf83157337e4 100644 --- a/arch/x86/kernel/apic_64.c +++ b/arch/x86/kernel/apic_64.c | |||
| @@ -429,7 +429,7 @@ void __init setup_boot_APIC_clock(void) | |||
| 429 | * set the DUMMY flag again and force the broadcast mode in the | 429 | * set the DUMMY flag again and force the broadcast mode in the |
| 430 | * clockevents layer. | 430 | * clockevents layer. |
| 431 | */ | 431 | */ |
| 432 | void __cpuinit check_boot_apic_timer_broadcast(void) | 432 | static void __cpuinit check_boot_apic_timer_broadcast(void) |
| 433 | { | 433 | { |
| 434 | if (!disable_apic_timer || | 434 | if (!disable_apic_timer || |
| 435 | (lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY)) | 435 | (lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY)) |
| @@ -834,7 +834,7 @@ void __cpuinit setup_local_APIC(void) | |||
| 834 | preempt_enable(); | 834 | preempt_enable(); |
| 835 | } | 835 | } |
| 836 | 836 | ||
| 837 | void __cpuinit lapic_setup_esr(void) | 837 | static void __cpuinit lapic_setup_esr(void) |
| 838 | { | 838 | { |
| 839 | unsigned maxlvt = lapic_get_maxlvt(); | 839 | unsigned maxlvt = lapic_get_maxlvt(); |
| 840 | 840 | ||
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 7adad088e373..77de848bd1fb 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c | |||
| @@ -550,7 +550,7 @@ static void hard_enable_TSC(void) | |||
| 550 | write_cr4(read_cr4() & ~X86_CR4_TSD); | 550 | write_cr4(read_cr4() & ~X86_CR4_TSD); |
| 551 | } | 551 | } |
| 552 | 552 | ||
| 553 | void enable_TSC(void) | 553 | static void enable_TSC(void) |
| 554 | { | 554 | { |
| 555 | preempt_disable(); | 555 | preempt_disable(); |
| 556 | if (test_and_clear_thread_flag(TIF_NOTSC)) | 556 | if (test_and_clear_thread_flag(TIF_NOTSC)) |
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 891af1a1b48a..131c2ee7ac56 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
| @@ -562,7 +562,7 @@ static void hard_enable_TSC(void) | |||
| 562 | write_cr4(read_cr4() & ~X86_CR4_TSD); | 562 | write_cr4(read_cr4() & ~X86_CR4_TSD); |
| 563 | } | 563 | } |
| 564 | 564 | ||
| 565 | void enable_TSC(void) | 565 | static void enable_TSC(void) |
| 566 | { | 566 | { |
| 567 | preempt_disable(); | 567 | preempt_disable(); |
| 568 | if (test_and_clear_thread_flag(TIF_NOTSC)) | 568 | if (test_and_clear_thread_flag(TIF_NOTSC)) |
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 0d1f44ae6eea..c0c68c18a788 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
| @@ -18,8 +18,6 @@ unsigned disabled_cpus __cpuinitdata; | |||
| 18 | unsigned int boot_cpu_physical_apicid = -1U; | 18 | unsigned int boot_cpu_physical_apicid = -1U; |
| 19 | EXPORT_SYMBOL(boot_cpu_physical_apicid); | 19 | EXPORT_SYMBOL(boot_cpu_physical_apicid); |
| 20 | 20 | ||
| 21 | physid_mask_t phys_cpu_present_map; | ||
| 22 | |||
| 23 | DEFINE_PER_CPU(u16, x86_cpu_to_apicid) = BAD_APICID; | 21 | DEFINE_PER_CPU(u16, x86_cpu_to_apicid) = BAD_APICID; |
| 24 | EXPORT_PER_CPU_SYMBOL(x86_cpu_to_apicid); | 22 | EXPORT_PER_CPU_SYMBOL(x86_cpu_to_apicid); |
| 25 | 23 | ||
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c index 78828b0f604f..455d3c80960b 100644 --- a/arch/x86/kernel/setup_32.c +++ b/arch/x86/kernel/setup_32.c | |||
| @@ -442,7 +442,7 @@ static void __init reserve_ebda_region(void) | |||
| 442 | } | 442 | } |
| 443 | 443 | ||
| 444 | #ifndef CONFIG_NEED_MULTIPLE_NODES | 444 | #ifndef CONFIG_NEED_MULTIPLE_NODES |
| 445 | void __init setup_bootmem_allocator(void); | 445 | static void __init setup_bootmem_allocator(void); |
| 446 | static unsigned long __init setup_memory(void) | 446 | static unsigned long __init setup_memory(void) |
| 447 | { | 447 | { |
| 448 | /* | 448 | /* |
| @@ -477,7 +477,7 @@ static unsigned long __init setup_memory(void) | |||
| 477 | return max_low_pfn; | 477 | return max_low_pfn; |
| 478 | } | 478 | } |
| 479 | 479 | ||
| 480 | void __init zone_sizes_init(void) | 480 | static void __init zone_sizes_init(void) |
| 481 | { | 481 | { |
| 482 | unsigned long max_zone_pfns[MAX_NR_ZONES]; | 482 | unsigned long max_zone_pfns[MAX_NR_ZONES]; |
| 483 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); | 483 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); |
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 6a925394bc7e..ade371f9663a 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
| @@ -184,7 +184,7 @@ static void unmap_cpu_to_node(int cpu) | |||
| 184 | u8 cpu_2_logical_apicid[NR_CPUS] __read_mostly = | 184 | u8 cpu_2_logical_apicid[NR_CPUS] __read_mostly = |
| 185 | { [0 ... NR_CPUS-1] = BAD_APICID }; | 185 | { [0 ... NR_CPUS-1] = BAD_APICID }; |
| 186 | 186 | ||
| 187 | void map_cpu_to_logical_apicid(void) | 187 | static void map_cpu_to_logical_apicid(void) |
| 188 | { | 188 | { |
| 189 | int cpu = smp_processor_id(); | 189 | int cpu = smp_processor_id(); |
| 190 | int apicid = logical_smp_processor_id(); | 190 | int apicid = logical_smp_processor_id(); |
| @@ -197,7 +197,7 @@ void map_cpu_to_logical_apicid(void) | |||
| 197 | map_cpu_to_node(cpu, node); | 197 | map_cpu_to_node(cpu, node); |
| 198 | } | 198 | } |
| 199 | 199 | ||
| 200 | void unmap_cpu_to_logical_apicid(int cpu) | 200 | static void unmap_cpu_to_logical_apicid(int cpu) |
| 201 | { | 201 | { |
| 202 | cpu_2_logical_apicid[cpu] = BAD_APICID; | 202 | cpu_2_logical_apicid[cpu] = BAD_APICID; |
| 203 | unmap_cpu_to_node(cpu); | 203 | unmap_cpu_to_node(cpu); |
| @@ -211,7 +211,7 @@ void unmap_cpu_to_logical_apicid(int cpu) | |||
| 211 | * Report back to the Boot Processor. | 211 | * Report back to the Boot Processor. |
| 212 | * Running on AP. | 212 | * Running on AP. |
| 213 | */ | 213 | */ |
| 214 | void __cpuinit smp_callin(void) | 214 | static void __cpuinit smp_callin(void) |
| 215 | { | 215 | { |
| 216 | int cpuid, phys_id; | 216 | int cpuid, phys_id; |
| 217 | unsigned long timeout; | 217 | unsigned long timeout; |
| @@ -436,7 +436,7 @@ valid_k7: | |||
| 436 | #endif | 436 | #endif |
| 437 | } | 437 | } |
| 438 | 438 | ||
| 439 | void __cpuinit smp_checks(void) | 439 | static void __cpuinit smp_checks(void) |
| 440 | { | 440 | { |
| 441 | if (smp_b_stepping) | 441 | if (smp_b_stepping) |
| 442 | printk(KERN_WARNING "WARNING: SMP operation may be unreliable" | 442 | printk(KERN_WARNING "WARNING: SMP operation may be unreliable" |
| @@ -565,7 +565,7 @@ void __init smp_alloc_memory(void) | |||
| 565 | } | 565 | } |
| 566 | #endif | 566 | #endif |
| 567 | 567 | ||
| 568 | void impress_friends(void) | 568 | static void impress_friends(void) |
| 569 | { | 569 | { |
| 570 | int cpu; | 570 | int cpu; |
| 571 | unsigned long bogosum = 0; | 571 | unsigned long bogosum = 0; |
| @@ -1287,7 +1287,7 @@ void cpu_exit_clear(void) | |||
| 1287 | } | 1287 | } |
| 1288 | # endif /* CONFIG_X86_32 */ | 1288 | # endif /* CONFIG_X86_32 */ |
| 1289 | 1289 | ||
| 1290 | void remove_siblinginfo(int cpu) | 1290 | static void remove_siblinginfo(int cpu) |
| 1291 | { | 1291 | { |
| 1292 | int sibling; | 1292 | int sibling; |
| 1293 | struct cpuinfo_x86 *c = &cpu_data(cpu); | 1293 | struct cpuinfo_x86 *c = &cpu_data(cpu); |
diff --git a/arch/x86/kernel/tlb_64.c b/arch/x86/kernel/tlb_64.c index 1558e513757e..df224a8774cb 100644 --- a/arch/x86/kernel/tlb_64.c +++ b/arch/x86/kernel/tlb_64.c | |||
| @@ -191,7 +191,7 @@ void native_flush_tlb_others(const cpumask_t *cpumaskp, struct mm_struct *mm, | |||
| 191 | spin_unlock(&f->tlbstate_lock); | 191 | spin_unlock(&f->tlbstate_lock); |
| 192 | } | 192 | } |
| 193 | 193 | ||
| 194 | int __cpuinit init_smp_flush(void) | 194 | static int __cpuinit init_smp_flush(void) |
| 195 | { | 195 | { |
| 196 | int i; | 196 | int i; |
| 197 | 197 | ||
diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c index edff4c985485..61efa2f7d564 100644 --- a/arch/x86/kernel/vsyscall_64.c +++ b/arch/x86/kernel/vsyscall_64.c | |||
| @@ -216,7 +216,7 @@ vgetcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *tcache) | |||
| 216 | return 0; | 216 | return 0; |
| 217 | } | 217 | } |
| 218 | 218 | ||
| 219 | long __vsyscall(3) venosys_1(void) | 219 | static long __vsyscall(3) venosys_1(void) |
| 220 | { | 220 | { |
| 221 | return -ENOSYS; | 221 | return -ENOSYS; |
| 222 | } | 222 | } |
diff --git a/arch/x86/mach-visws/mpparse.c b/arch/x86/mach-visws/mpparse.c index 2a8456a1f44f..57484e91ab90 100644 --- a/arch/x86/mach-visws/mpparse.c +++ b/arch/x86/mach-visws/mpparse.c | |||
| @@ -11,22 +11,9 @@ | |||
| 11 | /* Have we found an MP table */ | 11 | /* Have we found an MP table */ |
| 12 | int smp_found_config; | 12 | int smp_found_config; |
| 13 | 13 | ||
| 14 | /* | ||
| 15 | * Various Linux-internal data structures created from the | ||
| 16 | * MP-table. | ||
| 17 | */ | ||
| 18 | int apic_version [MAX_APICS]; | ||
| 19 | |||
| 20 | int pic_mode; | 14 | int pic_mode; |
| 21 | unsigned long mp_lapic_addr; | ||
| 22 | |||
| 23 | /* Processor that is doing the boot up */ | ||
| 24 | unsigned int boot_cpu_physical_apicid = -1U; | ||
| 25 | |||
| 26 | /* Bitmask of physically existing CPUs */ | ||
| 27 | physid_mask_t phys_cpu_present_map; | ||
| 28 | 15 | ||
| 29 | unsigned int __initdata maxcpus = NR_CPUS; | 16 | extern unsigned int __cpuinitdata maxcpus; |
| 30 | 17 | ||
| 31 | /* | 18 | /* |
| 32 | * The Visual Workstation is Intel MP compliant in the hardware | 19 | * The Visual Workstation is Intel MP compliant in the hardware |
diff --git a/arch/x86/mach-voyager/voyager_smp.c b/arch/x86/mach-voyager/voyager_smp.c index 96f60c7cd124..d05722121d24 100644 --- a/arch/x86/mach-voyager/voyager_smp.c +++ b/arch/x86/mach-voyager/voyager_smp.c | |||
| @@ -206,11 +206,6 @@ static struct irq_chip vic_chip = { | |||
| 206 | /* used to count up as CPUs are brought on line (starts at 0) */ | 206 | /* used to count up as CPUs are brought on line (starts at 0) */ |
| 207 | static int cpucount = 0; | 207 | static int cpucount = 0; |
| 208 | 208 | ||
| 209 | /* steal a page from the bottom of memory for the trampoline and | ||
| 210 | * squirrel its address away here. This will be in kernel virtual | ||
| 211 | * space */ | ||
| 212 | unsigned char *trampoline_base; | ||
| 213 | |||
| 214 | /* The per cpu profile stuff - used in smp_local_timer_interrupt */ | 209 | /* The per cpu profile stuff - used in smp_local_timer_interrupt */ |
| 215 | static DEFINE_PER_CPU(int, prof_multiplier) = 1; | 210 | static DEFINE_PER_CPU(int, prof_multiplier) = 1; |
| 216 | static DEFINE_PER_CPU(int, prof_old_multiplier) = 1; | 211 | static DEFINE_PER_CPU(int, prof_old_multiplier) = 1; |
| @@ -427,18 +422,6 @@ void __init smp_store_cpu_info(int id) | |||
| 427 | identify_secondary_cpu(c); | 422 | identify_secondary_cpu(c); |
| 428 | } | 423 | } |
| 429 | 424 | ||
| 430 | /* set up the trampoline and return the physical address of the code */ | ||
| 431 | unsigned long __init setup_trampoline(void) | ||
| 432 | { | ||
| 433 | /* these two are global symbols in trampoline.S */ | ||
| 434 | extern const __u8 trampoline_end[]; | ||
| 435 | extern const __u8 trampoline_data[]; | ||
| 436 | |||
| 437 | memcpy(trampoline_base, trampoline_data, | ||
| 438 | trampoline_end - trampoline_data); | ||
| 439 | return virt_to_phys(trampoline_base); | ||
| 440 | } | ||
| 441 | |||
| 442 | /* Routine initially called when a non-boot CPU is brought online */ | 425 | /* Routine initially called when a non-boot CPU is brought online */ |
| 443 | static void __init start_secondary(void *unused) | 426 | static void __init start_secondary(void *unused) |
| 444 | { | 427 | { |
diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c index 6791b8334bc6..2c24bea92c66 100644 --- a/arch/x86/mm/dump_pagetables.c +++ b/arch/x86/mm/dump_pagetables.c | |||
| @@ -324,7 +324,7 @@ static const struct file_operations ptdump_fops = { | |||
| 324 | .release = single_release, | 324 | .release = single_release, |
| 325 | }; | 325 | }; |
| 326 | 326 | ||
| 327 | int pt_dump_init(void) | 327 | static int pt_dump_init(void) |
| 328 | { | 328 | { |
| 329 | struct dentry *pe; | 329 | struct dentry *pe; |
| 330 | 330 | ||
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index f7823a172868..c29ebd037254 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c | |||
| @@ -993,7 +993,7 @@ static const struct file_operations dpa_fops = { | |||
| 993 | .release = single_release, | 993 | .release = single_release, |
| 994 | }; | 994 | }; |
| 995 | 995 | ||
| 996 | int __init debug_pagealloc_proc_init(void) | 996 | static int __init debug_pagealloc_proc_init(void) |
| 997 | { | 997 | { |
| 998 | struct dentry *de; | 998 | struct dentry *de; |
| 999 | 999 | ||
diff --git a/arch/x86/mm/srat_64.c b/arch/x86/mm/srat_64.c index fb43d89f46f3..3890234e5b26 100644 --- a/arch/x86/mm/srat_64.c +++ b/arch/x86/mm/srat_64.c | |||
| @@ -163,7 +163,7 @@ acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa) | |||
| 163 | pxm, apic_id, node); | 163 | pxm, apic_id, node); |
| 164 | } | 164 | } |
| 165 | 165 | ||
| 166 | int update_end_of_memory(unsigned long end) {return -1;} | 166 | static int update_end_of_memory(unsigned long end) {return -1;} |
| 167 | static int hotadd_enough_memory(struct bootnode *nd) {return 1;} | 167 | static int hotadd_enough_memory(struct bootnode *nd) {return 1;} |
| 168 | #ifdef CONFIG_MEMORY_HOTPLUG_SPARSE | 168 | #ifdef CONFIG_MEMORY_HOTPLUG_SPARSE |
| 169 | static inline int save_add_info(void) {return 1;} | 169 | static inline int save_add_info(void) {return 1;} |
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index 301c68fab03b..1fd8bb765702 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c | |||
| @@ -1905,32 +1905,31 @@ get_valid_domain_for_dev(struct pci_dev *pdev) | |||
| 1905 | return domain; | 1905 | return domain; |
| 1906 | } | 1906 | } |
| 1907 | 1907 | ||
| 1908 | static dma_addr_t intel_map_single(struct device *hwdev, void *addr, | 1908 | static dma_addr_t |
| 1909 | size_t size, int dir) | 1909 | intel_map_single(struct device *hwdev, phys_addr_t paddr, size_t size, int dir) |
| 1910 | { | 1910 | { |
| 1911 | struct pci_dev *pdev = to_pci_dev(hwdev); | 1911 | struct pci_dev *pdev = to_pci_dev(hwdev); |
| 1912 | int ret; | ||
| 1913 | struct dmar_domain *domain; | 1912 | struct dmar_domain *domain; |
| 1914 | unsigned long start_addr; | 1913 | unsigned long start_paddr; |
| 1915 | struct iova *iova; | 1914 | struct iova *iova; |
| 1916 | int prot = 0; | 1915 | int prot = 0; |
| 1916 | int ret; | ||
| 1917 | 1917 | ||
| 1918 | BUG_ON(dir == DMA_NONE); | 1918 | BUG_ON(dir == DMA_NONE); |
| 1919 | if (pdev->dev.archdata.iommu == DUMMY_DEVICE_DOMAIN_INFO) | 1919 | if (pdev->dev.archdata.iommu == DUMMY_DEVICE_DOMAIN_INFO) |
| 1920 | return virt_to_bus(addr); | 1920 | return paddr; |
| 1921 | 1921 | ||
| 1922 | domain = get_valid_domain_for_dev(pdev); | 1922 | domain = get_valid_domain_for_dev(pdev); |
| 1923 | if (!domain) | 1923 | if (!domain) |
| 1924 | return 0; | 1924 | return 0; |
| 1925 | 1925 | ||
| 1926 | addr = (void *)virt_to_phys(addr); | 1926 | size = aligned_size((u64)paddr, size); |
| 1927 | size = aligned_size((u64)addr, size); | ||
| 1928 | 1927 | ||
| 1929 | iova = __intel_alloc_iova(hwdev, domain, size); | 1928 | iova = __intel_alloc_iova(hwdev, domain, size); |
| 1930 | if (!iova) | 1929 | if (!iova) |
| 1931 | goto error; | 1930 | goto error; |
| 1932 | 1931 | ||
| 1933 | start_addr = iova->pfn_lo << PAGE_SHIFT_4K; | 1932 | start_paddr = iova->pfn_lo << PAGE_SHIFT_4K; |
| 1934 | 1933 | ||
| 1935 | /* | 1934 | /* |
| 1936 | * Check if DMAR supports zero-length reads on write only | 1935 | * Check if DMAR supports zero-length reads on write only |
| @@ -1942,33 +1941,33 @@ static dma_addr_t intel_map_single(struct device *hwdev, void *addr, | |||
| 1942 | if (dir == DMA_FROM_DEVICE || dir == DMA_BIDIRECTIONAL) | 1941 | if (dir == DMA_FROM_DEVICE || dir == DMA_BIDIRECTIONAL) |
| 1943 | prot |= DMA_PTE_WRITE; | 1942 | prot |= DMA_PTE_WRITE; |
| 1944 | /* | 1943 | /* |
| 1945 | * addr - (addr + size) might be partial page, we should map the whole | 1944 | * paddr - (paddr + size) might be partial page, we should map the whole |
| 1946 | * page. Note: if two part of one page are separately mapped, we | 1945 | * page. Note: if two part of one page are separately mapped, we |
| 1947 | * might have two guest_addr mapping to the same host addr, but this | 1946 | * might have two guest_addr mapping to the same host paddr, but this |
| 1948 | * is not a big problem | 1947 | * is not a big problem |
| 1949 | */ | 1948 | */ |
| 1950 | ret = domain_page_mapping(domain, start_addr, | 1949 | ret = domain_page_mapping(domain, start_paddr, |
| 1951 | ((u64)addr) & PAGE_MASK_4K, size, prot); | 1950 | ((u64)paddr) & PAGE_MASK_4K, size, prot); |
| 1952 | if (ret) | 1951 | if (ret) |
| 1953 | goto error; | 1952 | goto error; |
| 1954 | 1953 | ||
| 1955 | pr_debug("Device %s request: %lx@%llx mapping: %lx@%llx, dir %d\n", | 1954 | pr_debug("Device %s request: %lx@%llx mapping: %lx@%llx, dir %d\n", |
| 1956 | pci_name(pdev), size, (u64)addr, | 1955 | pci_name(pdev), size, (u64)paddr, |
| 1957 | size, (u64)start_addr, dir); | 1956 | size, (u64)start_paddr, dir); |
| 1958 | 1957 | ||
| 1959 | /* it's a non-present to present mapping */ | 1958 | /* it's a non-present to present mapping */ |
| 1960 | ret = iommu_flush_iotlb_psi(domain->iommu, domain->id, | 1959 | ret = iommu_flush_iotlb_psi(domain->iommu, domain->id, |
| 1961 | start_addr, size >> PAGE_SHIFT_4K, 1); | 1960 | start_paddr, size >> PAGE_SHIFT_4K, 1); |
| 1962 | if (ret) | 1961 | if (ret) |
| 1963 | iommu_flush_write_buffer(domain->iommu); | 1962 | iommu_flush_write_buffer(domain->iommu); |
| 1964 | 1963 | ||
| 1965 | return (start_addr + ((u64)addr & (~PAGE_MASK_4K))); | 1964 | return (start_paddr + ((u64)paddr & (~PAGE_MASK_4K))); |
| 1966 | 1965 | ||
| 1967 | error: | 1966 | error: |
| 1968 | if (iova) | 1967 | if (iova) |
| 1969 | __free_iova(&domain->iovad, iova); | 1968 | __free_iova(&domain->iovad, iova); |
| 1970 | printk(KERN_ERR"Device %s request: %lx@%llx dir %d --- failed\n", | 1969 | printk(KERN_ERR"Device %s request: %lx@%llx dir %d --- failed\n", |
| 1971 | pci_name(pdev), size, (u64)addr, dir); | 1970 | pci_name(pdev), size, (u64)paddr, dir); |
| 1972 | return 0; | 1971 | return 0; |
| 1973 | } | 1972 | } |
| 1974 | 1973 | ||
| @@ -2082,7 +2081,7 @@ static void * intel_alloc_coherent(struct device *hwdev, size_t size, | |||
| 2082 | return NULL; | 2081 | return NULL; |
| 2083 | memset(vaddr, 0, size); | 2082 | memset(vaddr, 0, size); |
| 2084 | 2083 | ||
| 2085 | *dma_handle = intel_map_single(hwdev, vaddr, size, DMA_BIDIRECTIONAL); | 2084 | *dma_handle = intel_map_single(hwdev, virt_to_bus(vaddr), size, DMA_BIDIRECTIONAL); |
| 2086 | if (*dma_handle) | 2085 | if (*dma_handle) |
| 2087 | return vaddr; | 2086 | return vaddr; |
| 2088 | free_pages((unsigned long)vaddr, order); | 2087 | free_pages((unsigned long)vaddr, order); |
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h index 62ebdec394b9..1ebaa5cd3112 100644 --- a/include/asm-x86/smp.h +++ b/include/asm-x86/smp.h | |||
| @@ -199,7 +199,6 @@ static inline int hard_smp_processor_id(void) | |||
| 199 | #ifdef CONFIG_HOTPLUG_CPU | 199 | #ifdef CONFIG_HOTPLUG_CPU |
| 200 | extern void cpu_exit_clear(void); | 200 | extern void cpu_exit_clear(void); |
| 201 | extern void cpu_uninit(void); | 201 | extern void cpu_uninit(void); |
| 202 | extern void remove_siblinginfo(int cpu); | ||
| 203 | #endif | 202 | #endif |
| 204 | 203 | ||
| 205 | extern void smp_alloc_memory(void); | 204 | extern void smp_alloc_memory(void); |
diff --git a/include/asm-x86/tsc.h b/include/asm-x86/tsc.h index 0434bd8349a7..d2d8eb5b55f5 100644 --- a/include/asm-x86/tsc.h +++ b/include/asm-x86/tsc.h | |||
| @@ -18,7 +18,6 @@ extern unsigned int cpu_khz; | |||
| 18 | extern unsigned int tsc_khz; | 18 | extern unsigned int tsc_khz; |
| 19 | 19 | ||
| 20 | extern void disable_TSC(void); | 20 | extern void disable_TSC(void); |
| 21 | extern void enable_TSC(void); | ||
| 22 | 21 | ||
| 23 | static inline cycles_t get_cycles(void) | 22 | static inline cycles_t get_cycles(void) |
| 24 | { | 23 | { |
