powerpc_mach.h File Reference

Go to the source code of this file.

Defines

#define PPC_STACK_INCR   16
#define PPC_ROUND_STACK(length)   (((length)+PPC_STACK_INCR-1) & ~(PPC_STACK_INCR-1))
#define PPC_LINKAGE_AREA   24
#define PPC_CR_SAVE   4
#define PPC_LR_SAVE   8
#define PPC_PARAM_AREA(n)   (4*(n))
#define PPC_GPR_SAVE_AREA   (4*19)
#define PPC_FPR_SAVE_AREA   (8*18)
#define PPC_PAR(i)   (PPC_LINKAGE_AREA+(i)*4)
#define QUICKTHREADS_BLOCKI_FRAME_SIZE   PPC_ROUND_STACK(PPC_LINKAGE_AREA+PPC_PARAM_AREA(4)+PPC_GPR_SAVE_AREA)
#define QUICKTHREADS_BLOCKI_GPR_SAVE(i)   (QUICKTHREADS_BLOCKI_FRAME_SIZE-4+(i-31)*4)
#define QUICKTHREADS_BLOCK_FRAME_SIZE   PPC_ROUND_STACK(PPC_LINKAGE_AREA+PPC_PARAM_AREA(4)+PPC_FPR_SAVE_AREA)
#define QUICKTHREADS_BLOCK_FPR_SAVE(i)   (QUICKTHREADS_BLOCK_FRAME_SIZE-8+(i-31)*8)
#define QUICKTHREADS_START_FRAME_SIZE   PPC_ROUND_STACK(PPC_LINKAGE_AREA+PPC_PARAM_AREA(4))
#define QUICKTHREADS_VARGS_LOCAL_AREA   (4*4)
#define QUICKTHREADS_VARGS_BKOFF   PPC_PARAM_AREA(4)
#define QUICKTHREADS_VSTART_FRAME_SIZE(varbytes)
#define QUICKTHREADS_VSTART_LIST_BASE   (PPC_LINKAGE_AREA+PPC_PARAM_AREA(4))
#define QUICKTHREADS_RETURN_INDEX   ((QUICKTHREADS_BLOCKI_FRAME_SIZE+PPC_LR_SAVE)/sizeof(PPC_W))
#define QUICKTHREADS_ARG_INDEX(i)   ((QUICKTHREADS_BLOCKI_FRAME_SIZE+PPC_PAR(i))/sizeof(PPC_W))
#define QUICKTHREADS_GROW_DOWN
#define QUICKTHREADS_STKALIGN   PPC_STACK_INCR
#define QUICKTHREADS_ARGS_MD(sp)
#define QUICKTHREADS_VARGS_MD0(sp, varbytes)
#define QUICKTHREADS_VARGS_MD1(sp)
#define QUICKTHREADS_VARGS_DEFAULT
#define QUICKTHREADS_VARGS(sp, nbytes, vargs, pt, startup, vuserf, cleanup)   ((qt_t *)qt_vargs_stdarg (sp, nbytes, vargs, pt, startup, vuserf, cleanup))
#define QUICKTHREADS_STKBASE   (QUICKTHREADS_BLOCKI_FRAME_SIZE+QUICKTHREADS_START_FRAME_SIZE)
#define QUICKTHREADS_VSTKBASE   (QUICKTHREADS_BLOCKI_FRAME_SIZE+QUICKTHREADS_VSTART_LIST_BASE)
#define QUICKTHREADS_ARGU_INDEX   QUICKTHREADS_ARG_INDEX(0)
#define QUICKTHREADS_ARGT_INDEX   QUICKTHREADS_ARG_INDEX(1)
#define QUICKTHREADS_USER_INDEX   QUICKTHREADS_ARG_INDEX(2)
#define QUICKTHREADS_ONLY_INDEX   QUICKTHREADS_ARG_INDEX(3)
#define QUICKTHREADS_VARGT_INDEX   QUICKTHREADS_ARG_INDEX(0)
#define QUICKTHREADS_VSTARTUP_INDEX   QUICKTHREADS_ARG_INDEX(1)
#define QUICKTHREADS_VUSERF_INDEX   QUICKTHREADS_ARG_INDEX(2)
#define QUICKTHREADS_VCLEANUP_INDEX   QUICKTHREADS_ARG_INDEX(3)

Typedefs

typedef unsigned long PPC_W
typedef PPC_W qt_word_t

Functions

void qt_start (void)
void qt_vstart (void)


Define Documentation

#define PPC_CR_SAVE   4

Definition at line 311 of file powerpc_mach.h.

#define PPC_FPR_SAVE_AREA   (8*18)

Definition at line 317 of file powerpc_mach.h.

#define PPC_GPR_SAVE_AREA   (4*19)

Definition at line 316 of file powerpc_mach.h.

#define PPC_LINKAGE_AREA   24

Definition at line 310 of file powerpc_mach.h.

#define PPC_LR_SAVE   8

Definition at line 312 of file powerpc_mach.h.

#define PPC_PAR (  )     (PPC_LINKAGE_AREA+(i)*4)

Definition at line 322 of file powerpc_mach.h.

#define PPC_PARAM_AREA (  )     (4*(n))

Definition at line 314 of file powerpc_mach.h.

#define PPC_ROUND_STACK ( length   )     (((length)+PPC_STACK_INCR-1) & ~(PPC_STACK_INCR-1))

Definition at line 306 of file powerpc_mach.h.

#define PPC_STACK_INCR   16

Definition at line 305 of file powerpc_mach.h.

