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

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
x86: revert: reserve dma32 early for gart

-52
-49
arch/x86/kernel/pci-dma_64.c
··· 8 #include <linux/pci.h> 9 #include <linux/module.h> 10 #include <linux/dmar.h> 11 - #include <linux/bootmem.h> 12 - #include <asm/proto.h> 13 #include <asm/io.h> 14 #include <asm/gart.h> 15 #include <asm/calgary.h> ··· 286 } 287 early_param("iommu", iommu_setup); 288 289 - static __initdata void *dma32_bootmem_ptr; 290 - static unsigned long dma32_bootmem_size __initdata = (128ULL<<20); 291 - 292 - static int __init parse_dma32_size_opt(char *p) 293 - { 294 - if (!p) 295 - return -EINVAL; 296 - dma32_bootmem_size = memparse(p, &p); 297 - return 0; 298 - } 299 - early_param("dma32_size", parse_dma32_size_opt); 300 - 301 - void __init dma32_reserve_bootmem(void) 302 - { 303 - unsigned long size, align; 304 - if (end_pfn <= MAX_DMA32_PFN) 305 - return; 306 - 307 - align = 64ULL<<20; 308 - size = round_up(dma32_bootmem_size, align); 309 - dma32_bootmem_ptr = __alloc_bootmem_nopanic(size, align, 310 - __pa(MAX_DMA_ADDRESS)); 311 - if (dma32_bootmem_ptr) 312 - dma32_bootmem_size = size; 313 - else 314 - dma32_bootmem_size = 0; 315 - } 316 - static void __init dma32_free_bootmem(void) 317 - { 318 - int node; 319 - 320 - if (end_pfn <= MAX_DMA32_PFN) 321 - return; 322 - 323 - if (!dma32_bootmem_ptr) 324 - return; 325 - 326 - for_each_online_node(node) 327 - free_bootmem_node(NODE_DATA(node), __pa(dma32_bootmem_ptr), 328 - dma32_bootmem_size); 329 - 330 - dma32_bootmem_ptr = NULL; 331 - dma32_bootmem_size = 0; 332 - } 333 - 334 void __init pci_iommu_alloc(void) 335 { 336 - /* free the range so iommu could get some range less than 4G */ 337 - dma32_free_bootmem(); 338 /* 339 * The order of these functions is important for 340 * fall-back/fail-over reasons
··· 8 #include <linux/pci.h> 9 #include <linux/module.h> 10 #include <linux/dmar.h> 11 #include <asm/io.h> 12 #include <asm/gart.h> 13 #include <asm/calgary.h> ··· 288 } 289 early_param("iommu", iommu_setup); 290 291 void __init pci_iommu_alloc(void) 292 { 293 /* 294 * The order of these functions is important for 295 * fall-back/fail-over reasons
-2
arch/x86/kernel/setup_64.c
··· 389 390 early_res_to_bootmem(); 391 392 - dma32_reserve_bootmem(); 393 - 394 #ifdef CONFIG_ACPI_SLEEP 395 /* 396 * Reserve low memory region for sleep support.
··· 389 390 early_res_to_bootmem(); 391 392 #ifdef CONFIG_ACPI_SLEEP 393 /* 394 * Reserve low memory region for sleep support.
-1
include/asm-x86/pci_64.h
··· 25 26 27 28 - extern void dma32_reserve_bootmem(void); 29 extern void pci_iommu_alloc(void); 30 31 /* The PCI address space does equal the physical memory
··· 25 26 27 28 extern void pci_iommu_alloc(void); 29 30 /* The PCI address space does equal the physical memory