[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:
@@ -1,21 +0,0 @@
|
||||
object channel : object {
|
||||
uid 3ea38b96aa0e54c8
|
||||
|
||||
capabilities [
|
||||
send
|
||||
receive
|
||||
close
|
||||
]
|
||||
|
||||
method create [constructor]
|
||||
method close [destructor cap:close]
|
||||
|
||||
method send [cap:send] {
|
||||
param data buffer [inout]
|
||||
}
|
||||
|
||||
method receive [cap:receive] {
|
||||
param data buffer [out]
|
||||
param flags uint64
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
import "objects/object.def"
|
||||
|
||||
import "objects/channel.def"
|
||||
import "objects/event.def"
|
||||
import "objects/mailbox.def"
|
||||
import "objects/process.def"
|
||||
@@ -12,12 +11,12 @@ interface syscalls [syscall] {
|
||||
uid 01d9b6a948961097
|
||||
|
||||
expose ref object
|
||||
expose ref system
|
||||
|
||||
expose ref event
|
||||
expose ref process
|
||||
expose ref thread
|
||||
expose ref mailbox
|
||||
expose ref channel
|
||||
expose ref process
|
||||
expose ref system
|
||||
expose ref thread
|
||||
expose ref vma
|
||||
|
||||
# Simple no-op syscall for testing
|
||||
|
||||
Reference in New Issue
Block a user