提交 bab0dcc7 编写于 作者: L Linus Torvalds

Merge branches 'x86-fixes-for-linus' and 'irq-fixes-for-linus' of...

Merge branches 'x86-fixes-for-linus' and 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, reboot: Fix relocations in reboot_32.S
  x86, NUMA: Fix empty memblk detection in numa_cleanup_meminfo()
  x86, AMD: Fix APIC timer erratum 400 affecting K8 Rev.A-E processors

* 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  genirq: Fix typo CONFIG_GENIRC_IRQ_SHOW_LEVEL
...@@ -698,7 +698,7 @@ cpu_dev_register(amd_cpu_dev); ...@@ -698,7 +698,7 @@ cpu_dev_register(amd_cpu_dev);
*/ */
const int amd_erratum_400[] = const int amd_erratum_400[] =
AMD_OSVW_ERRATUM(1, AMD_MODEL_RANGE(0xf, 0x41, 0x2, 0xff, 0xf), AMD_OSVW_ERRATUM(1, AMD_MODEL_RANGE(0x0f, 0x4, 0x2, 0xff, 0xf),
AMD_MODEL_RANGE(0x10, 0x2, 0x1, 0xff, 0xf)); AMD_MODEL_RANGE(0x10, 0x2, 0x1, 0xff, 0xf));
EXPORT_SYMBOL_GPL(amd_erratum_400); EXPORT_SYMBOL_GPL(amd_erratum_400);
......
...@@ -21,26 +21,26 @@ r_base = . ...@@ -21,26 +21,26 @@ r_base = .
/* Get our own relocated address */ /* Get our own relocated address */
call 1f call 1f
1: popl %ebx 1: popl %ebx
subl $1b, %ebx subl $(1b - r_base), %ebx
/* Compute the equivalent real-mode segment */ /* Compute the equivalent real-mode segment */
movl %ebx, %ecx movl %ebx, %ecx
shrl $4, %ecx shrl $4, %ecx
/* Patch post-real-mode segment jump */ /* Patch post-real-mode segment jump */
movw dispatch_table(%ebx,%eax,2),%ax movw (dispatch_table - r_base)(%ebx,%eax,2),%ax
movw %ax, 101f(%ebx) movw %ax, (101f - r_base)(%ebx)
movw %cx, 102f(%ebx) movw %cx, (102f - r_base)(%ebx)
/* Set up the IDT for real mode. */ /* Set up the IDT for real mode. */
lidtl machine_real_restart_idt(%ebx) lidtl (machine_real_restart_idt - r_base)(%ebx)
/* /*
* Set up a GDT from which we can load segment descriptors for real * Set up a GDT from which we can load segment descriptors for real
* mode. The GDT is not used in real mode; it is just needed here to * mode. The GDT is not used in real mode; it is just needed here to
* prepare the descriptors. * prepare the descriptors.
*/ */
lgdtl machine_real_restart_gdt(%ebx) lgdtl (machine_real_restart_gdt - r_base)(%ebx)
/* /*
* Load the data segment registers with 16-bit compatible values * Load the data segment registers with 16-bit compatible values
......
...@@ -306,7 +306,7 @@ int __init numa_cleanup_meminfo(struct numa_meminfo *mi) ...@@ -306,7 +306,7 @@ int __init numa_cleanup_meminfo(struct numa_meminfo *mi)
bi->end = min(bi->end, high); bi->end = min(bi->end, high);
/* and there's no empty block */ /* and there's no empty block */
if (bi->start == bi->end) { if (bi->start >= bi->end) {
numa_remove_memblk_from(i--, mi); numa_remove_memblk_from(i--, mi);
continue; continue;
} }
......
...@@ -419,7 +419,7 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -419,7 +419,7 @@ int show_interrupts(struct seq_file *p, void *v)
} else { } else {
seq_printf(p, " %8s", "None"); seq_printf(p, " %8s", "None");
} }
#ifdef CONFIG_GENIRC_IRQ_SHOW_LEVEL #ifdef CONFIG_GENERIC_IRQ_SHOW_LEVEL
seq_printf(p, " %-8s", irqd_is_level_type(&desc->irq_data) ? "Level" : "Edge"); seq_printf(p, " %-8s", irqd_is_level_type(&desc->irq_data) ? "Level" : "Edge");
#endif #endif
if (desc->name) if (desc->name)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册