diff options
| author | bhgv <bhgv.empire@gmail.com> | 2020-05-28 12:49:41 +0300 |
|---|---|---|
| committer | bhgv <bhgv.empire@gmail.com> | 2020-05-28 12:49:41 +0300 |
| commit | 2b3bc21f3f7edb429302e81f54d2e3c0e89e5acb (patch) | |
| tree | a6ddafb5f0ebcdf9bca3fd8e4f56874e6faf15bd /emu/FreeRTOS | |
| parent | 8d7c6b15fa5733a3070003520a1d869c0635ef82 (diff) | |
sup. FreeRTOS riscV-64 (k210 cpu). 4th step
Diffstat (limited to 'emu/FreeRTOS')
| -rw-r--r-- | emu/FreeRTOS/devfs-posix.c | 10 | ||||
| -rw-r--r-- | emu/FreeRTOS/emu | 4 | ||||
| -rw-r--r-- | emu/FreeRTOS/kproc-xthreads.c | 7 | ||||
| -rw-r--r-- | emu/FreeRTOS/mkfile | 2 |
4 files changed, 21 insertions, 2 deletions
diff --git a/emu/FreeRTOS/devfs-posix.c b/emu/FreeRTOS/devfs-posix.c index 800078f..d563de9 100644 --- a/emu/FreeRTOS/devfs-posix.c +++ b/emu/FreeRTOS/devfs-posix.c @@ -65,6 +65,7 @@ struct User char rootdir[MAXROOT] = ROOT; +#if 0 //{} static User* uidmap[NID]; static User* gidmap[NID]; static QLock idl; @@ -74,6 +75,9 @@ static User* newuid(int); static User* newgid(int); static User* newuname(char*); static User* newgname(char*); +#else //{} +static QLock idl; +#endif //{} static Qid fsqid(struct stat *); static void fspath(Cname*, char*, char*); @@ -462,12 +466,15 @@ fsread(Chan *c, void *va, long n, vlong offset) qunlock(&FS(c)->oq); }else{ //{} if(!FS(c)->issocket){ +#if 0 //{} r = pread(FS(c)->fd, va, n, offset); if(r >= 0) return r; if(errno != ESPIPE && errno != EPIPE) oserror(); +#endif //{} //{} } + vfs.lseek(FS(c)->fd, offset, SEEK_SET); r = vfs.read(FS(c)->fd, va, n); if(r < 0) oserror(); @@ -481,12 +488,15 @@ fswrite(Chan *c, void *va, long n, vlong offset) long r; //{} if(!FS(c)->issocket){ +#if 0 //{} r = pwrite(FS(c)->fd, va, n, offset); if(r >= 0) return r; if(errno != ESPIPE && errno != EPIPE) oserror(); +#endif //{} //{} } + vfs.lseek(FS(c)->fd, offset, SEEK_SET); r = vfs.write(FS(c)->fd, va, n); if(r < 0) oserror(); diff --git a/emu/FreeRTOS/emu b/emu/FreeRTOS/emu index 0141c36..513acbf 100644 --- a/emu/FreeRTOS/emu +++ b/emu/FreeRTOS/emu @@ -41,6 +41,8 @@ lib 9 + iot + # lodepng link @@ -59,7 +61,7 @@ mod # freetype port - alloc + alloc-andr cache chan dev diff --git a/emu/FreeRTOS/kproc-xthreads.c b/emu/FreeRTOS/kproc-xthreads.c index ade5e35..2a6cc25 100644 --- a/emu/FreeRTOS/kproc-xthreads.c +++ b/emu/FreeRTOS/kproc-xthreads.c @@ -17,6 +17,10 @@ #include <semphr.h> +void* pvGetLuaState(); +void uxSetLuaState(void*); + + typedef SemaphoreHandle_t sem_t; typedef struct Osdep Osdep; @@ -220,10 +224,13 @@ osready(Proc *p) void kprocinit(Proc *p) { + uxSetLuaState(p); +#if 0 //{} if(pthread_key_create(&prdakey, NULL)) panic("key_create failed"); if(pthread_setspecific(prdakey, p)) panic("set specific thread data failed"); +#endif } #ifdef ANDROID diff --git a/emu/FreeRTOS/mkfile b/emu/FreeRTOS/mkfile index 62ff5bc..f6b9ff0 100644 --- a/emu/FreeRTOS/mkfile +++ b/emu/FreeRTOS/mkfile @@ -48,7 +48,7 @@ CFLAGS='-DROOT="'$ROOT'"' -DEMU \ -I$ROOT/libiot/include \ $CTHREADFLAGS $CFLAGS $EMUOPTIONS #SYSLIBS= $X11LIBS -lm -lpthread -SYSLIBS= -lm +#SYSLIBS= -lm default:V: $O.$CONF |
