ppc32
[Libc]

ppc32 architecture dependent parts of libc More...

Files

file  arch/ppc32/include/atomic.h
file  arch/ppc32/include/endian.h
file  arch/ppc32/include/limits.h
file  arch/ppc32/include/psthread.h
file  regname.h
file  stackarg.h
file  arch/ppc32/include/thread.h
file  arch/ppc32/include/types.h
file  syscall.c
file  arch/ppc32/src/thread.c

Data Structures

struct  __attribute__
struct  tcb_t

Defines

#define __BYTE_ORDER   __BIG_ENDIAN
#define LONG_MIN   MIN_INT32
#define LONG_MAX   MAX_INT32
#define ULONG_MIN   MIN_UINT32
#define ULONG_MAX   MAX_UINT32
#define context_set(c, _pc, stack, size, ptls)
#define SP_DELTA   16
#define cr0   0
#define cr1   1
#define cr2   2
#define cr3   3
#define cr4   4
#define cr5   5
#define cr6   6
#define cr7   7
#define r0   0
#define r1   1
#define r2   2
#define r3   3
#define r4   4
#define r5   5
#define r6   6
#define r7   7
#define r8   8
#define r9   9
#define r10   10
#define r11   11
#define r12   12
#define r13   13
#define r14   14
#define r15   15
#define r16   16
#define r17   17
#define r18   18
#define r19   19
#define r20   20
#define r21   21
#define r22   22
#define r23   23
#define r24   24
#define r25   25
#define r26   26
#define r27   27
#define r28   28
#define r29   29
#define r30   30
#define r31   31
#define sp   1
#define fr0   0
#define fr1   1
#define fr2   2
#define fr3   3
#define fr4   4
#define fr5   5
#define fr6   6
#define fr7   7
#define fr8   8
#define fr9   9
#define fr10   10
#define fr11   11
#define fr12   12
#define fr13   13
#define fr14   14
#define fr15   15
#define fr16   16
#define fr17   17
#define fr18   18
#define fr19   19
#define fr20   20
#define fr21   21
#define fr22   22
#define fr23   23
#define fr24   24
#define fr25   25
#define fr26   26
#define fr27   27
#define fr28   28
#define fr29   29
#define fr30   30
#define fr31   31
#define vr0   0
#define vr1   1
#define vr2   2
#define vr3   3
#define vr4   4
#define vr5   5
#define vr6   6
#define vr7   7
#define vr8   8
#define vr9   9
#define vr10   10
#define vr11   11
#define vr12   12
#define vr13   13
#define vr14   14
#define vr15   15
#define vr16   16
#define vr17   17
#define vr18   18
#define vr19   19
#define vr20   20
#define vr21   21
#define vr22   22
#define vr23   23
#define vr24   24
#define vr25   25
#define vr26   26
#define vr27   27
#define vr28   28
#define vr29   29
#define vr30   30
#define vr31   31
#define evr0   0
#define evr1   1
#define evr2   2
#define evr3   3
#define evr4   4
#define evr5   5
#define evr6   6
#define evr7   7
#define evr8   8
#define evr9   9
#define evr10   10
#define evr11   11
#define evr12   12
#define evr13   13
#define evr14   14
#define evr15   15
#define evr16   16
#define evr17   17
#define evr18   18
#define evr19   19
#define evr20   20
#define evr21   21
#define evr22   22
#define evr23   23
#define evr24   24
#define evr25   25
#define evr26   26
#define evr27   27
#define evr28   28
#define evr29   29
#define evr30   30
#define evr31   31
#define PPC_TP_OFFSET   0x7000

Typedefs

typedef unsigned int sysarg_t
typedef unsigned int size_t
typedef signed int ssize_t
typedef ssize_t off_t
typedef char int8_t
typedef short int int16_t
typedef int int32_t
typedef long long int int64_t
typedef unsigned char uint8_t
typedef unsigned short int uint16_t
typedef unsigned int uint32_t
typedef unsigned long long int uint64_t

Functions

static void atomic_inc (atomic_t *val)
static void atomic_dec (atomic_t *val)
static long atomic_postinc (atomic_t *val)
static long atomic_postdec (atomic_t *val)
static long atomic_preinc (atomic_t *val)
static long atomic_predec (atomic_t *val)
static void __tcb_set (tcb_t *tcb)
static tcb_t__tcb_get (void)
sysarg_t __syscall (const sysarg_t p1, const sysarg_t p2, const sysarg_t p3, const sysarg_t p4, const syscall_t id)
tcb_t__alloc_tls (void **data, size_t size)
void __free_tls_arch (tcb_t *tcb, size_t size)

Detailed Description


Define Documentation

#define __BYTE_ORDER   __BIG_ENDIAN
 

