Changeset 26e7d6d in mainline for uspace/lib/c/arch/mips64/include/fibril.h
- Timestamp:
- 2011-09-19T16:31:00Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a347a11
- Parents:
- 3842a955 (diff), 086290d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - File:
-
- 1 moved
-
uspace/lib/c/arch/mips64/include/fibril.h (moved) (moved from uspace/lib/c/include/ipc/fb.h ) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/mips64/include/fibril.h
r3842a955 r26e7d6d 27 27 */ 28 28 29 /** @addtogroup libc ipc29 /** @addtogroup libcmips64 30 30 * @{ 31 31 */ 32 32 /** @file 33 * @ingroup libcmips64 33 34 */ 34 35 35 #ifndef LIBC_ FB_H_36 #define LIBC_ FB_H_36 #ifndef LIBC_mips64_FIBRIL_H_ 37 #define LIBC_mips64_FIBRIL_H_ 37 38 38 #include < ipc/common.h>39 #include <sys/types.h> 39 40 40 typedef enum { 41 FB_PUTCHAR = IPC_FIRST_USER_METHOD, 42 FB_CLEAR, 43 FB_GET_CSIZE, 44 FB_GET_COLOR_CAP, 45 FB_CURSOR_VISIBILITY, 46 FB_CURSOR_GOTO, 47 FB_SCROLL, 48 FB_VIEWPORT_SWITCH, 49 FB_VIEWPORT_CREATE, 50 FB_VIEWPORT_DELETE, 51 FB_SET_STYLE, 52 FB_SET_COLOR, 53 FB_SET_RGB_COLOR, 54 FB_GET_RESOLUTION, 55 FB_DRAW_TEXT_DATA, 56 FB_FLUSH, 57 FB_DRAW_PPM, 58 FB_PREPARE_SHM, 59 FB_DROP_SHM, 60 FB_SHM2PIXMAP, 61 FB_VP_DRAW_PIXMAP, 62 FB_VP2PIXMAP, 63 FB_DROP_PIXMAP, 64 FB_ANIM_CREATE, 65 FB_ANIM_DROP, 66 FB_ANIM_ADDPIXMAP, 67 FB_ANIM_CHGVP, 68 FB_ANIM_START, 69 FB_ANIM_STOP, 70 FB_POINTER_MOVE, 71 FB_SCREEN_YIELD, 72 FB_SCREEN_RECLAIM 73 } fb_request_t; 41 /* We define our own context_set, because we need to set 42 * the TLS pointer to the tcb+0x7000 43 * 44 * See tls_set in thread.h 45 */ 46 #define context_set(c, _pc, stack, size, ptls) \ 47 (c)->pc = (sysarg_t) (_pc); \ 48 (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA; \ 49 (c)->tls = ((sysarg_t)(ptls)) + 0x7000 + sizeof(tcb_t); 74 50 75 enum { 76 FB_CCAP_NONE = 0, 77 FB_CCAP_STYLE, 78 FB_CCAP_INDEXED, 79 FB_CCAP_RGB 80 }; 51 /* +16 is just for sure that the called function 52 * have space to store it's arguments 53 */ 54 #define SP_DELTA (8 + 16) 55 56 typedef struct { 57 uint64_t sp; 58 uint64_t pc; 59 60 uint64_t s0; 61 uint64_t s1; 62 uint64_t s2; 63 uint64_t s3; 64 uint64_t s4; 65 uint64_t s5; 66 uint64_t s6; 67 uint64_t s7; 68 uint64_t s8; 69 uint64_t gp; 70 uint64_t tls; /* Thread local storage (k1) */ 71 72 uint64_t f20; 73 uint64_t f21; 74 uint64_t f22; 75 uint64_t f23; 76 uint64_t f24; 77 uint64_t f25; 78 uint64_t f26; 79 uint64_t f27; 80 uint64_t f28; 81 uint64_t f29; 82 uint64_t f30; 83 } context_t; 84 85 static inline uintptr_t context_get_fp(context_t *ctx) 86 { 87 return ctx->sp; 88 } 81 89 82 90 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
