Go to the source code of this file.
Defines | |
| #define | QUICKTHREADS_GROW_UP |
| #define | QUICKTHREADS_PA_RISC_READ_PLABEL(plabel) |
| #define | QUICKTHREADS_STKALIGN (64) |
| #define | QUICKTHREADS_SPUT(top, at, val) (((qt_word_t *)(top))[-(at)] = (qt_word_t)(val)) |
| #define | QUICKTHREADS_crp (12+4+16+5) |
| #define | QUICKTHREADS_15 (12+4+4) |
| #define | QUICKTHREADS_16 (12+4+3) |
| #define | QUICKTHREADS_17 (12+4+2) |
| #define | QUICKTHREADS_18 (12+4+1) |
| #define | QUICKTHREADS_STKBASE (16+48+(16*sizeof(qt_word_t))+16+48) |
| #define | QUICKTHREADS_ONLY_INDEX (QUICKTHREADS_15) |
| #define | QUICKTHREADS_USER_INDEX (QUICKTHREADS_16) |
| #define | QUICKTHREADS_ARGT_INDEX (QUICKTHREADS_17) |
| #define | QUICKTHREADS_ARGU_INDEX (QUICKTHREADS_18) |
| #define | QUICKTHREADS_ARGS_MD(sp) (QUICKTHREADS_SPUT (sp, QUICKTHREADS_crp, QUICKTHREADS_PA_RISC_READ_PLABEL(qt_start))) |
| #define | QUICKTHREADS_VARGS_DEFAULT |
| #define | QUICKTHREADS_VARGS_MD0(sp, vasize) ((qt_t *)(((char *)sp) + QUICKTHREADS_STKROUNDUP(vasize + 4*4 + 32))) |
| #define | QUICKTHREADS_VARGS_ADJUST(sp) ((qt_t *)(((char *)sp) - 32)) |
| #define | QUICKTHREADS_VSTKBASE ((16*sizeof(qt_word_t)) + 16 + 4*4 + 32) |
| #define | QUICKTHREADS_VARGS_MD1(sp) (QUICKTHREADS_SPUT (sp, QUICKTHREADS_crp, QUICKTHREADS_PA_RISC_READ_PLABEL(qt_vstart))) |
| #define | QUICKTHREADS_VARGT_INDEX (QUICKTHREADS_15) |
| #define | QUICKTHREADS_VSTARTUP_INDEX (QUICKTHREADS_16) |
| #define | QUICKTHREADS_VUSERF_INDEX (QUICKTHREADS_17) |
| #define | QUICKTHREADS_VCLEANUP_INDEX (QUICKTHREADS_18) |
Typedefs | |
| typedef unsigned long | qt_word_t |
Functions | |
| void | qt_start (void) |
| void | qt_vstart (void) |
| #define QUICKTHREADS_15 (12+4+4) |
| #define QUICKTHREADS_16 (12+4+3) |
| #define QUICKTHREADS_17 (12+4+2) |
| #define QUICKTHREADS_18 (12+4+1) |
| #define QUICKTHREADS_ARGS_MD | ( | sp | ) | (QUICKTHREADS_SPUT (sp, QUICKTHREADS_crp, QUICKTHREADS_PA_RISC_READ_PLABEL(qt_start))) |
| #define QUICKTHREADS_ARGT_INDEX (QUICKTHREADS_17) |
| #define QUICKTHREADS_ARGU_INDEX (QUICKTHREADS_18) |
| #define QUICKTHREADS_crp (12+4+16+5) |
| #define QUICKTHREADS_GROW_UP |
| #define QUICKTHREADS_ONLY_INDEX (QUICKTHREADS_15) |
| #define QUICKTHREADS_PA_RISC_READ_PLABEL | ( | plabel | ) |
Value:
( (((int)plabel) & 2) ? \
( (*((int *)(((int)plabel) & 0xfffffffc)))) : ((int)plabel) )
| #define QUICKTHREADS_STKALIGN (64) |
| #define QUICKTHREADS_STKBASE (16+48+(16*sizeof(qt_word_t))+16+48) |
This stuff is for NON-VARARGS.
| #define QUICKTHREADS_USER_INDEX (QUICKTHREADS_16) |
| #define QUICKTHREADS_VARGS_ADJUST | ( | sp | ) | ((qt_t *)(((char *)sp) - 32)) |
| #define QUICKTHREADS_VARGS_DEFAULT |
This is for VARARGS.
| #define QUICKTHREADS_VARGS_MD0 | ( | sp, | |||
| vasize | ) | ((qt_t *)(((char *)sp) + QUICKTHREADS_STKROUNDUP(vasize + 4*4 + 32))) |
| #define QUICKTHREADS_VARGS_MD1 | ( | sp | ) | (QUICKTHREADS_SPUT (sp, QUICKTHREADS_crp, QUICKTHREADS_PA_RISC_READ_PLABEL(qt_vstart))) |
| #define QUICKTHREADS_VARGT_INDEX (QUICKTHREADS_15) |
| #define QUICKTHREADS_VCLEANUP_INDEX (QUICKTHREADS_18) |
| #define QUICKTHREADS_VSTARTUP_INDEX (QUICKTHREADS_16) |
| #define QUICKTHREADS_VSTKBASE ((16*sizeof(qt_word_t)) + 16 + 4*4 + 32) |
| #define QUICKTHREADS_VUSERF_INDEX (QUICKTHREADS_17) |
| typedef unsigned long qt_word_t |
| void qt_start | ( | void | ) |
| void qt_vstart | ( | void | ) |