Definition at line 42 of file arch/ppc32/include/endian.h.

#define LONG_MIN   MIN_INT32
 

Definition at line 38 of file arch/ppc32/include/limits.h.

Referenced by strtol().

#define LONG_MAX   MAX_INT32
 

Definition at line 39 of file arch/ppc32/include/limits.h.

Referenced by strtol().

#define ULONG_MIN   MIN_UINT32
 

Definition at line 40 of file arch/ppc32/include/limits.h.

#define ULONG_MAX   MAX_UINT32
 

Definition at line 41 of file arch/ppc32/include/limits.h.

Referenced by _strtoul().

#define context_set c,
_pc,
stack,
size,
ptls   ) 
 

Value:

(c)->pc = (sysarg_t) (_pc);                             \
        (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA;     \
        (c)->tls = ((sysarg_t) (ptls)) + 0x7000 + sizeof(tcb_t);

Definition at line 45 of file arch/ppc32/include/psthread.h.

Referenced by psthread_create().

#define SP_DELTA   16
 

Definition at line 50 of file arch/ppc32/include/psthread.h.

#define cr0   0
 

Definition at line 39 of file regname.h.

#define cr1   1
 

Definition at line 40 of file regname.h.

#define cr2   2
 

Definition at line 41 of file regname.h.

#define cr3   3
 

Definition at line 42 of file regname.h.

#define cr4   4
 

Definition at line 43 of file regname.h.

#define cr5   5
 

Definition at line 44 of file regname.h.

#define cr6   6
 

Definition at line 45 of file regname.h.

#define cr7   7
 

Definition at line 46 of file regname.h.

#define r0   0
 

Definition at line 49 of file regname.h.

Referenced by read_stdin().

#define r1   1
 

Definition at line 50 of file regname.h.

Referenced by read_stdin().

#define r2   2
 

Definition at line 51 of file regname.h.

#define r3   3
 

Definition at line 52 of file regname.h.

#define r4   4
 

Definition at line 53 of file regname.h.

#define r5   5
 

Definition at line 54 of file regname.h.

#define r6   6
 

Definition at line 55 of file regname.h.

#define r7   7
 

Definition at line 56 of file regname.h.

#define r8   8
 

Definition at line 57 of file regname.h.

#define r9   9
 

Definition at line 58 of file regname.h.

#define r10   10
 

Definition at line 59 of file regname.h.

#define r11   11
 

Definition at line 60 of file regname.h.

#define r12   12
 

Definition at line 61 of file regname.h.

#define r13   13
 

Definition at line 62 of file regname.h.

#define r14   14
 

Definition at line 63 of file regname.h.

#define r15   15
 

Definition at line 64 of file regname.h.

#define r16   16
 

Definition at line 65 of file regname.h.

#define r17   17
 

Definition at line 66 of file regname.h.

#define r18   18
 

Definition at line 67 of file regname.h.

#define r19   19
 

Definition at line 68 of file regname.h.

#define r20   20
 

Definition at line 69 of file regname.h.

#define r21   21
 

Definition at line 70 of file regname.h.

#define r22   22
 

Definition at line 71 of file regname.h.

#define r23   23
 

Definition at line 72 of file regname.h.

#define r24   24
 

Definition at line 73 of file regname.h.

#define r25   25
 

Definition at line 74 of file regname.h.

#define r26   26
 

Definition at line 75 of file regname.h.

#define r27   27
 

Definition at line 76 of file regname.h.

#define r28   28
 

Definition at line 77 of file regname.h.

#define r29   29
 

Definition at line 78 of file regname.h.

#define r30   30
 

Definition at line 79 of file regname.h.

#define r31   31
 

Definition at line 80 of file regname.h.

#define sp   1
 

Definition at line 83 of file regname.h.

Referenced by add_segment(), has_segment_link(), release_unused_segments(), segment_holding(), and sys_trim().

#define fr0   0
 

Definition at line 86 of file regname.h.

#define fr1   1
 

Definition at line 87 of file regname.h.

#define fr2   2
 

Definition at line 88 of file regname.h.

#define fr3   3
 

Definition at line 89 of file regname.h.

#define fr4   4
 

Definition at line 90 of file regname.h.

#define fr5   5
 

Definition at line 91 of file regname.h.

#define fr6   6
 

Definition at line 92 of file regname.h.

#define fr7   7
 

Definition at line 93 of file regname.h.

#define fr8   8
 

Definition at line 94 of file regname.h.

#define fr9   9
 

Definition at line 95 of file regname.h.

#define fr10   10
 

Definition at line 96 of file regname.h.

#define fr11   11
 

Definition at line 97 of file regname.h.

#define fr12   12
 

Definition at line 98 of file regname.h.

#define fr13   13
 

Definition at line 99 of file regname.h.

#define fr14   14
 

Definition at line 100 of file regname.h.

#define fr15   15
 

Definition at line 101 of file regname.h.

#define fr16   16
 

Definition at line 102 of file regname.h.

#define fr17   17
 

Definition at line 103 of file regname.h.

#define fr18   18
 

Definition at line 104 of file regname.h.

#define fr19   19
 

Definition at line 105 of file regname.h.

#define fr20   20
 

Definition at line 106 of file regname.h.

#define fr21   21
 

Definition at line 107 of file regname.h.

#define fr22   22
 

Definition at line 108 of file regname.h.

#define fr23   23
 

Definition at line 109 of file regname.h.

#define fr24   24
 

Definition at line 110 of file regname.h.

#define fr25   25
 

Definition at line 111 of file regname.h.

#define fr26   26
 

Definition at line 112 of file regname.h.

#define fr27   27
 

Definition at line 113 of file regname.h.

#define fr28   28
 

Definition at line 114 of file regname.h.

#define fr29   29
 

Definition at line 115 of file regname.h.

#define fr30   30
 

Definition at line 116 of file regname.h.

#define fr31   31
 

Definition at line 117 of file regname.h.

#define vr0   0
 

Definition at line 119 of file regname.h.

#define vr1   1
 

Definition at line 120 of file regname.h.

#define vr2   2
 

Definition at line 121 of file regname.h.

#define vr3   3
 

Definition at line 122 of file regname.h.

#define vr4   4
 

Definition at line 123 of file regname.h.

#define vr5   5
 

Definition at line 124 of file regname.h.

#define vr6   6
 

Definition at line 125 of file regname.h.

#define vr7   7
 

Definition at line 126 of file regname.h.

#define vr8   8
 

Definition at line 127 of file regname.h.

#define vr9   9
 

Definition at line 128 of file regname.h.

#define vr10   10
 

Definition at line 129 of file regname.h.

#define vr11   11
 

Definition at line 130 of file regname.h.

#define vr12   12
 

Definition at line 131 of file regname.h.

#define vr13   13
 

Definition at line 132 of file regname.h.

#define vr14   14
 

Definition at line 133 of file regname.h.

#define vr15   15
 

Definition at line 134 of file regname.h.

#define vr16   16
 

Definition at line 135 of file regname.h.

#define vr17   17
 

Definition at line 136 of file regname.h.

#define vr18   18
 

Definition at line 137 of file regname.h.

#define vr19   19
 

Definition at line 138 of file regname.h.

#define vr20   20
 

Definition at line 139 of file regname.h.

#define vr21   21
 

Definition at line 140 of file regname.h.

#define vr22   22
 

Definition at line 141 of file regname.h.

#define vr23   23
 

Definition at line 142 of file regname.h.

#define vr24   24
 

Definition at line 143 of file regname.h.

#define vr25   25
 

Definition at line 144 of file regname.h.

#define vr26   26
 

Definition at line 145 of file regname.h.

#define vr27   27
 

Definition at line 146 of file regname.h.

#define vr28   28
 

Definition at line 147 of file regname.h.

#define vr29   29
 

Definition at line 148 of file regname.h.

#define vr30   30
 

Definition at line 149 of file regname.h.

#define vr31   31
 

Definition at line 150 of file regname.h.

#define evr0   0
 

Definition at line 152 of file regname.h.

#define evr1   1
 

Definition at line 153 of file regname.h.

#define evr2   2
 

Definition at line 154 of file regname.h.

#define evr3   3
 

Definition at line 155 of file regname.h.

#define evr4   4
 

Definition at line 156 of file regname.h.

#define evr5   5
 

Definition at line 157 of file regname.h.

#define evr6   6
 

Definition at line 158 of file regname.h.

#define evr7   7
 

Definition at line 159 of file regname.h.

#define evr8   8
 

Definition at line 160 of file regname.h.

#define evr9   9
 

Definition at line 161 of file regname.h.

#define evr10   10
 

Definition at line 162 of file regname.h.

#define evr11   11
 

Definition at line 163 of file regname.h.

#define evr12   12
 

Definition at line 164 of file regname.h.

#define evr13   13
 

Definition at line 165 of file regname.h.

#define evr14   14
 

Definition at line 166 of file regname.h.

#define evr15   15
 

Definition at line 167 of file regname.h.

#define evr16   16
 

Definition at line 168 of file regname.h.

#define evr17   17
 

Definition at line 169 of file regname.h.

#define evr18   18
 

Definition at line 170 of file regname.h.

#define evr19   19
 

Definition at line 171 of file regname.h.

#define evr20   20
 

Definition at line 172 of file regname.h.

#define evr21   21
 

Definition at line 173 of file regname.h.

#define evr22   22
 

Definition at line 174 of file regname.h.

#define evr23   23
 

Definition at line 175 of file regname.h.

#define evr24   24
 

Definition at line 176 of file regname.h.

#define evr25   25
 

Definition at line 177 of file regname.h.

#define evr26   26
 

Definition at line 178 of file regname.h.

#define evr27   27
 

Definition at line 179 of file regname.h.

#define evr28   28
 

Definition at line 180 of file regname.h.

#define evr29   29
 

Definition at line 181 of file regname.h.

#define evr30   30
 

Definition at line 182 of file regname.h.

#define evr31   31
 

Definition at line 183 of file regname.h.

#define PPC_TP_OFFSET   0x7000
 

Definition at line 38 of file arch/ppc32/include/thread.h.

Referenced by __tcb_get(), and __tcb_set().


Typedef Documentation

typedef unsigned int sysarg_t
 

Definition at line 38 of file arch/ppc32/include/types.h.

typedef unsigned int size_t
 

Definition at line 39 of file arch/ppc32/include/types.h.

typedef signed int ssize_t
 

Definition at line 40 of file arch/ppc32/include/types.h.

typedef ssize_t off_t
 

Definition at line 41 of file arch/ppc32/include/types.h.

typedef char int8_t
 

Definition at line 43 of file arch/ppc32/include/types.h.

typedef short int int16_t
 

Definition at line 44 of file arch/ppc32/include/types.h.

typedef int int32_t
 

Definition at line 45 of file arch/ppc32/include/types.h.

typedef long long int int64_t
 

Definition at line 46 of file arch/ppc32/include/types.h.

typedef unsigned char uint8_t
 

Definition at line 48 of file arch/ppc32/include/types.h.

typedef unsigned short int uint16_t
 

Definition at line 49 of file arch/ppc32/include/types.h.

typedef unsigned int uint32_t
 

Definition at line 50 of file arch/ppc32/include/types.h.

typedef unsigned long long int uint64_t
 

Definition at line 51 of file arch/ppc32/include/types.h.


Function Documentation

static void atomic_inc atomic_t val  )  [static]
 

