how to patch (or what to patch )
Hi
Recently i got a smc wireless network interface (usb) and following certain links I found I had to use the ndiswrapper to start this device, this is working, secondly I have to patch the kernel someware and this is the part im struggling with. This is the patch script.
What exactly do I patch ( A little confuzed thanx )
Running slackware 11
Toshiba sattelite L-20
2.6.18.1 kernel
diff -urN linux-2.6.18/arch/i386/Kconfig.debug linux-2.6.18-16kstacks/arch/i386/Kconfig.debug
--- linux-2.6.18/arch/i386/Kconfig.debug 2006-09-19 23:42:06.000000000 -0400
+++ linux-2.6.18-16kstacks/arch/i386/Kconfig.debug 2006-09-27 13:09:54.000000000 -0400
@@ -66,6 +66,14 @@
on the VM subsystem for higher order allocations. This option
will also use IRQ stacks to compensate for the reduced stackspace.
+config 16KSTACKS
+ bool "Use 16Kb for kernel stacks instead of 8Kb"
+ depends on DEBUG_KERNEL
+ help
+ If you say Y here the kernel will use a 16Kb stacksize for the
+ kernel stack attached to each process/thread. This option
+ will also use IRQ stacks to compensate for the reduced stackspace.
+
config X86_FIND_SMP_CONFIG
bool
depends on X86_LOCAL_APIC || X86_VOYAGER
diff -urN linux-2.6.18/arch/i386/defconfig linux-2.6.18-16kstacks/arch/i386/defconfig
--- linux-2.6.18/arch/i386/defconfig 2006-09-19 23:42:06.000000000 -0400
+++ linux-2.6.18-16kstacks/arch/i386/defconfig 2006-09-27 13:09:54.000000000 -0400
@@ -1518,12 +1518,14 @@
#
# CONFIG_PRINTK_TIME is not set
CONFIG_MAGIC_SYSRQ=y
-# CONFIG_DEBUG_KERNEL is not set
+CONFIG_DEBUG_KERNEL=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_EARLY_PRINTK=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
+# CONFIG_4KSTACKS is not set
+CONFIG_16KSTACKS=y
#
# Security options
diff -urN linux-2.6.18/arch/i386/kernel/irq.c linux-2.6.18-16kstacks/arch/i386/kernel/irq.c
--- linux-2.6.18/arch/i386/kernel/irq.c 2006-09-19 23:42:06.000000000 -0400
+++ linux-2.6.18-16kstacks/arch/i386/kernel/irq.c 2006-09-27 13:11:05.000000000 -0400
@@ -33,7 +33,7 @@
}
#endif
-#ifdef CONFIG_4KSTACKS
+#if defined(CONFIG_4KSTACKS) || defined(CONFIG_16KSTACKS)
/*
* per-CPU IRQ handling contexts (thread information and stack)
*/
@@ -55,7 +55,7 @@
{
/* high bit used in ret_from_ code */
int irq = ~regs->orig_eax;
-#ifdef CONFIG_4KSTACKS
+#if defined(CONFIG_4KSTACKS) || defined(CONFIG_16KSTACKS)
union irq_ctx *curctx, *irqctx;
u32 *isp;
#endif
@@ -82,7 +82,7 @@
}
#endif
-#ifdef CONFIG_4KSTACKS
+#if defined(CONFIG_4KSTACKS) || defined(CONFIG_16KSTACKS)
curctx = (union irq_ctx *) current_thread_info();
irqctx = hardirq_ctx[smp_processor_id()];
@@ -126,7 +126,7 @@
return 1;
}
-#ifdef CONFIG_4KSTACKS
+#if defined(CONFIG_4KSTACKS) || defined(CONFIG_16KSTACKS)
/*
* These should really be __section__(".bss.page_aligned") as well, but
diff -urN linux-2.6.18/include/asm-i386/irq.h linux-2.6.18-16kstacks/include/asm-i386/irq.h
--- linux-2.6.18/include/asm-i386/irq.h 2006-09-19 23:42:06.000000000 -0400
+++ linux-2.6.18-16kstacks/include/asm-i386/irq.h 2006-09-27 13:09:54.000000000 -0400
@@ -24,7 +24,7 @@
# define ARCH_HAS_NMI_WATCHDOG /* See include/linux/nmi.h */
#endif
-#ifdef CONFIG_4KSTACKS
+#if defined(CONFIG_4KSTACKS) || defined(CONFIG_16KSTACKS)
extern void irq_ctx_init(int cpu);
extern void irq_ctx_exit(int cpu);
# define __ARCH_HAS_DO_SOFTIRQ
diff -urN linux-2.6.18/include/asm-i386/module.h linux-2.6.18-16kstacks/include/asm-i386/module.h
--- linux-2.6.18/include/asm-i386/module.h 2006-09-19 23:42:06.000000000 -0400
+++ linux-2.6.18-16kstacks/include/asm-i386/module.h 2006-09-27 13:09:54.000000000 -0400
@@ -69,8 +69,12 @@
#ifdef CONFIG_4KSTACKS
#define MODULE_STACKSIZE "4KSTACKS "
#else
+#ifdef CONFIG_16KSTACKS
+#define MODULE_STACKSIZE "16KSTACKS "
+#else
#define MODULE_STACKSIZE ""
#endif
+#endif
#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM MODULE_STACKSIZE
diff -urN linux-2.6.18/include/asm-i386/thread_info.h linux-2.6.18-16kstacks/include/asm-i386/thread_info.h
--- linux-2.6.18/include/asm-i386/thread_info.h 2006-09-19 23:42:06.000000000 -0400
+++ linux-2.6.18-16kstacks/include/asm-i386/thread_info.h 2006-09-27 13:09:54.000000000 -0400
@@ -56,8 +56,12 @@
#ifdef CONFIG_4KSTACKS
#define THREAD_SIZE (4096)
#else
+#ifdef CONFIG_16KSTACKS
+#define THREAD_SIZE (16384)
+#else
#define THREAD_SIZE (8192)
#endif
+#endif
#define STACK_WARN (THREAD_SIZE/8)
/*
|