unsigned long esp;
unsigned short ss;
unsigned long *stack, addr, module_start, module_end;
- extern char start_kernel, _etext;
+ extern char _stext, _etext;
esp = (unsigned long) ®s->esp;
ss = KERNEL_DS;
esp = regs->esp;
ss = regs->xss & 0xffff;
}
- printk("CPU: %d\n", smp_processor_id());
- printk("EIP: %04x:[<%08lx>]\nEFLAGS: %08lx\n", 0xffff & regs->xcs,regs->eip,regs->eflags);
+ printk("CPU: %d\nEIP: %04x:[<%08lx>]\nEFLAGS: %08lx\n",
+ smp_processor_id(), 0xffff & regs->xcs, regs->eip, regs->eflags);
printk("eax: %08lx ebx: %08lx ecx: %08lx edx: %08lx\n",
regs->eax, regs->ebx, regs->ecx, regs->edx);
printk("esi: %08lx edi: %08lx ebp: %08lx esp: %08lx\n",
* down the cause of the crash will be able to figure
* out the call path that was taken.
*/
- if (((addr >= (unsigned long) &start_kernel) &&
+ if (((addr >= (unsigned long) &_stext) &&
(addr <= (unsigned long) &_etext)) ||
((addr >= module_start) && (addr <= module_end))) {
if (i && ((i % 8) == 0))
#define write_lock(rw) \
asm volatile("\n1:\t" \
"lock ; btsl $31,%0\n\t" \
- "jc 3f\n\t" \
- "testl $0x7fffffff,%0\n\t" \
- "jne 4f\n" \
- "2:\n" \
+ "jc 4f\n" \
+ "2:\ttestl $0x7fffffff,%0\n\t" \
+ "jne 3f\n" \
".section .text.lock,\"ax\"\n" \
- "3:\ttestl $-1,%0\n\t" \
- "js 3b\n\t" \
- "lock ; btsl $31,%0\n\t" \
- "jc 3b\n" \
- "4:\ttestl $0x7fffffff,%0\n\t" \
+ "3:\tlock ; btrl $31,%0\n" \
+ "4:\tcmp $0,%0\n\t" \
"jne 4b\n\t" \
- "jmp 2b\n" \
+ "jmp 1b\n" \
".previous" \
:"=m" (__dummy_lock(&(rw)->lock)))
msg_level = -1;
}
__restore_flags(flags);
+#if 0 /* debugging - avoid this if we're deadlocked */
wake_up_interruptible(&log_wait);
+#endif
return i;
}
ctl_table core_table[] = {
{NET_CORE_WMEM_MAX, "wmem_max",
&sysctl_wmem_max, sizeof(int), 0644, NULL,
- &proc_dointvec},
+ &proc_dointvec},
{NET_CORE_RMEM_MAX, "rmem_max",
&sysctl_rmem_max, sizeof(int), 0644, NULL,
- &proc_dointvec},
+ &proc_dointvec},
{NET_CORE_WMEM_DEFAULT, "wmem_default",
&sysctl_wmem_default, sizeof(int), 0644, NULL,
- &proc_dointvec},
+ &proc_dointvec},
{NET_CORE_RMEM_DEFAULT, "rmem_default",
&sysctl_rmem_default, sizeof(int), 0644, NULL,
- &proc_dointvec},
+ &proc_dointvec},
+ { 0 }
};