Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'x86-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: fix pointer type warning in arch/x86/mm/init_64.c:early_memtest
x86, lockdep: fix "WARNING: at kernel/lockdep.c:2658 check_flags+0x4c/0x128()"
x86: fix an incompatible pointer type warning on 64-bit compilations
x86: fix lockdep warning during suspend-to-ram
x86: fix unused variable 'loops' warning in arch/x86/boot/a20.c
Revert "x86: fix ioapic bug again"
x86: fix asm warning in head_32.S
x86: fix endless page faults in mount_block_root for Linux 2.6
geode: fix modular build

+15 -20
+1 -2
arch/x86/boot/a20.c
··· 115 115 116 116 int enable_a20(void) 117 117 { 118 - int loops = A20_ENABLE_LOOPS; 119 - 120 118 #if defined(CONFIG_X86_ELAN) 121 119 /* Elan croaks if we try to touch the KBC */ 122 120 enable_a20_fast(); ··· 126 128 enable_a20_kbc(); 127 129 return 0; 128 130 #else 131 + int loops = A20_ENABLE_LOOPS; 129 132 while (loops--) { 130 133 /* First, check to see if A20 is already enabled 131 134 (legacy free, etc.) */
+1
arch/x86/kernel/entry_32.S
··· 248 248 DISABLE_INTERRUPTS(CLBR_ANY) # make sure we don't miss an interrupt 249 249 # setting need_resched or sigpending 250 250 # between sampling and the iret 251 + TRACE_IRQS_OFF 251 252 movl TI_flags(%ebp), %ecx 252 253 andl $_TIF_WORK_MASK, %ecx # is there any work to be done on 253 254 # int/exception return?
+1 -1
arch/x86/kernel/head_32.S
··· 189 189 * this stage. 190 190 */ 191 191 192 - #define KPMDS ((0x100000000-__PAGE_OFFSET) >> 30) /* Number of kernel PMDs */ 192 + #define KPMDS (((-__PAGE_OFFSET) >> 30) & 3) /* Number of kernel PMDs */ 193 193 194 194 xorl %ebx,%ebx /* %ebx is kept at zero */ 195 195
+2 -10
arch/x86/kernel/io_apic_32.c
··· 2130 2130 { 2131 2131 int apic1, pin1, apic2, pin2; 2132 2132 int vector; 2133 - unsigned int ver; 2134 2133 unsigned long flags; 2135 2134 2136 2135 local_irq_save(flags); 2137 - 2138 - ver = apic_read(APIC_LVR); 2139 - ver = GET_APIC_VERSION(ver); 2140 2136 2141 2137 /* 2142 2138 * get/set the timer IRQ vector: ··· 2146 2150 * mode for the 8259A whenever interrupts are routed 2147 2151 * through I/O APICs. Also IRQ0 has to be enabled in 2148 2152 * the 8259A which implies the virtual wire has to be 2149 - * disabled in the local APIC. Finally timer interrupts 2150 - * need to be acknowledged manually in the 8259A for 2151 - * timer_interrupt() and for the i82489DX when using 2152 - * the NMI watchdog. 2153 + * disabled in the local APIC. 2153 2154 */ 2154 2155 apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT); 2155 2156 init_8259A(1); 2156 - timer_ack = !cpu_has_tsc; 2157 - timer_ack |= (nmi_watchdog == NMI_IO_APIC && !APIC_INTEGRATED(ver)); 2157 + timer_ack = 1; 2158 2158 if (timer_over_8254 > 0) 2159 2159 enable_8259A_irq(0); 2160 2160
+2
arch/x86/kernel/mfgpt_32.c
··· 155 155 wrmsr(msr, value, dummy); 156 156 return 0; 157 157 } 158 + EXPORT_SYMBOL_GPL(geode_mfgpt_toggle_event); 158 159 159 160 int geode_mfgpt_set_irq(int timer, int cmp, int irq, int enable) 160 161 { ··· 223 222 /* No timers available - too bad */ 224 223 return -1; 225 224 } 225 + EXPORT_SYMBOL_GPL(geode_mfgpt_alloc_timer); 226 226 227 227 228 228 #ifdef CONFIG_GEODE_MFGPT_TIMER
+2 -7
arch/x86/kernel/nmi_32.c
··· 26 26 27 27 #include <asm/smp.h> 28 28 #include <asm/nmi.h> 29 - #include <asm/timer.h> 30 29 31 30 #include "mach_traps.h" 32 31 ··· 81 82 82 83 prev_nmi_count = kmalloc(NR_CPUS * sizeof(int), GFP_KERNEL); 83 84 if (!prev_nmi_count) 84 - goto error; 85 + return -1; 85 86 86 87 printk(KERN_INFO "Testing NMI watchdog ... "); 87 88 ··· 118 119 if (!atomic_read(&nmi_active)) { 119 120 kfree(prev_nmi_count); 120 121 atomic_set(&nmi_active, -1); 121 - goto error; 122 + return -1; 122 123 } 123 124 printk("OK.\n"); 124 125 ··· 129 130 130 131 kfree(prev_nmi_count); 131 132 return 0; 132 - error: 133 - timer_ack = !cpu_has_tsc; 134 - 135 - return -1; 136 133 } 137 134 138 135 static int __init setup_nmi_watchdog(char *str)
+1
arch/x86/kernel/traps_32.c
··· 544 544 #define DO_ERROR(trapnr, signr, str, name) \ 545 545 void do_##name(struct pt_regs *regs, long error_code) \ 546 546 { \ 547 + trace_hardirqs_fixup(); \ 547 548 if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ 548 549 == NOTIFY_STOP) \ 549 550 return; \
+5
arch/x86/mm/fault.c
··· 497 497 unsigned long pgd_paddr; 498 498 pmd_t *pmd_k; 499 499 pte_t *pte_k; 500 + 501 + /* Make sure we are in vmalloc area */ 502 + if (!(address >= VMALLOC_START && address < VMALLOC_END)) 503 + return -1; 504 + 500 505 /* 501 506 * Synchronize this task's top level page-table 502 507 * with the 'reference' page table.