nixcalls are gone, they were an experiment.
time to move forward.
kernel changes will be in a separate patch.
files:
/sys/src/libc/mkfile mkfile
/sys/src/libc/9sys/mkfile mkfile.1
/sys/include/libc.h libc.h
/sys/include/tos.h tos.h
removed:
/sys/src/libc/thr
/sys/src/libc/9sys/nixcall.c
removed: /sys/src/libc/thr
removed: /sys/src/libc/9sys/nixcall.c
/sys/src/libc/mkfile:
mkfile.orig:3 c mkfile:3
< PORTDIRS=9sys 9syscall fmt port thr
---
> PORTDIRS=9sys 9syscall fmt port
/sys/src/libc/9sys/mkfile:
mkfile.1.orig:30 d mkfile.1:29
< nixcall.$O\
/sys/include/libc.h:
libc.h.orig:567 c libc.h:567
< #define QTAPPEND 0x40 /* type bit for append only files */
---
> #define QTAPPEND 0x40 /* type bit for append only files */
libc.h.orig:576 c libc.h:576
< #define DMAPPEND 0x40000000 /* mode bit for append only files */
---
> #define DMAPPEND 0x40000000 /* mode bit for append only files */
libc.h.orig:605 a libc.h:606,613
> /* execac */
> enum
> {
> EXTC = 0, /* exec on time-sharing */
> EXAC, /* want an AC for the exec'd image */
> EXXC, /* want an XC for the exec'd image */
> };
>
libc.h.orig:784,802 d libc.h:791
< /*
< * NIX queue based system call mechanism
< */
< typedef struct Nixcall Nixcall;
< typedef struct Nixret Nixret;
< #pragma incomplete Nixcall
< #pragma incomplete Nixret
<
< extern void nixcall(Nixcall*,int);
< extern void* nixret(Nixret*);
< extern void nixsyscall(void);
<
< /*
< * NIX threads using the queue based system call mechanism
< */
< extern int newthr(char*, void (*f)(int, void*[]), int, void*[]);
< extern int gettid(void);
< extern int tsyscall(int nr, ...);
< extern void texits(char *sts);
/sys/include/tos.h:
tos.h.orig:1,3 d tos.h:0
< typedef struct Callq Callq;
< typedef struct Nixcall Nixcall;
< typedef struct Nixret Nixret;
tos.h.orig:9 d tos.h:5
< #define CALLQSZ 512
tos.h.orig:11,35 d tos.h:6
< struct Nixcall
< {
< void* tag;
< int scall;
< va_list sarg;
< };
<
< struct Nixret
< {
< void* tag;
< int sret;
< char* err;
< };
<
< struct Callq
< {
< int ksleep;
< unsigned int qr; /* don't use uint for ape */
< unsigned int qw;
< unsigned int rr;
< unsigned int rw;
< Nixcall q[CALLQSZ];
< Nixret r[CALLQSZ];
< };
<
tos.h.orig:52 a tos.h:24,26
> /*
> * Fields below are not available on Plan 9 kernels.
> */
tos.h.orig:55 d tos.h:28
< Callq callq; /* NIX queue based system calls */