Skip to content

Agent KB_kernel_p3

grisun0 edited this page Oct 9, 2026 · 16 revisions

Subsystem: kernel (page 3 of 4)

Previous: KB_kernel_p2.md

kernel/syscalls.c

  • Doc: Linux x86-64 syscall dispatcher and SYS_SPAWN.
  • Layer: utility
  • Language: c
  • Symbols:
    • kiovec (struct, line 1096)
    • sc_extra_name (struct, line 2728)
    • minios_syscall_entry_t (struct, line 236)
    • kfd_view_current (function, line 59) static kfd_view_t *kfd_view_current(void)
    • kfd_view_root (function, line 69) kfd_view_t *kfd_view_root(void)
    • kfd_get (function, line 88) KFILE *kfd_get(int fd)
    • kfd_put (function, line 101) void kfd_put(KFILE *f)
    • kfd_view_count (function, line 113) static int kfd_view_count(kfd_view_t *v)
    • untouched (function, line 137) * child untouched (caller refuses fail-closed). */ int kfd_view_copy(proc_t *child, proc_t *parent)
    • NULL (function, line 164) * on NULL (already released or never owned). */ void kfd_view_release(proc_t *p)
    • kfd_view_cloexec (function, line 195) void kfd_view_cloexec(void)
    • wall_us_now (function, line 254) unsigned long wall_us_now(void)
    • sys_minios_dns (function, line 264) static long sys_minios_dns(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_tls_retired (function, line 269) static long sys_minios_tls_retired(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_linux_time (function, line 282) static long sys_linux_time(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_linux_futex (function, line 291) static long sys_linux_futex(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_time (function, line 340) static long sys_minios_time(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_kbd (function, line 344) static long sys_minios_kbd(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_palette (function, line 364) static long sys_minios_palette(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_kbd_raw (function, line 376) static long sys_minios_kbd_raw(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_vga_mode (function, line 382) static long sys_minios_vga_mode(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_pcspk_init (function, line 389) static long sys_minios_pcspk_init(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_pcspk_tone (function, line 393) static long sys_minios_pcspk_tone(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_doom_frame (function, line 407) static long sys_minios_doom_frame(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_gfx_zoom (function, line 418) static long sys_minios_gfx_zoom(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_rtc (function, line 427) static long sys_minios_rtc(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_fb_info (function, line 440) static long sys_minios_fb_info(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_pcspk_vol (function, line 460) static long sys_minios_pcspk_vol(long a1, long a2, long a3, long a4, long a5, long a6)
    • minfo_sleep_init (function, line 484) void minfo_sleep_init(int tick_ok)
    • minfo_tick_wake (function, line 489) void minfo_tick_wake(void *ctx)
    • view (function, line 501) * view (same as the clear` builtin). Anything else is -EINVAL. Each
  • out-word is range-checked...`
  • sys_minios_spawn (function, line 592) static long sys_minios_spawn(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_lz4_compress (function, line 603) static long sys_minios_lz4_compress(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_lz4_decompress (function, line 616) static long sys_minios_lz4_decompress(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_mouse (function, line 630) static long sys_minios_mouse(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_nk_frame (function, line 654) static long sys_minios_nk_frame(long a1, long a2, long a3, long a4, long a5, long a6)
  • sb16_audio_device (function, line 667) static device_t *sb16_audio_device(void)
  • sys_minios_sb16_open (function, line 673) static long sys_minios_sb16_open(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_submit (function, line 685) static long sys_minios_sb16_submit(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_gfx_title (function, line 696) static long sys_minios_gfx_title(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_pump (function, line 710) static long sys_minios_sb16_pump(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_stream_open (function, line 714) static long sys_minios_sb16_stream_open(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_stream_close (function, line 718) static long sys_minios_sb16_stream_close(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_stream_submit (function, line 722) static long sys_minios_sb16_stream_submit(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_pcm2_open (function, line 735) static long sys_minios_pcm2_open(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_pcm2_write (function, line 740) static long sys_minios_pcm2_write(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_pcm2_close (function, line 748) static long sys_minios_pcm2_close(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_clip_set (function, line 758) static long sys_minios_clip_set(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_clip_get (function, line 768) static long sys_minios_clip_get(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_stream_vol (function, line 784) static long sys_minios_sb16_stream_vol(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_futex_wait (function, line 797) static long sys_minios_futex_wait(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_futex_wake (function, line 803) static long sys_minios_futex_wake(long a1, long a2, long a3, long a4, long a5, long a6)
  • batch_kdispatch (function, line 812) static long batch_kdispatch(uint32_t opcode)
  • DOOM_FRAME (function, line 827) * DOOM_FRAME (211) and NK_FRAME (220) stay as compat aliases. */ static long sys_minios_gfx_prese...
  • sys_minios_getc_raw (function, line 861) static long sys_minios_getc_raw(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_submit_batch (function, line 872) static long sys_minios_submit_batch(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_rlimit (function, line 895) static long sys_minios_rlimit(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_dir_list (function, line 936) static long sys_minios_dir_list(long a1, long a2, long a3, long a4, long a5, long a6)
  • syscall_trace_enabled (function, line 1108) long syscall_trace_enabled(void)
  • syscall_trace_set (function, line 1109) void syscall_trace_set(int on)
  • syscall_trace_verbose_enabled (function, line 1110) long syscall_trace_verbose_enabled(void)
  • syscall_trace_verbose_set (function, line 1111) void syscall_trace_verbose_set(int on)
  • syscall_trace_shown (function, line 1112) unsigned long syscall_trace_shown(void)
  • sys_linux_read (function, line 1138) static long sys_linux_read(long a1, long a2, long a3, long a4, long a5, long a6)
  • fd_write (function, line 1191) static long fd_write(long fd, const char *buf, long cnt)
  • sys_linux_write (function, line 1215) static long sys_linux_write(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_writev (function, line 1222) static long sys_linux_writev(long a1, long a2, long a3, long a4, long a5, long a6)
  • do_open_path (function, line 1265) static long do_open_path(const char *path, long flags)
  • sys_linux_open (function, line 1298) static long sys_linux_open(long a1, long a2, long a3, long a4, long a5, long a6)
  • kfd_claim_from (function, line 1331) static long kfd_claim_from(KFILE *f, long minfd, int cloexec)
  • kfd_claim (function, line 1356) static long kfd_claim(KFILE *f)
  • sys_linux_pipe2 (function, line 1380) static long sys_linux_pipe2(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_pipe (function, line 1408) static long sys_linux_pipe(long a1, long a2, long a3, long a4, long a5, long a6)
  • kfd_cloexec_get (function, line 1414) static int kfd_cloexec_get(long fd)
  • kfd_cloexec_set (function, line 1424) static void kfd_cloexec_set(long fd, int on)
  • kfile_status_flags (function, line 1435) static long kfile_status_flags(KFILE *f)
  • sys_linux_dup3 (function, line 1486) static long sys_linux_dup3(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_close_range (function, line 1496) static long sys_linux_close_range(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_eventfd2 (function, line 1520) static long sys_linux_eventfd2(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_eventfd (function, line 1533) static long sys_linux_eventfd(long a1, long a2, long a3, long a4, long a5, long a6)
  • kfd_poll_revents (function, line 1541) int kfd_poll_revents(int fd)
  • kfile_user_read (function, line 1576) static long kfile_user_read(KFILE *f, char *buf, long cnt)
  • kfile_user_write (function, line 1606) static long kfile_user_write(KFILE *f, const char *buf, long cnt)
  • sys_linux_dup (function, line 1635) static long sys_linux_dup(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_dup2 (function, line 1650) static long sys_linux_dup2(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_close (function, line 1684) static long sys_linux_close(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_lseek (function, line 1707) static long sys_linux_lseek(long a1, long a2, long a3, long a4, long a5, long a6)
  • mm_ensure_cur (function, line 1725) static int mm_ensure_cur(unsigned long start, unsigned long end)
  • sys_linux_brk (function, line 1734) static long sys_linux_brk(long a1, long a2, long a3, long a4, long a5, long a6)
  • mmap_tag_file (function, line 1775) static int mmap_tag_file(unsigned long base, int ino, unsigned long off)
  • sys_linux_mmap (function, line 1784) static long sys_linux_mmap(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_munmap (function, line 1872) static long sys_linux_munmap(long a1, long a2, long a3, long a4, long a5, long a6)
  • mprotect_pte (function, line 1904) static volatile unsigned long *mprotect_pte(unsigned long cr3, unsigned long va)
  • first (function, line 1928) `* passes under mm_lock: validate every page first (present, user,
  • private), then apply, so a h...`
  • vma_free_cover (function, line 2000) static vma_node_t *vma_free_cover(unsigned long base, unsigned long len)
  • vma_live_overlap (function, line 2019) static int vma_live_overlap(unsigned long base, unsigned long len)
  • sys_linux_mremap (function, line 2046) static long sys_linux_mremap(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_sigaction (function, line 2306) static long sys_linux_sigaction(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_sigprocmask (function, line 2311) static long sys_linux_sigprocmask(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_ioctl (function, line 2316) static long sys_linux_ioctl(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_access (function, line 2321) static long sys_linux_access(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_socket (function, line 2343) static long sys_linux_socket(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_connect (function, line 2348) static long sys_linux_connect(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_bind (function, line 2354) static long sys_linux_bind(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_listen (function, line 2360) static long sys_linux_listen(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_accept (function, line 2365) static long sys_linux_accept(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_sendto (function, line 2371) static long sys_linux_sendto(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_recvfrom (function, line 2376) static long sys_linux_recvfrom(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_shutdown (function, line 2381) static long sys_linux_shutdown(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_setsockopt (function, line 2386) static long sys_linux_setsockopt(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_getsockopt (function, line 2393) static long sys_linux_getsockopt(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_getsockname (function, line 2400) static long sys_linux_getsockname(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_getpeername (function, line 2406) static long sys_linux_getpeername(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_sendmsg (function, line 2412) static long sys_linux_sendmsg(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_sendmmsg (function, line 2418) static long sys_linux_sendmmsg(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_poll (function, line 2426) static long sys_linux_poll(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_flock (function, line 2433) static long sys_linux_flock(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_fsync (function, line 2442) static long sys_linux_fsync(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_fdatasync (function, line 2447) static long sys_linux_fdatasync(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_getcwd (function, line 2452) static long sys_linux_getcwd(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_unlink (function, line 2464) static long sys_linux_unlink(long a1, long a2, long a3, long a4, long a5, long a6)
  • readlink_path (function, line 2488) static long readlink_path(const char *path, char *buf, long bufsz)
  • sys_linux_readlink (function, line 2504) static long sys_linux_readlink(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_prctl (function, line 2510) static long sys_linux_prctl(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_rename (function, line 2519) static long sys_linux_rename(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_fstat (function, line 2533) static long sys_linux_fstat(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_gettimeofday (function, line 2556) static long sys_linux_gettimeofday(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_arch_prctl (function, line 2579) static long sys_linux_arch_prctl(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_uname (function, line 2591) static long sys_linux_uname(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_madvise (function, line 2614) static long sys_linux_madvise(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_mkdir (function, line 2622) static long sys_linux_mkdir(long a1, long a2, long a3, long a4, long a5, long a6)
  • trace_is_noisy (function, line 2716) static int trace_is_noisy(long n)
  • syscall_name (function, line 2744) const char *syscall_name(long n)
  • trace_hint_print (function, line 2785) static void trace_hint_print(long n, int kind, const char *path, lon...
  • ksyscall (function, line 2798) long ksyscall(long n, long a1, long a2, long a3, long a4, long a5, long a6)
  • user_range_ok (function, line 2836) int user_range_ok(unsigned long p, unsigned long len)
  • products (function, line 2853) `* products (writev cntsizeof, poll a28, spawn (argc+1)*sizeof) are
  • pre-bounded against (END-...`
  • ksyscall_dispatch (function, line 2866) static long ksyscall_dispatch(long n, long a1, long a2, long a3, long a4, long a5, long a6)
  • k_syscall_spawn (function, line 3112) static int k_syscall_spawn(const char *path, const char *redirect, i...
  • by (function, line 223) * is indexed by (syscall_number - 200). New syscalls are added by: * 1. Adding a MINIOS_SYS_* constant to...
  • boot (function, line 477) * boot (minfo_sleep_init from sched_init);
  • unchanged (function, line 1127) * unchanged (same code, same order of checks). Numbers >= 200 that * overlap real Linux ABIs stay in the switch as...
  • EAGAIN (function, line 1151) * writer open is EAGAIN (-11, retry);
  • EOF (function, line 1152) * is EOF (0). */ KFILE *o = kfd_get(0);
  • node (function, line 2041) * mapping is one exact live VMA node (what mmap inserts);
  • Discipline (function, line 2849) * * Discipline (audit 2026-09, kept as comment, not a deprecation: both * primitives are legitimate): user_range_ok...
  • readlink (function, line 2994) * readlink (89). */ return readlink_path((const char *)a2, (char *)a3, a4);
  • proc_spawn_elf (function, line 3103) * proc_spawn_elf (the same path mrun uses) and the caller blocks in * do_waitpid, so the parent address space is...
  • gfx_zoom_2x (variable, line 420) extern int gfx_zoom_2x;
  • gfx_win_title (variable, line 701) extern const char *gfx_win_title;
  • KFD_MAX (macro, line 50) #define KFD_MAX
  • MINIOS_SYSCALL_BASE (macro, line 241) #define MINIOS_SYSCALL_BASE
  • MINIOS_SYSCALL_COUNT (macro, line 242) #define MINIOS_SYSCALL_COUNT
  • SYSCALL_TRACE (macro, line 1098) #define SYSCALL_TRACE
  • SYS_NOISY_TIME (macro, line 1118) #define SYS_NOISY_TIME
  • SYS_NOISY_KBD (macro, line 1119) #define SYS_NOISY_KBD
  • SYS_NOISY_MOUSE (macro, line 1120) #define SYS_NOISY_MOUSE
  • SYS_NOISY_GETC_RAW (macro, line 1121) #define SYS_NOISY_GETC_RAW
  • LINUX_O_RDONLY (macro, line 1305) #define LINUX_O_RDONLY
  • LINUX_O_WRONLY (macro, line 1306) #define LINUX_O_WRONLY
  • LINUX_O_RDWR (macro, line 1307) #define LINUX_O_RDWR
  • LINUX_O_APPEND (macro, line 1308) #define LINUX_O_APPEND
  • LINUX_O_NONBLOCK (macro, line 1309) #define LINUX_O_NONBLOCK
  • LINUX_O_DIRECT (macro, line 1310) #define LINUX_O_DIRECT
  • LINUX_O_CLOEXEC (macro, line 1311) #define LINUX_O_CLOEXEC
  • LINUX_FD_CLOEXEC (macro, line 1312) #define LINUX_FD_CLOEXEC
  • LINUX_F_DUPFD (macro, line 1313) #define LINUX_F_DUPFD
  • LINUX_F_GETFD (macro, line 1314) #define LINUX_F_GETFD
  • LINUX_F_SETFD (macro, line 1315) #define LINUX_F_SETFD
  • LINUX_F_GETFL (macro, line 1316) #define LINUX_F_GETFL
  • LINUX_F_SETFL (macro, line 1317) #define LINUX_F_SETFL
  • LINUX_F_DUPFD_CLOEXEC (macro, line 1318) #define LINUX_F_DUPFD_CLOEXEC
  • LINUX_CLOSE_RANGE_UNSHARE (macro, line 1319) #define LINUX_CLOSE_RANGE_UNSHARE
  • LINUX_CLOSE_RANGE_CLOEXEC (macro, line 1320) #define LINUX_CLOSE_RANGE_CLOEXEC
  • LINUX_EFD_SEMAPHORE (macro, line 1321) #define LINUX_EFD_SEMAPHORE
  • LINUX_EFD_NONBLOCK (macro, line 1322) #define LINUX_EFD_NONBLOCK
  • LINUX_EFD_CLOEXEC (macro, line 1323) #define LINUX_EFD_CLOEXEC
  • LINUX_EVENTFD_WORD (macro, line 1324) #define LINUX_EVENTFD_WORD
  • FD_STD_COUNT (macro, line 1325) #define FD_STD_COUNT
  • LINUX_MAP_SHARED (macro, line 1767) #define LINUX_MAP_SHARED
  • LINUX_MAP_PRIVATE (macro, line 1768) #define LINUX_MAP_PRIVATE
  • LINUX_MAP_FIXED (macro, line 1769) #define LINUX_MAP_FIXED
  • LINUX_MAP_ANONYMOUS (macro, line 1770) #define LINUX_MAP_ANONYMOUS
  • LINUX_MREMAP_MAYMOVE (macro, line 1995) #define LINUX_MREMAP_MAYMOVE
  • LINUX_MREMAP_FIXED (macro, line 1996) #define LINUX_MREMAP_FIXED
  • PROC_SELF_EXE (macro, line 2483) #define PROC_SELF_EXE
  • LINUX_SYSCALL_COUNT (macro, line 2652) #define LINUX_SYSCALL_COUNT
  • SC_EXTRA_COUNT (macro, line 2743) #define SC_EXTRA_COUNT
  • TRACE_HINT_NONE (macro, line 2765) #define TRACE_HINT_NONE
  • TRACE_HINT_PATH (macro, line 2766) #define TRACE_HINT_PATH
  • Depends on: headers/arch/x86/boot/bootdefs.h, headers/arch/x86/hal_io.h, headers/arch/x86/msr.h, headers/batch.h, headers/block.h, headers/driver.h, headers/drivers/kbd.h, headers/futex.h, headers/ide.h, headers/ktime.h, headers/lz4_kernel.h, headers/minifs.h, headers/net.h, headers/pcache.h, headers/pcm2.h, headers/pcspk.h, headers/percpu_rq.h, headers/proc_sec.h, headers/randmix.h, headers/rcu.h, headers/rtc.h, headers/sanitize.h, headers/sb16.h, headers/sched.h, headers/shell.h, headers/spawn.h, headers/sync.h, headers/syscalls_proc.h, headers/vga_fb.h, headers/zip.h

kernel/syscalls_proc.c

  • Doc: Process-management syscall handlers.
  • Layer: utility
  • Language: c
  • Symbols:
    • sys_minios_clone (function, line 17) long sys_minios_clone(long flags, long newsp, long a3, long a4, long a5, long a6)
    • sys_minios_thread_spawn (function, line 23) long sys_minios_thread_spawn(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_seccomp (function, line 36) long sys_minios_seccomp(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_minios_nice (function, line 53) long sys_minios_nice(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_linux_yield (function, line 66) long sys_linux_yield(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_linux_getpid (function, line 75) long sys_linux_getpid(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_linux_clone (function, line 83) long sys_linux_clone(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_linux_fork (function, line 89) long sys_linux_fork(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_linux_vfork (function, line 94) long sys_linux_vfork(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_linux_execve (function, line 99) long sys_linux_execve(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_linux_exit (function, line 184) long sys_linux_exit(long a1, long a2, long a3, long a4, long a5, long a6)
    • kill (function, line 192) * historic kill (SIGKILL), -N is signal N (a seccomp kill is -SIGSYS). */ #define LINUX_WNOHANG ...
    • groups (function, line 213) * groups (pid 0 and < -1) are not modelled and wait for any child. */ long sys_linux_wait4(long a...
    • sys_linux_kill (function, line 231) long sys_linux_kill(long a1, long a2, long a3, long a4, long a5, long a6)
    • sys_linux_gettid (function, line 236) long sys_linux_gettid(long a1, long a2, long a3, long a4, long a5, long a6)
    • state (function, line 5) * touches only scheduler state (current_pid, procs[], do_* / * seccomp_* / yield) plus the kernel-wide user_range_ok...
    • LINUX_WNOHANG (macro, line 193) #define LINUX_WNOHANG
    • LINUX_SIGKILL (macro, line 194) #define LINUX_SIGKILL
    • LINUX_SIG_MAX (macro, line 195) #define LINUX_SIG_MAX
    • LINUX_STATUS_SHIFT (macro, line 196) #define LINUX_STATUS_SHIFT
    • LINUX_STATUS_CODE (macro, line 197) #define LINUX_STATUS_CODE
    • LINUX_ECHILD (macro, line 198) #define LINUX_ECHILD
    • LINUX_EINVAL (macro, line 199) #define LINUX_EINVAL
  • Depends on: headers/proc_sec.h, headers/sanitize.h, headers/sched.h

kernel/tick.c

  • Doc: Docstring: Tick listener bus implementation.
  • Layer: utility
  • Language: c
  • Symbols:
    • tick_slot_t (struct, line 15)
    • tick_reset (function, line 34) void tick_reset(void)
    • tick_register_audio (function, line 58) int tick_register_audio(tick_fn_t fn, void *ctx)
    • tick_register_desktop (function, line 76) int tick_register_desktop(tick_fn_t fn, void *ctx)
    • tick_register_usb (function, line 89) int tick_register_usb(tick_fn_t fn, void *ctx)
    • tick_run_usb (function, line 103) void tick_run_usb(void)
    • tick_run_audio (function, line 113) void tick_run_audio(void)
    • tick_run_desktop (function, line 123) void tick_run_desktop(void)
    • tick_audio_count (function, line 133) int tick_audio_count(void)
    • tick_desktop_count (function, line 144) int tick_desktop_count(void)
    • tick_desktop_due (function, line 160) int tick_desktop_due(unsigned long long ticks, unsigned interval)
  • Depends on: headers/tick.h

kernel/time.c

kernel/vga_cursor.c

  • Doc: Docstring: Hardware pointer sprite layer (kernel/vga_cursor.c).
  • Layer: utility
  • Language: c
  • Symbols:
    • cursor_save_bg (function, line 40) static void cursor_save_bg(int mx, int my)
    • cursor_is_set (function, line 50) static int cursor_is_set(int i, int j)
    • cursor_has_set_neighbour (function, line 57) static int cursor_has_set_neighbour(int i, int j)
    • cursor_draw (function, line 68) static void cursor_draw(int mx, int my)
    • cursor_restore (function, line 81) static void cursor_restore(int mx, int my)
    • cursor_over (function, line 96) int cursor_over(int x0, int y0, int w, int h)
    • cursor_place (function, line 106) void cursor_place(int mx, int my)
    • cursor_move (function, line 116) void cursor_move(int mx, int my)
    • cursor_erase (function, line 133) void cursor_erase(void)
    • cursor_invalidate (function, line 141) void cursor_invalidate(void)
    • cursor_note_repaint (function, line 147) void cursor_note_repaint(int x0, int y0, int w, int h)
    • CURSOR_TIP_X (macro, line 28) #define CURSOR_TIP_X
    • CURSOR_TIP_Y (macro, line 29) #define CURSOR_TIP_Y
  • Depends on: headers/kernel/vga_cursor.h, headers/vga_fb.h

Next: KB_kernel_p4.md

Start

Wiki

Agent Docs

Recipes

Clone this wiki locally