summaryrefslogtreecommitdiff
path: root/libc/config
diff options
context:
space:
mode:
authorNoah Goldstein <goldstein.w.n@gmail.com>2023-04-20 14:51:10 -0500
committerNoah Goldstein <goldstein.w.n@gmail.com>2023-04-20 14:53:41 -0500
commit0432b85d8e800439e57642bb25e93c32fa864f5c (patch)
treef41bbf81fdb459279eabc7159a8239c42ddcc10c /libc/config
parentef0949828e15d28a92ea04b84d803f1e05bdb1d6 (diff)
downloadllvm-0432b85d8e800439e57642bb25e93c32fa864f5c.tar.gz
[LIBC] Implement remainder of posix 'sched.h' minus `SCHED_SPORADIC`
Includes macros: linux/SCHED_OTHER // posix req linux/SCHED_FIFO // posix req linux/SCHED_RR // posix req linux/SCHED_BATCH linux/SCHED_ISO linux/SCHED_IDLE linux/SCHED_DEADLINE Includes types: struct sched_param { int sched_priority; } Includes functions: sched_setparam sched_getparam sched_setscheduler sched_getscheduler sched_get_priority_max sched_get_priority_min sched_rr_get_interval Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D148069
Diffstat (limited to 'libc/config')
-rw-r--r--libc/config/linux/aarch64/entrypoints.txt7
-rw-r--r--libc/config/linux/api.td10
-rw-r--r--libc/config/linux/riscv64/entrypoints.txt7
-rw-r--r--libc/config/linux/x86_64/entrypoints.txt7
4 files changed, 30 insertions, 1 deletions
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index a6413add96db..38023e553a9c 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -26,8 +26,15 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.fcntl.openat
# sched.h entrypoints
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
libc.src.sched.sched_yield
# string.h entrypoints
diff --git a/libc/config/linux/api.td b/libc/config/linux/api.td
index 10b4abfee7a4..8fac4e041f1b 100644
--- a/libc/config/linux/api.td
+++ b/libc/config/linux/api.td
@@ -103,7 +103,15 @@ def TimeAPI : PublicAPI<"time.h"> {
}
def SchedAPI : PublicAPI<"sched.h"> {
- let Types = ["pid_t", "size_t", "cpu_set_t"];
+ let Types = [
+ "pid_t",
+ "size_t",
+ "cpu_set_t",
+ "struct sched_param",
+ // Needed according to posix standard
+ "time_t",
+ "struct timespec",
+ ];
}
def SysMManAPI : PublicAPI<"sys/mman.h"> {
diff --git a/libc/config/linux/riscv64/entrypoints.txt b/libc/config/linux/riscv64/entrypoints.txt
index 6e1f8e30dea9..dc700941c667 100644
--- a/libc/config/linux/riscv64/entrypoints.txt
+++ b/libc/config/linux/riscv64/entrypoints.txt
@@ -26,8 +26,15 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.fcntl.openat
# sched.h entrypoints
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
libc.src.sched.sched_yield
# string.h entrypoints
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 0c084bba18ca..5ac24c6daade 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -26,8 +26,15 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.fcntl.openat
# sched.h entrypoints
+ libc.src.sched.sched_get_priority_max
+ libc.src.sched.sched_get_priority_min
libc.src.sched.sched_getaffinity
+ libc.src.sched.sched_getparam
+ libc.src.sched.sched_getscheduler
+ libc.src.sched.sched_rr_get_interval
libc.src.sched.sched_setaffinity
+ libc.src.sched.sched_setparam
+ libc.src.sched.sched_setscheduler
libc.src.sched.sched_yield
# string.h entrypoints