[kernel] First steps at removing channel objects

This commit does a number of things to start the transition of channels
from kernel to user space:

- Remove channel objects / syscalls from the kernel
- Add mutex type in libj6
- Add condition type in libj6
- Add a `ring` type flag for VMA syscalls to create ring buffers
- Implement a rudimentary shared memory channel using all of the above
This commit is contained in:
Justin C. Miller
2023-03-16 19:32:52 -07:00
parent ed95574c24
commit 9fa588566f
20 changed files with 323 additions and 251 deletions

View File

@@ -4,6 +4,8 @@ j6 = module("j6",
kind = "lib",
deps = [ "util" ],
sources = [
"channel.cpp",
"condition.cpp",
"init.cpp",
"init.s",
"mutex.cpp",
@@ -15,6 +17,8 @@ j6 = module("j6",
],
public_headers = [
"j6/cap_flags.h.cog",
"j6/channel.hh",
"j6/condition.hh",
"j6/errors.h",
"j6/flags.h",
"j6/init.h",