Ignore:
Timestamp:
2011-09-19T16:31:00Z (15 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
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.
Message:

Merge mainline changes

File:
1 moved

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/mips64/include/fibril.h

    r3842a955 r26e7d6d  
    2727 */
    2828
    29 /** @addtogroup libcipc
     29/** @addtogroup libcmips64
    3030 * @{
    3131 */
    3232/** @file
     33 * @ingroup libcmips64
    3334 */
    3435
    35 #ifndef LIBC_FB_H_
    36 #define LIBC_FB_H_
     36#ifndef LIBC_mips64_FIBRIL_H_
     37#define LIBC_mips64_FIBRIL_H_
    3738
    38 #include <ipc/common.h>
     39#include <sys/types.h>
    3940
    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);
    7450
    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
     56typedef 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
     85static inline uintptr_t context_get_fp(context_t *ctx)
     86{
     87        return ctx->sp;
     88}
    8189
    8290#endif
Note: See TracChangeset for help on using the changeset viewer.