lkml.org 
[lkml]   [2002]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: Need help with changing stack size (attn parisc folks)
Date
I also made changes to lgetuser.S and entry.S, for entries
I missed.

Balbir


>From: "Balbir Singh" <balbir_soni@hotmail.com>
>To: linux-kernel@vger.kernel.org
>CC: balbir_soni@hotmail.com
>Subject: Need help with changing stack size (attn parisc folks)
>Date: Wed, 06 Feb 2002 16:12:12 -0800
>
>I have some legacy code and I think I run into some
>kind of stack overflow with it. To verify that, I tried
>increasing the stack size from 8K to 16K. I changed
>the following files
>
>processor.h
>current.h
>vmlinux.lds
>head.S
>
>The changes were kind of obvious. I know the PARISC guys
>have done something similar. Is there something missing
>with my changes, since the kernel does not come up,
>it is unable to start even kswapd. The diffs have been
>include below. Please cc to me in your reply since
>I am not hooked onto lkml.
>
>All help appreciated,
>
>Thanks,
>Balbir
>
>--- processor.h.org Wed Feb 6 15:10:37 2002
>+++ processor.h Wed Feb 6 15:53:10 2002
>@@ -447,9 +447,9 @@
>#define KSTK_EIP(tsk) (((unsigned long *)(4096+(unsigned
>long)(tsk)))[1019])
>#define KSTK_ESP(tsk) (((unsigned long *)(4096+(unsigned
>long)(tsk)))[1022])
>
>-#define THREAD_SIZE (2*PAGE_SIZE)
>-#define alloc_task_struct() ((struct task_struct *)
>__get_free_pages(GFP_KERNEL,1))
>-#define free_task_struct(p) free_pages((unsigned long) (p), 1)
>+#define THREAD_SIZE (4*PAGE_SIZE)
>+#define alloc_task_struct() ((struct task_struct *)
>__get_free_pages(GFP_KERNEL,2))
>+#define free_task_struct(p) free_pages((unsigned long) (p), 2)
>#define get_task_struct(tsk) atomic_inc(&virt_to_page(tsk)->count)
>
>#define init_task (init_task_union.task)
>
>--- current.h.org Wed Feb 6 15:11:51 2002
>+++ current.h Wed Feb 6 15:52:12 2002
>@@ -6,7 +6,7 @@
>static inline struct task_struct * get_current(void)
>{
> struct task_struct *current;
>- __asm__("andl %%esp,%0; ":"=r" (current) : "0" (~8191UL));
>+ __asm__("andl %%esp,%0; ":"=r" (current) : "0" (~(THREAD_SIZE -
>1)));
> return current;
> }
>
>
>--- vmlinux.lds.org Wed Feb 6 15:41:07 2002
>+++ vmlinux.lds Wed Feb 6 15:41:15 2002
>@@ -36,7 +36,7 @@
>
> _edata = .; /* End of data section */
>
>- . = ALIGN(8192); /* init_task */
>+ . = ALIGN(16384); /* init_task */
> .data.init_task : { *(.data.init_task) }
>
> . = ALIGN(4096); /* Init code and data */
>
>--- head.S.org Wed Feb 6 16:21:47 2002
>+++ head.S Wed Feb 6 16:22:21 2002
>@@ -320,7 +320,7 @@
> ret
>
>ENTRY(stack_start)
>- .long SYMBOL_NAME(init_task_union)+8192
>+ .long SYMBOL_NAME(init_task_union)+16384
> .long __KERNEL_DS
>
>/* This is the default interrupt "handler" :-) */
>




_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:24    [W:0.035 / U:4.296 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site