view TaskManager/include/types.h @ 366:09f33c51a204

rename include/TaskManager/* and add memory
author aaa
date Mon, 27 Jul 2009 15:51:18 +0900
parents include/TaskManager/types.h@f8769040a5df
children c7a4818cdfcb
line wrap: on
line source

#ifndef INCLUDED_TYPES
#define INCLUDED_TYPES

#include <stdint.h>

typedef uint32_t uint32;
typedef uint64_t uint64;
#ifdef SPU
typedef uint64_t memaddr;
#else
#if (sizeof (void*) == 8)
typedef uint64_t memaddr;
#else
typedef uint32_t memaddr;
#endif
#endif

#define SPE_ALIGNMENT 16
#define SPE_ALIGNMENT_FULL 128
#define SPE_ALIGN __attribute__((aligned(SPE_ALIGNMENT)))
#define SPE_ALIGN_FULL __attribute__((aligned(SPE_ALIGNMENT_FULL))
#define ROUND_UP_ALIGN(value, alignment) \
    (((value) + ((alignment) - 1))&(~((alignment)-1)))
#define DEFAULT_ALIGNMENT SPE_ALIGNMENT
//#define DEFAULT_ALIGNMENT SPE_ALIGNMENT_FULL

#define DMA_MAX_SIZE 16384

#define round_up16(value)  ROUND_UP_ALIGN(value, 16)
#define round_up128(value) ROUND_UP_ALIGN(value, 128)

// ここも typedef しとくか?
enum {
// どの方向かで enum 分けるだろjk...
// PPE -> SPE 
    MY_SPE_NOP = 0,
    MY_SPE_COMMAND_EXIT,
    MY_SPE_COMMAND_GO,

// SPE -> PPE
    MY_SPE_STATUS_BUSY,
    MY_SPE_STATUS_READY,
    MY_SPE_COMMAND_MALLOC,
};

#define MAX_USE_SPE_NUM 6

typedef enum {
    CPU_PPE = 0, // default
    CPU_SPE = 1,
    SPE_ANY = CPU_SPE,
    SPE_0 = 2,
    SPE_1 = 3,
    SPE_2 = 4,
    SPE_3 = 5,
    SPE_4 = 6,
    SPE_5 = 7,
} CPU_TYPE;

#endif