Mercurial > hg > Papers > 2020 > tobaru-master
view paper/src/context.h @ 14:3952ffd84dfe
context, etc
author | tobaru |
---|---|
date | Thu, 06 Feb 2020 17:45:09 +0900 |
parents | a4a1a68d8811 |
children |
line wrap: on
line source
struct Context { enum Code next; struct Worker* worker; struct TaskManager* taskManager; int codeNum; __code (**code) (struct Context*); union Data **data; void* heapStart; void* heap; long heapLimit; int dataNum; // task parameter int idgCount; //number of waiting dataGear int idg; int maxIdg; int odg; int maxOdg; int gpu; // GPU task struct Context* task; struct Element* taskList; #ifdef USE_CUDAWorker int num_exec; CUmodule module; CUfunction function; #endif /* multi dimension parameter */ int iterate; struct Iterator* iterator; enum Code before; }; union Data { .... ///mnt/dalmore-home/one/src/cbcxv6/src/gearsTools/../interface/vm.h struct vm { union Data* vm; uint low; uint hi; struct proc* p; pde_t* pgdir; char* init; uint sz; char* addr; struct inode* ip; uint offset; uint oldsz; uint newsz; char* uva; uint va; void* pp; uint len; uint phy_low; uint phy_hi; enum Code init_vmm; enum Code kpt_freerange; enum Code kpt_alloc; enum Code switchuvm; enum Code init_inituvm; enum Code loaduvm; enum Code allocuvm; enum Code clearpteu; enum Code copyuvm; enum Code uva2ka; enum Code copyout; enum Code paging_int; enum Code void_ret; enum Code next; } vm; .... #ifndef CbC_XV6_CONTEXT struct Context Context; }; // union Data end this is necessary for context generator