[project] Generate syscalls from new interface DSL
This change adds a new interface DSL for specifying objects (with methods) and interfaces (that expose objects, and optionally have their own methods). Significant changes: - Add the new scripts/definitions Python module to parse the DSL - Add the new definitions directory containing DSL definition files - Use cog to generate syscall-related code in kernel and libj6 - Unify ordering of pointer + length pairs in interfaces
This commit is contained in:
27
definitions/objects/process.def
Normal file
27
definitions/objects/process.def
Normal file
@@ -0,0 +1,27 @@
|
||||
import "objects/kobject.def"
|
||||
|
||||
# Processes are a collection of handles and a virtual memory
|
||||
# space inside which threads are run.
|
||||
|
||||
object process : kobject {
|
||||
uid 0c69ee0b7502ba31
|
||||
|
||||
# Create a new empty process
|
||||
method create [constructor]
|
||||
|
||||
# Stop all threads and exit the given process
|
||||
method kill [destructor]
|
||||
|
||||
# Stop all threads and exit the current process
|
||||
method exit [static] {
|
||||
param result int32 # The result to retrun to the parent process
|
||||
}
|
||||
|
||||
# Start the given process running. Note that the entrypoint
|
||||
# address must be specified in the address space of the new
|
||||
# process.
|
||||
method start {
|
||||
param entrypoint address # The address of the main thread entrypoint
|
||||
param handles object kobject [list] # A list of parent handles to send to the child process
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user