X-Git-Url: http://sraa.de/git/?a=blobdiff_plain;f=minidol%2Flib%2Findex.c;fp=minidol%2Flib%2Findex.c;h=4841b7db42c0b798b938fb0a978896aeb7bde623;hb=dea7a4fb1ed110d3ce6e6d9255103d724bd66c0e;hp=0000000000000000000000000000000000000000;hpb=3e30b001296fb059cb070498bbe5d8e8834cd3e3;p=jump.git diff --git a/minidol/lib/index.c b/minidol/lib/index.c new file mode 100644 index 0000000..4841b7d --- /dev/null +++ b/minidol/lib/index.c @@ -0,0 +1,20 @@ +/* index.c: some index calculations */ + +#include + +#include "e_lib.h" + +/* some defines */ +#define CORE0 0x808 /* coreid of first core */ +#define CORES_PER_ROW 4 /* cores per row - 4 on E16G3 */ + +uint32_t core_id2lin(e_coreid_t coreid) +{ /* take coreid, return linear index */ + return((coreid-CORE0) / (64/CORES_PER_ROW) + (coreid-CORE0)%64); +} + +uint32_t core_lin2id(uint32_t eidx) +{ /* take linear index, return coreid */ + return(64 * eidx / CORES_PER_ROW + eidx % CORES_PER_ROW + CORE0); +} +