Definition at line 38 of file arch/ppc32/include/atomic.h.

References atomic::count.

Referenced by atomic_postinc(), atomic_preinc(), and futex_down_timeout().

static void atomic_dec atomic_t val  )  [static]
 

Definition at line 53 of file arch/ppc32/include/atomic.h.

References atomic::count.

Referenced by atomic_postdec(), and atomic_predec().

static long atomic_postinc atomic_t val  )  [static]
 

Definition at line 68 of file arch/ppc32/include/atomic.h.

References atomic_inc(), and atomic::count.

Referenced by futex_up().

Here is the call graph for this function:

static long atomic_postdec atomic_t val  )  [static]
 

Definition at line 74 of file arch/ppc32/include/atomic.h.

References atomic_dec(), and atomic::count.

Here is the call graph for this function:

static long atomic_preinc atomic_t val  )  [static]
 

Definition at line 80 of file arch/ppc32/include/atomic.h.

References atomic_inc(), and atomic::count.

Here is the call graph for this function:

static long atomic_predec atomic_t val  )  [static]
 

Definition at line 86 of file arch/ppc32/include/atomic.h.

References atomic_dec(), and atomic::count.

Referenced by futex_down_timeout().

Here is the call graph for this function:

static void __tcb_set tcb_t tcb  )  [static]
 

Definition at line 44 of file arch/ppc32/include/thread.h.

References PPC_TP_OFFSET.

Referenced by __main(), and __thread_main().

static tcb_t* __tcb_get void   )  [static]
 

Definition at line 56 of file arch/ppc32/include/thread.h.

References PPC_TP_OFFSET.

Referenced by __exit(), psthread_get_id(), psthread_main(), and psthread_schedule_next_adv().

sysarg_t __syscall const sysarg_t  p1,
const sysarg_t  p2,
const sysarg_t  p3,
const sysarg_t  p4,
const syscall_t  id
 

Definition at line 39 of file syscall.c.

tcb_t* __alloc_tls void **  data,
size_t  size
 

Allocate TLS & TCB for initial module threads

Parameters:
data Start of data section
Returns:
pointer to tcb_t structure

Definition at line 44 of file arch/ppc32/src/thread.c.

Referenced by __make_tls().

void __free_tls_arch tcb_t tcb,
size_t  size
 

Definition at line 53 of file arch/ppc32/src/thread.c.

Referenced by __free_tls().


Generated on Sun Jun 18 18:14:09 2006 for HelenOS Userspace (ppc32) by  doxygen 1.4.6