view TaskManager/kernel/ppe/SimpleTask.h @ 626:ab866bc8a624

64bit mode compatibility on Cell
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 16 Nov 2009 11:37:26 +0900
parents
children 0558abba673c
line wrap: on
line source

#ifndef INCLUDED_SIPMLE_TASK
#define INCLUDED_SIPMLE_TASK

#include "base.h"
#include "types.h"

#define MAX_PARAMS 8

class SimpleTask {
public: // variables

    BASE_NEW_DELETE(SimpleTask);
    int command;         // 4 byte
    memaddr self;         // 4 byte (or 8byte on 64bit mode)

    int param_size;        // 4 byte
    memaddr param[MAX_PARAMS]; // 4*MAX_PARAMS byte

public: // functions
    SimpleTask() {};

    SimpleTask(int r, void *read, int w, void *write) {
        param[0] = (memaddr)r; param[2] = (memaddr)w;
        param[1] = (memaddr)read; param[3] = (memaddr)write;
    };

    void set_input(void *i,int size) { param[0] = (memaddr)i; param[1] = (memaddr) size; };
    void set_output(void *o,int size) { param[2] = (memaddr)o; param[3] = (memaddr) size; };

};

typedef SimpleTask *SimpleTaskPtr;

#endif