view example/mainMem/spe/Hello.cc @ 638:671fca057ad3

hmmmm
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 19 Nov 2009 18:18:20 +0900
parents ab866bc8a624
children da49d9e458dc
line wrap: on
line source

#include <stdio.h>
#include "Hello.h"
#include "Func.h"

/* これは必須 */
SchedDefineTask(Hello);

#define PP_STORE 3
#define SIZE (4096*sizeof(int))

static int
run(SchedTask *smanager, void *rbuf, void *wbuf)
{
    int task_id = (long)smanager->get_param(0);
    int *ptr = 0;
#if 1
    ptr = (int*)smanager->allocate(SIZE);

    smanager->mainMem_alloc(0, SIZE);

    int i;
    for(i=0;i<4096;i++) {
	ptr[i] = i;
    }
#endif

    void *next = 0;
#if 1
    smanager->mainMem_wait();
    next = (void *)smanager->mainMem_get(0);

    smanager->dma_wait(PP_STORE);
    smanager->dma_store(ptr, (memaddr)next,
		SIZE, PP_STORE);
#endif


    smanager->fprintf(smanager->stderr_,"sizeof(int) = [%d] sizeof(void*)=[%d]\n", (int)sizeof(int),(int)sizeof(void*));
    smanager->fprintf(smanager->stderr_,"[%d] Main Mem %0x len %d\n", task_id, (unsigned int)next,(int)SIZE);

    smanager->free_(ptr);
    return 0;
}