Implement sys_open() with sys_openat() (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 15 Sep 2015 20:00:13 +0000 (16:00 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 28 Sep 2015 19:14:00 +0000 (15:14 -0400)
commit381c6e29ea814432aee64e97948a7996db054219
treefe33961b7a45b5e06c5b38b9a929f518edac551d
parent88c2e9b911040f91602a8300119e9448c38323f1
Implement sys_open() with sys_openat() (XCC)

With namec_from(), we can now build openat() for 9ns.  This commit
builds sys_openat (and the 9ns version), and uses that as a wrapper for
sys_open.  Userspace cannot access this call yet.  Our VFS does not have
support for openat at all.

Also, unlike Linux, we allow an openat from any type of chan, not just a
directory - at least that's the case within the kernel.  What userspace
does (like glibc) is its own thing.

This changes a kernel header, though it shouldn't affect you.
kern/include/ns.h
kern/include/ros/fs.h
kern/src/ns/sysfile.c
kern/src/syscall.c