diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-13 16:52:27 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-13 16:52:27 -0400 |
commit | dbbcfb2211761fa69e831a78119c9288fb87eb9d (patch) | |
tree | b40b103ed250e287bf3d4790f1c87001cf7cf52f /arch/x86 | |
parent | b0356cd0e7497252a2c45ecb07b79d931390c8b2 (diff) | |
parent | 9df2fe986770bc4c76e8fe72c20b71268eec39a7 (diff) |
Merge branch 'linus' into x86/pci-ioapic-boot-irq-quirks
Conflicts:
arch/x86/mm/ioremap.c
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/.gitignore | 1 | ||||
-rw-r--r-- | arch/x86/mm/ioremap.c | 25 | ||||
-rw-r--r-- | arch/x86/pci/common.c | 8 |
3 files changed, 29 insertions, 5 deletions
diff --git a/arch/x86/kernel/.gitignore b/arch/x86/kernel/.gitignore index 4ea38a39aed4..08f4fd731469 100644 --- a/arch/x86/kernel/.gitignore +++ b/arch/x86/kernel/.gitignore | |||
@@ -1,2 +1,3 @@ | |||
1 | vsyscall.lds | 1 | vsyscall.lds |
2 | vsyscall_32.lds | 2 | vsyscall_32.lds |
3 | vmlinux.lds | ||
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c index 45e546c4ba78..115f13ee40c9 100644 --- a/arch/x86/mm/ioremap.c +++ b/arch/x86/mm/ioremap.c | |||
@@ -300,6 +300,29 @@ void __iomem *ioremap_cache(resource_size_t phys_addr, unsigned long size) | |||
300 | } | 300 | } |
301 | EXPORT_SYMBOL(ioremap_cache); | 301 | EXPORT_SYMBOL(ioremap_cache); |
302 | 302 | ||
303 | static void __iomem *ioremap_default(resource_size_t phys_addr, | ||
304 | unsigned long size) | ||
305 | { | ||
306 | unsigned long flags; | ||
307 | void *ret; | ||
308 | int err; | ||
309 | |||
310 | /* | ||
311 | * - WB for WB-able memory and no other conflicting mappings | ||
312 | * - UC_MINUS for non-WB-able memory with no other conflicting mappings | ||
313 | * - Inherit from confliting mappings otherwise | ||
314 | */ | ||
315 | err = reserve_memtype(phys_addr, phys_addr + size, -1, &flags); | ||
316 | if (err < 0) | ||
317 | return NULL; | ||
318 | |||
319 | ret = (void *) __ioremap_caller(phys_addr, size, flags, | ||
320 | __builtin_return_address(0)); | ||
321 | |||
322 | free_memtype(phys_addr, phys_addr + size); | ||
323 | return (void __iomem *)ret; | ||
324 | } | ||
325 | |||
303 | /** | 326 | /** |
304 | * iounmap - Free a IO remapping | 327 | * iounmap - Free a IO remapping |
305 | * @addr: virtual address from ioremap_* | 328 | * @addr: virtual address from ioremap_* |
@@ -365,7 +388,7 @@ void *xlate_dev_mem_ptr(unsigned long phys) | |||
365 | if (page_is_ram(start >> PAGE_SHIFT)) | 388 | if (page_is_ram(start >> PAGE_SHIFT)) |
366 | return __va(phys); | 389 | return __va(phys); |
367 | 390 | ||
368 | addr = (void __force *)ioremap(start, PAGE_SIZE); | 391 | addr = (void __force *)ioremap_default(start, PAGE_SIZE); |
369 | if (addr) | 392 | if (addr) |
370 | addr = (void *)((unsigned long)addr | (phys & ~PAGE_MASK)); | 393 | addr = (void *)((unsigned long)addr | (phys & ~PAGE_MASK)); |
371 | 394 | ||
diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c index 0a9eaa736d94..00a319cd5be3 100644 --- a/arch/x86/pci/common.c +++ b/arch/x86/pci/common.c | |||
@@ -330,18 +330,18 @@ static struct dmi_system_id __devinitdata pciprobe_dmi_table[] = { | |||
330 | #endif | 330 | #endif |
331 | { | 331 | { |
332 | .callback = set_bf_sort, | 332 | .callback = set_bf_sort, |
333 | .ident = "HP ProLiant DL360", | 333 | .ident = "HP ProLiant DL385 G2", |
334 | .matches = { | 334 | .matches = { |
335 | DMI_MATCH(DMI_SYS_VENDOR, "HP"), | 335 | DMI_MATCH(DMI_SYS_VENDOR, "HP"), |
336 | DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL360"), | 336 | DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL385 G2"), |
337 | }, | 337 | }, |
338 | }, | 338 | }, |
339 | { | 339 | { |
340 | .callback = set_bf_sort, | 340 | .callback = set_bf_sort, |
341 | .ident = "HP ProLiant DL380", | 341 | .ident = "HP ProLiant DL585 G2", |
342 | .matches = { | 342 | .matches = { |
343 | DMI_MATCH(DMI_SYS_VENDOR, "HP"), | 343 | DMI_MATCH(DMI_SYS_VENDOR, "HP"), |
344 | DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL380"), | 344 | DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL585 G2"), |
345 | }, | 345 | }, |
346 | }, | 346 | }, |
347 | {} | 347 | {} |