[kernel] Change VMA syscall addr param to inout
This change allows the `vma_map` and `vma_create_map` syscalls to map to addresses other than the one specified, and therefore makes the address parameter to those syscalls `inout` in order to return the mapped address. Also add the `exact` flag for specifying that mapping needs to be done at the exact address given. If the mapping collides with another, the new `j6_err_collision` error is returned.
This commit is contained in:
@@ -17,13 +17,14 @@ object vma : object {
|
||||
|
||||
method create_map [constructor cap:map] {
|
||||
param size size
|
||||
param address address
|
||||
param address address [inout]
|
||||
param flags uint32
|
||||
}
|
||||
|
||||
method map [cap:map] {
|
||||
param process ref process [optional]
|
||||
param address address
|
||||
param address address [inout]
|
||||
param flags uint32
|
||||
}
|
||||
|
||||
method unmap [cap:unmap] {
|
||||
|
||||
Reference in New Issue
Block a user