aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorAnge Albertini <corkami@google.com>2022-10-31 11:29:35 +0000
committerChris Palmer <snackypants@gmail.com>2022-10-31 13:28:10 -0700
commitef0e1b2588d08cbb2d304ba8345aee89863fbe4f (patch)
treeb0b27648d76c77329096f9a307a9aa7ac6d6445e /sys
parent43f72c2d1ec13334e7f6dbff1992d22ebd2d0c3d (diff)
sys/fuchsia: updated job syscalls definitions
Diffstat (limited to 'sys')
-rw-r--r--sys/fuchsia/job.txt31
-rw-r--r--sys/fuchsia/job_amd64.const34
-rw-r--r--sys/fuchsia/job_arm64.const34
-rw-r--r--sys/fuchsia/jobs_amd64.const18
-rw-r--r--sys/fuchsia/jobs_arm64.const18
5 files changed, 93 insertions, 42 deletions
diff --git a/sys/fuchsia/job.txt b/sys/fuchsia/job.txt
index b736b002a..29483840b 100644
--- a/sys/fuchsia/job.txt
+++ b/sys/fuchsia/job.txt
@@ -10,15 +10,34 @@ resource zx_job[zx_task]
zx_job_create(job zx_job, options const[0], out ptr[out, zx_job])
-zx_job_set_policy(job_handle zx_job, options flags[job_policy_options], topic const[ZX_JOB_POL_BASIC], policy ptr[in, array[zx_policy_basic]], count len[policy])
+zx_job_set_policy$BASIC_V1(job_handle zx_job, options flags[job_policy_options], topic const[ZX_JOB_POL_BASIC_V1], policy ptr[in, array[zx_policy_basic_v1]], count len[policy])
+zx_job_set_policy$BASIC_V2(job_handle zx_job, options flags[job_policy_options], topic const[ZX_JOB_POL_BASIC_V2], policy ptr[in, array[zx_policy_basic_v2]], count len[policy])
+zx_job_set_policy$TIMER_SLACK(job_handle zx_job, options flags[job_policy_options], topic const[ZX_JOB_POL_TIMER_SLACK], policy ptr[in, array[zx_policy_timer_slack]], count len[policy])
+zx_job_set_critical(job zx_job, options flags[job_critical_options], process zx_process)
-zx_job_set_critical(job zx_job, options const[0], process zx_process)
+zx_policy_basic_v1 {
+ condition flags[zx_policy_condition, int32]
+ policy flags[zx_policy_action, int32]
+}
-zx_policy_basic {
+zx_policy_basic_v2 {
condition flags[zx_policy_condition, int32]
- policy flags[zx_policy_policy, int32]
+ action flags[zx_policy_action, int32]
+ flags flags[zx_policy_flags, int32]
+}
+
+zx_policy_timer_slack {
+ min_slack int64
+ default_mode flags[zx_policy_timer_mode, int32]
+# not mentioned in `job.fidl` but present in `policy.h`
+# padding1 array[int8, 4]
}
job_policy_options = ZX_JOB_POL_RELATIVE, ZX_JOB_POL_ABSOLUTE
-zx_policy_condition = ZX_POL_BAD_HANDLE, ZX_POL_WRONG_OBJECT, ZX_POL_VMAR_WX, ZX_POL_NEW_VMO, ZX_POL_NEW_CHANNEL, ZX_POL_NEW_EVENT, ZX_POL_NEW_PORT, ZX_POL_NEW_SOCKET, ZX_POL_NEW_FIFO, ZX_POL_NEW_TIMER, ZX_POL_NEW_ANY
-zx_policy_policy = ZX_POL_ACTION_ALLOW, ZX_POL_ACTION_DENY, ZX_POL_ACTION_KILL
+
+zx_policy_condition = ZX_POL_BAD_HANDLE, ZX_POL_WRONG_OBJECT, ZX_POL_VMAR_WX, ZX_POL_NEW_VMO, ZX_POL_NEW_CHANNEL, ZX_POL_NEW_EVENT, ZX_POL_NEW_PORT, ZX_POL_NEW_SOCKET, ZX_POL_NEW_FIFO, ZX_POL_NEW_TIMER, ZX_POL_NEW_ANY, ZX_POL_NEW_EVENTPAIR, ZX_POL_NEW_PROCESS, ZX_POL_NEW_PROFILE, ZX_POL_NEW_PAGER, ZX_POL_AMBIENT_MARK_VMO_EXEC
+zx_policy_action = ZX_POL_ACTION_ALLOW, ZX_POL_ACTION_DENY, ZX_POL_ACTION_KILL, ZX_POL_ACTION_ALLOW_EXCEPTION, ZX_POL_ACTION_DENY_EXCEPTION
+zx_policy_flags = ZX_POL_OVERRIDE_ALLOW, ZX_POL_OVERRIDE_DENY
+zx_policy_timer_mode = ZX_TIMER_SLACK_CENTER, ZX_TIMER_SLACK_EARLY, ZX_TIMER_SLACK_LATE
+
+job_critical_options = ZX_JOB_CRITICAL_PROCESS_RETCODE_NONZERO
diff --git a/sys/fuchsia/job_amd64.const b/sys/fuchsia/job_amd64.const
new file mode 100644
index 000000000..26a12d805
--- /dev/null
+++ b/sys/fuchsia/job_amd64.const
@@ -0,0 +1,34 @@
+# AUTOGENERATED FILE
+ZX_JOB_POL_ABSOLUTE = 1
+ZX_JOB_POL_BASIC = 0
+ZX_JOB_POL_RELATIVE = 0
+ZX_JOB_POL_BASIC_V1 = 0
+ZX_JOB_POL_BASIC_V2 = 0x01000000
+ZX_JOB_POL_TIMER_SLACK = 1
+ZX_POL_ACTION_ALLOW = 0
+ZX_POL_ACTION_DENY = 1
+ZX_POL_ACTION_ALLOW_EXCEPTION = 2
+ZX_POL_ACTION_DENY_EXCEPTION = 3
+ZX_POL_ACTION_KILL = 4
+ZX_POL_BAD_HANDLE = 0
+ZX_POL_NEW_ANY = 3
+ZX_POL_NEW_CHANNEL = 5
+ZX_POL_NEW_EVENT = 6
+ZX_POL_NEW_FIFO = 10
+ZX_POL_NEW_PORT = 8
+ZX_POL_NEW_SOCKET = 9
+ZX_POL_NEW_TIMER = 11
+ZX_POL_NEW_VMO = 4
+ZX_POL_VMAR_WX = 2
+ZX_POL_WRONG_OBJECT = 1
+ZX_POL_NEW_EVENTPAIR = 7
+ZX_POL_NEW_PROCESS = 12
+ZX_POL_NEW_PROFILE = 13
+ZX_POL_NEW_PAGER = 14
+ZX_POL_AMBIENT_MARK_VMO_EXEC = 15
+ZX_TIMER_SLACK_CENTER = 0
+ZX_TIMER_SLACK_EARLY = 1
+ZX_TIMER_SLACK_LATE = 2
+ZX_POL_OVERRIDE_ALLOW = 0
+ZX_POL_OVERRIDE_DENY = 1
+ZX_JOB_CRITICAL_PROCESS_RETCODE_NONZERO = 1
diff --git a/sys/fuchsia/job_arm64.const b/sys/fuchsia/job_arm64.const
new file mode 100644
index 000000000..26a12d805
--- /dev/null
+++ b/sys/fuchsia/job_arm64.const
@@ -0,0 +1,34 @@
+# AUTOGENERATED FILE
+ZX_JOB_POL_ABSOLUTE = 1
+ZX_JOB_POL_BASIC = 0
+ZX_JOB_POL_RELATIVE = 0
+ZX_JOB_POL_BASIC_V1 = 0
+ZX_JOB_POL_BASIC_V2 = 0x01000000
+ZX_JOB_POL_TIMER_SLACK = 1
+ZX_POL_ACTION_ALLOW = 0
+ZX_POL_ACTION_DENY = 1
+ZX_POL_ACTION_ALLOW_EXCEPTION = 2
+ZX_POL_ACTION_DENY_EXCEPTION = 3
+ZX_POL_ACTION_KILL = 4
+ZX_POL_BAD_HANDLE = 0
+ZX_POL_NEW_ANY = 3
+ZX_POL_NEW_CHANNEL = 5
+ZX_POL_NEW_EVENT = 6
+ZX_POL_NEW_FIFO = 10
+ZX_POL_NEW_PORT = 8
+ZX_POL_NEW_SOCKET = 9
+ZX_POL_NEW_TIMER = 11
+ZX_POL_NEW_VMO = 4
+ZX_POL_VMAR_WX = 2
+ZX_POL_WRONG_OBJECT = 1
+ZX_POL_NEW_EVENTPAIR = 7
+ZX_POL_NEW_PROCESS = 12
+ZX_POL_NEW_PROFILE = 13
+ZX_POL_NEW_PAGER = 14
+ZX_POL_AMBIENT_MARK_VMO_EXEC = 15
+ZX_TIMER_SLACK_CENTER = 0
+ZX_TIMER_SLACK_EARLY = 1
+ZX_TIMER_SLACK_LATE = 2
+ZX_POL_OVERRIDE_ALLOW = 0
+ZX_POL_OVERRIDE_DENY = 1
+ZX_JOB_CRITICAL_PROCESS_RETCODE_NONZERO = 1
diff --git a/sys/fuchsia/jobs_amd64.const b/sys/fuchsia/jobs_amd64.const
deleted file mode 100644
index a233825ba..000000000
--- a/sys/fuchsia/jobs_amd64.const
+++ /dev/null
@@ -1,18 +0,0 @@
-# AUTOGENERATED FILE
-ZX_JOB_POL_ABSOLUTE = 1
-ZX_JOB_POL_BASIC = 0
-ZX_JOB_POL_RELATIVE = 0
-ZX_POL_ACTION_ALLOW = 0
-ZX_POL_ACTION_DENY = 1
-ZX_POL_ACTION_KILL = 4
-ZX_POL_BAD_HANDLE = 0
-ZX_POL_NEW_ANY = 3
-ZX_POL_NEW_CHANNEL = 5
-ZX_POL_NEW_EVENT = 6
-ZX_POL_NEW_FIFO = 10
-ZX_POL_NEW_PORT = 8
-ZX_POL_NEW_SOCKET = 9
-ZX_POL_NEW_TIMER = 11
-ZX_POL_NEW_VMO = 4
-ZX_POL_VMAR_WX = 2
-ZX_POL_WRONG_OBJECT = 1
diff --git a/sys/fuchsia/jobs_arm64.const b/sys/fuchsia/jobs_arm64.const
deleted file mode 100644
index a233825ba..000000000
--- a/sys/fuchsia/jobs_arm64.const
+++ /dev/null
@@ -1,18 +0,0 @@
-# AUTOGENERATED FILE
-ZX_JOB_POL_ABSOLUTE = 1
-ZX_JOB_POL_BASIC = 0
-ZX_JOB_POL_RELATIVE = 0
-ZX_POL_ACTION_ALLOW = 0
-ZX_POL_ACTION_DENY = 1
-ZX_POL_ACTION_KILL = 4
-ZX_POL_BAD_HANDLE = 0
-ZX_POL_NEW_ANY = 3
-ZX_POL_NEW_CHANNEL = 5
-ZX_POL_NEW_EVENT = 6
-ZX_POL_NEW_FIFO = 10
-ZX_POL_NEW_PORT = 8
-ZX_POL_NEW_SOCKET = 9
-ZX_POL_NEW_TIMER = 11
-ZX_POL_NEW_VMO = 4
-ZX_POL_VMAR_WX = 2
-ZX_POL_WRONG_OBJECT = 1