diff --git a/trunk/research/st/common.h b/trunk/research/st/common.h index 880b4f139..46868556f 100644 --- a/trunk/research/st/common.h +++ b/trunk/research/st/common.h @@ -144,9 +144,6 @@ typedef struct _st_stack { char *stk_bottom; /* Lowest address of stack's usable portion */ char *stk_top; /* Highest address of stack's usable portion */ void *sp; /* Stack pointer from C's point of view */ - #ifdef __ia64__ - void *bsp; /* Register stack backing store pointer */ - #endif } _st_stack_t; @@ -349,11 +346,7 @@ extern _st_eventsys_t *_st_eventsys; #define ST_UTIME_NO_TIMEOUT ((st_utime_t) -1LL) #endif -#ifndef __ia64__ - #define ST_DEFAULT_STACK_SIZE (64*1024) -#else - #define ST_DEFAULT_STACK_SIZE (128*1024) /* Includes register stack size */ -#endif +#define ST_DEFAULT_STACK_SIZE (64*1024) #ifndef ST_KEYS_MAX #define ST_KEYS_MAX 16 diff --git a/trunk/research/st/sched.c b/trunk/research/st/sched.c index faa66e38d..a66111a4c 100644 --- a/trunk/research/st/sched.c +++ b/trunk/research/st/sched.c @@ -532,9 +532,6 @@ _st_thread_t *st_thread_create(void *(*start)(void *arg), void *arg, int joinabl _st_stack_t *stack; void **ptds; char *sp; -#ifdef __ia64__ - char *bsp; -#endif /* Adjust stack size */ if (stk_size == 0) { @@ -549,22 +546,6 @@ _st_thread_t *st_thread_create(void *(*start)(void *arg), void *arg, int joinabl /* Allocate thread object and per-thread data off the stack */ #if defined (MD_STACK_GROWS_DOWN) sp = stack->stk_top; - #ifdef __ia64__ - /* - * The stack segment is split in the middle. The upper half is used - * as backing store for the register stack which grows upward. - * The lower half is used for the traditional memory stack which - * grows downward. Both stacks start in the middle and grow outward - * from each other. - */ - sp -= (stk_size >> 1); - bsp = sp; - /* Make register stack 64-byte aligned */ - if ((unsigned long)bsp & 0x3f) { - bsp = bsp + (0x40 - ((unsigned long)bsp & 0x3f)); - } - stack->bsp = bsp + _ST_STACK_PAD_SIZE; - #endif sp = sp - (ST_KEYS_MAX * sizeof(void *)); ptds = (void **) sp; sp = sp - sizeof(_st_thread_t); @@ -575,18 +556,6 @@ _st_thread_t *st_thread_create(void *(*start)(void *arg), void *arg, int joinabl sp = sp - ((unsigned long)sp & 0x3f); } stack->sp = sp - _ST_STACK_PAD_SIZE; -#elif defined (MD_STACK_GROWS_UP) - sp = stack->stk_bottom; - thread = (_st_thread_t *) sp; - sp = sp + sizeof(_st_thread_t); - ptds = (void **) sp; - sp = sp + (ST_KEYS_MAX * sizeof(void *)); - - /* Make stack 64-byte aligned */ - if ((unsigned long)sp & 0x3f) { - sp = sp + (0x40 - ((unsigned long)sp & 0x3f)); - } - stack->sp = sp + _ST_STACK_PAD_SIZE; #else #error Unknown OS #endif @@ -600,11 +569,7 @@ _st_thread_t *st_thread_create(void *(*start)(void *arg), void *arg, int joinabl thread->start = start; thread->arg = arg; -#ifndef __ia64__ _ST_INIT_CONTEXT(thread, stack->sp, _st_thread_main); -#else - _ST_INIT_CONTEXT(thread, stack->sp, stack->bsp, _st_thread_main); -#endif /* If thread is joinable, allocate a termination condition variable */ if (joinable) { diff --git a/trunk/research/st/srs.c b/trunk/research/st/srs.c index c65994089..017caee9a 100644 --- a/trunk/research/st/srs.c +++ b/trunk/research/st/srs.c @@ -11,10 +11,6 @@ #include "public.h" -#if defined(__ia64__) - #error "IA64 not supported" -#endif - #define srs_trace(msg, ...) printf(msg, ##__VA_ARGS__);printf("\n") int io_port = 1990;