seL4/libsel4/include/api/syscall.xml
Anna Lyons 554f812da3 mcs: scheduling context donation over ipc
After this commit, threads blocked on an endpoint can recieve a
scheduling context from the thread that wakes the blocked thread.
2019-08-22 11:22:37 +10:00

87 lines
3.4 KiB
XML

<?xml version="1.0" ?>
<!--
Copyright 2017, Data61
Commonwealth Scientific and Industrial Research Organisation (CSIRO)
ABN 41 687 119 230.
This software may be distributed and modified according to the terms of
the BSD 2-Clause license. Note that NO WARRANTY is provided.
See "LICENSE_BSD2.txt" for details.
@TAG(DATA61_BSD)
-->
<!-- Please see syscalls.xsd to see the format of this file -->
<syscalls>
<!-- official API syscalls -->
<api-master>
<config>
<syscall name="Call" />
<syscall name="ReplyRecv" />
<syscall name="Send" />
<syscall name="NBSend" />
<syscall name="Recv" />
<syscall name="Reply" />
<syscall name="Yield" />
<syscall name="NBRecv" />
</config>
</api-master>
<api-mcs>
<config>
<syscall name="Call" />
<syscall name="ReplyRecv" />
<syscall name="NBSendRecv" />
<syscall name="NBSendWait" />
<syscall name="Send" />
<syscall name="NBSend" />
<syscall name="Recv" />
<syscall name="NBRecv" />
<syscall name="Wait" />
<syscall name="NBWait" />
<syscall name="Yield" />
</config>
</api-mcs>
<!-- Syscalls on the unknown syscall path. These definitions will be wrapped in #if condition -->
<debug>
<config condition="defined CONFIG_PRINTING">
<syscall name="DebugPutChar" />
<syscall name="DebugDumpScheduler" />
</config>
<config condition="defined CONFIG_DEBUG_BUILD">
<syscall name="DebugHalt" />
<syscall name="DebugCapIdentify" />
<syscall name="DebugSnapshot" />
<syscall name="DebugNameThread"/>
</config>
<config condition="defined CONFIG_DEBUG_BUILD &amp;&amp; CONFIG_MAX_NUM_NODES > 1">
<syscall name="DebugSendIPI"/>
</config>
<config condition="defined CONFIG_DANGEROUS_CODE_INJECTION">
<syscall name="DebugRun"/>
</config>
<config condition="defined CONFIG_ENABLE_BENCHMARKS">
<syscall name="BenchmarkFlushCaches" />
<syscall name="BenchmarkResetLog" />
<syscall name="BenchmarkFinalizeLog" />
<syscall name="BenchmarkSetLogBuffer" />
<syscall name="BenchmarkNullSyscall" />
</config>
<config condition="defined CONFIG_BENCHMARK_TRACK_UTILISATION">
<syscall name="BenchmarkGetThreadUtilisation" />
<syscall name="BenchmarkResetThreadUtilisation" />
</config>
<config condition="defined CONFIG_KERNEL_X86_DANGEROUS_MSR">
<syscall name="X86DangerousWRMSR"/>
<syscall name="X86DangerousRDMSR"/>
</config>
<!-- This is not a debug syscall, but it needs to not appear in the 'API' syscall list
so that the check of 'is this a valid syscall' can remain a simple range check.
Therefore we'll put this here and the arch code will handle it before
passing to handleUnknownSyscall -->
<config condition="defined CONFIG_VTX">
<syscall name="VMEnter"/>
</config>
<config condition="defined CONFIG_SET_TLS_BASE_SELF">
<syscall name="SetTLSBase"/>
</config>
</debug>
</syscalls>