Changeset fca4207 in mainline for libc/arch/ppc32/include/psthread.h


Ignore:
Timestamp:
2006-05-04T11:04:23Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4a7c273
Parents:
f33cb0b9
Message:

preliminary TLS & pthread support for ppc32

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libc/arch/ppc32/include/psthread.h

    rf33cb0b9 rfca4207  
    3232#include <types.h>
    3333
     34/* We define our own context_set, because we need to set
     35 * the TLS pointer to the tcb+0x7000
     36 *
     37 * See tls_set in thread.h
     38 */
    3439#define context_set(c, _pc, stack, size, ptls)                  \
    3540        (c)->pc = (sysarg_t) (_pc);                             \
    3641        (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA;     \
    37         (c)->tls = ((sysarg_t)(ptls)) + 0x7000 + sizeof(tcb_t);
     42        (c)->tls = ((sysarg_t) (ptls)) + 0x7000 + sizeof(tcb_t);
    3843
    39 #define SP_DELTA        (8+16)
     44#define SP_DELTA        16
    4045
    41 typedef struct  {
     46typedef struct {
    4247        uint32_t sp;
    4348        uint32_t pc;
    4449       
    4550        uint32_t tls;
    46 } context_t;
     51        uint32_t r13;
     52        uint32_t r14;
     53        uint32_t r15;
     54        uint32_t r16;
     55        uint32_t r17;
     56        uint32_t r18;
     57        uint32_t r19;
     58        uint32_t r20;
     59        uint32_t r21;
     60        uint32_t r22;
     61        uint32_t r23;
     62        uint32_t r24;
     63        uint32_t r25;
     64        uint32_t r26;
     65        uint32_t r27;
     66        uint32_t r28;
     67        uint32_t r29;
     68        uint32_t r30;
     69        uint32_t r31;
     70       
     71        uint32_t cr;
     72} __attribute__ ((packed)) context_t;
    4773
    4874#endif
Note: See TracChangeset for help on using the changeset viewer.