#define QUICKTHREADS_ARG_INDEX (  )     ((QUICKTHREADS_BLOCKI_FRAME_SIZE+PPC_PAR(i))/sizeof(PPC_W))

Definition at line 519 of file powerpc_mach.h.

#define QUICKTHREADS_ARGS_MD ( sp   ) 

#define QUICKTHREADS_ARGT_INDEX   QUICKTHREADS_ARG_INDEX(1)

Definition at line 600 of file powerpc_mach.h.

#define QUICKTHREADS_ARGU_INDEX   QUICKTHREADS_ARG_INDEX(0)

Definition at line 599 of file powerpc_mach.h.

#define QUICKTHREADS_BLOCK_FPR_SAVE (  )     (QUICKTHREADS_BLOCK_FRAME_SIZE-8+(i-31)*8)

Definition at line 410 of file powerpc_mach.h.

#define QUICKTHREADS_BLOCK_FRAME_SIZE   PPC_ROUND_STACK(PPC_LINKAGE_AREA+PPC_PARAM_AREA(4)+PPC_FPR_SAVE_AREA)

Definition at line 405 of file powerpc_mach.h.

#define QUICKTHREADS_BLOCKI_FRAME_SIZE   PPC_ROUND_STACK(PPC_LINKAGE_AREA+PPC_PARAM_AREA(4)+PPC_GPR_SAVE_AREA)

Definition at line 363 of file powerpc_mach.h.

#define QUICKTHREADS_BLOCKI_GPR_SAVE (  )     (QUICKTHREADS_BLOCKI_FRAME_SIZE-4+(i-31)*4)

Definition at line 369 of file powerpc_mach.h.

#define QUICKTHREADS_GROW_DOWN

Definition at line 528 of file powerpc_mach.h.

#define QUICKTHREADS_ONLY_INDEX   QUICKTHREADS_ARG_INDEX(3)

Definition at line 602 of file powerpc_mach.h.

#define QUICKTHREADS_RETURN_INDEX   ((QUICKTHREADS_BLOCKI_FRAME_SIZE+PPC_LR_SAVE)/sizeof(PPC_W))

Definition at line 514 of file powerpc_mach.h.

#define QUICKTHREADS_START_FRAME_SIZE   PPC_ROUND_STACK(PPC_LINKAGE_AREA+PPC_PARAM_AREA(4))

Definition at line 438 of file powerpc_mach.h.

#define QUICKTHREADS_STKALIGN   PPC_STACK_INCR

Definition at line 529 of file powerpc_mach.h.

#define QUICKTHREADS_STKBASE   (QUICKTHREADS_BLOCKI_FRAME_SIZE+QUICKTHREADS_START_FRAME_SIZE)

Definition at line 589 of file powerpc_mach.h.

#define QUICKTHREADS_USER_INDEX   QUICKTHREADS_ARG_INDEX(2)

Definition at line 601 of file powerpc_mach.h.

#define QUICKTHREADS_VARGS ( sp,
nbytes,
vargs,
pt,
startup,
vuserf,
cleanup   )     ((qt_t *)qt_vargs_stdarg (sp, nbytes, vargs, pt, startup, vuserf, cleanup))

Definition at line 580 of file powerpc_mach.h.

#define QUICKTHREADS_VARGS_BKOFF   PPC_PARAM_AREA(4)

Definition at line 491 of file powerpc_mach.h.

#define QUICKTHREADS_VARGS_DEFAULT

Definition at line 574 of file powerpc_mach.h.

#define QUICKTHREADS_VARGS_LOCAL_AREA   (4*4)

Definition at line 485 of file powerpc_mach.h.

#define QUICKTHREADS_VARGS_MD0 ( sp,
varbytes   ) 

Value:

((qt_sp_bottom_save = sp), \
  ((qt_t *)(((char *)(sp)) - \
        (QUICKTHREADS_VSTART_FRAME_SIZE(varbytes)-QUICKTHREADS_VSTART_LIST_BASE))))

Definition at line 553 of file powerpc_mach.h.

#define QUICKTHREADS_VARGS_MD1 ( sp   ) 

#define QUICKTHREADS_VARGT_INDEX   QUICKTHREADS_ARG_INDEX(0)

Definition at line 605 of file powerpc_mach.h.

#define QUICKTHREADS_VCLEANUP_INDEX   QUICKTHREADS_ARG_INDEX(3)

Definition at line 608 of file powerpc_mach.h.

#define QUICKTHREADS_VSTART_FRAME_SIZE ( varbytes   ) 

#define QUICKTHREADS_VSTART_LIST_BASE   (PPC_LINKAGE_AREA+PPC_PARAM_AREA(4))

Definition at line 498 of file powerpc_mach.h.

#define QUICKTHREADS_VSTARTUP_INDEX   QUICKTHREADS_ARG_INDEX(1)

Definition at line 606 of file powerpc_mach.h.

#define QUICKTHREADS_VSTKBASE   (QUICKTHREADS_BLOCKI_FRAME_SIZE+QUICKTHREADS_VSTART_LIST_BASE)

Definition at line 595 of file powerpc_mach.h.

#define QUICKTHREADS_VUSERF_INDEX   QUICKTHREADS_ARG_INDEX(2)

Definition at line 607 of file powerpc_mach.h.


Typedef Documentation

typedef unsigned long PPC_W

Definition at line 302 of file powerpc_mach.h.

typedef PPC_W qt_word_t

Definition at line 530 of file powerpc_mach.h.


Function Documentation

void qt_start ( void   ) 

void qt_vstart ( void   ) 


Generated on Wed Jan 21 15:32:11 2009 for SystemC by  doxygen 1.5.5