gitextract_0chc9o9f/ ├── .clang-format ├── .gitignore ├── .travis.yml ├── LICENSE ├── Makefile ├── README.md ├── arch/ │ ├── v7m-entry.S │ ├── v7m-faults.c │ ├── v7m-head.S │ └── v7m-svcall.S ├── docs/ │ ├── Makefile │ ├── api.rst │ ├── build.rst │ ├── conf.py │ ├── contribute.rst │ ├── debugging.rst │ ├── emulate.rst │ ├── index.rst │ ├── kernel.rst │ ├── make.bat │ ├── posix/ │ │ ├── parse.py │ │ ├── posix_opt/ │ │ │ ├── 01._POSIX_CLOCK_SELECTION │ │ │ ├── 02._POSIX_FSYNC │ │ │ ├── 03._POSIX_MEMLOCK │ │ │ ├── 04.POSIX_MEMLOCK_RANGE │ │ │ ├── 05._POSIX_MONOTONIC_CLOCK │ │ │ ├── 06._POSIX_NO_TRUNC │ │ │ ├── 07._POSIX_REALTIME_SIGNALS │ │ │ ├── 08._POSIX_SEMAPHORES │ │ │ ├── 09._POSIX_SHARED_MEMORY_OBJECTS │ │ │ ├── 10._POSIX_SYNCHRONIZED_IO │ │ │ ├── 11._POSIX_THREAD_ATTR_STACKADDR │ │ │ ├── 12._POSIX_THREAD_ATTR_STACKSIZE │ │ │ ├── 13._POSIX_THREAD_CPUTIME │ │ │ ├── 14._POSIX_THREAD_PRIO_INHERIT │ │ │ ├── 15._POSIX_THREAD_PRIO_PROTECT │ │ │ ├── 16._POSIX_THREAD_PRIORITY_SCHEDULING │ │ │ ├── 17._POSIX_THREAD_SPORADIC_SERVER │ │ │ └── 18._POSIX_TIMERS │ │ └── posix_req/ │ │ ├── 01.POSIX_C_LANG_SUPPORT │ │ ├── 02.POSIX_DEVICE_IO │ │ ├── 03.POSIX_FILE_LOCKING │ │ ├── 04.POSIX_SIGNALS │ │ ├── 05.POSIX_SINGLE_PROCESS │ │ ├── 06.POSIX_THREADS_BASE │ │ ├── 07.XSI_THREAD_MUTEX_EXT │ │ └── 08.XSI_THREADS_EXT │ └── test.rst ├── drivers/ │ ├── char/ │ │ ├── mem.c │ │ └── random.c │ ├── mtd/ │ │ ├── mtd.h │ │ ├── mtdchar.c │ │ ├── mtdcore.c │ │ └── mtdram.c │ ├── serial/ │ │ ├── serialchar.c │ │ ├── serialcore.c │ │ ├── stm32-uart.c │ │ └── stm32-uart.h │ └── timer/ │ ├── systick.c │ └── timercore.c ├── fs/ │ ├── proc.c │ ├── romfs.c │ └── tmpfs.c ├── include/ │ ├── arch/ │ │ ├── semihosting.h │ │ └── v7m-helper.h │ ├── fs/ │ │ └── romfs.h │ ├── kernel/ │ │ ├── bitmap.h │ │ ├── bitops.h │ │ ├── cbuf.h │ │ ├── compiler.h │ │ ├── cond.h │ │ ├── errno-base.h │ │ ├── faults.h │ │ ├── fs.h │ │ ├── hash.h │ │ ├── irq.h │ │ ├── kernel.h │ │ ├── linkage.h │ │ ├── log2.h │ │ ├── mm/ │ │ │ ├── page.h │ │ │ └── slab.h │ │ ├── mutex.h │ │ ├── sched.h │ │ ├── serial.h │ │ ├── signal.h │ │ ├── softirq.h │ │ ├── task.h │ │ ├── thread.h │ │ ├── time.h │ │ └── types.h │ ├── libc/ │ │ ├── pthread.h │ │ ├── ucontext.h │ │ └── utils.h │ ├── linux/ │ │ ├── compiler.h │ │ ├── list.h │ │ ├── poison.h │ │ ├── stddef.h │ │ └── types.h │ ├── piko/ │ │ ├── arpa/ │ │ │ └── inet.h │ │ ├── dirent.h │ │ ├── signal.h │ │ └── sys/ │ │ ├── mman.h │ │ ├── mount.h │ │ └── resource.h │ ├── platform/ │ │ └── compiler.h │ └── version.template.h ├── kernel/ │ ├── cond.c │ ├── config.c │ ├── faults.c │ ├── fs/ │ │ ├── fs.c │ │ ├── readdir.c │ │ └── vfs.c │ ├── irq.c │ ├── main.c │ ├── mm/ │ │ ├── mm.c │ │ ├── page.c │ │ └── slab.c │ ├── mutex.c │ ├── printk.c │ ├── resource.c │ ├── sched/ │ │ ├── bitmap.c │ │ └── rr.c │ ├── sched.c │ ├── signal.c │ ├── softirq.c │ ├── task.c │ ├── thread.c │ └── time.c ├── libc/ │ ├── fcntl.c │ ├── filesystem.c │ ├── piko/ │ │ ├── mman.c │ │ ├── stubs.c │ │ ├── syscalls.S │ │ └── syscalls.h │ ├── pthread.c │ ├── signal.c │ ├── stdio.c │ ├── stdlib.c │ ├── time.c │ ├── ucontext.c │ ├── unistd.c │ ├── utils.c │ └── v7m-pthread.S ├── mk/ │ ├── cmsis.mk │ ├── flags.mk │ └── rules.mk ├── piko.lds.S ├── platform/ │ ├── f429disco/ │ │ ├── Makefile │ │ ├── build.mk │ │ ├── halt.c │ │ ├── init.c │ │ ├── platform.h │ │ └── uart.c │ └── stm32p103/ │ ├── Makefile │ ├── build.mk │ ├── halt.c │ ├── init.c │ ├── platform.h │ └── uart.c ├── scripts/ │ ├── gen-proc-version.py │ ├── gen-syscalls.py │ └── rstlint.py ├── tests/ │ ├── Makefile │ ├── __init__.py │ ├── __main__.py │ ├── bitops_1/ │ │ └── main.c │ ├── cond_1/ │ │ └── main.c │ ├── cond_2/ │ │ └── main.c │ ├── cond_3/ │ │ └── main.c │ ├── fs_1/ │ │ └── main.c │ ├── fs_2/ │ │ └── main.c │ ├── fs_3/ │ │ ├── data/ │ │ │ ├── id_rsa │ │ │ └── id_rsa.pub │ │ └── main.c │ ├── fs_4/ │ │ ├── data/ │ │ │ ├── id_rsa │ │ │ └── id_rsa.pub │ │ └── main.c │ ├── fs_5/ │ │ └── main.c │ ├── fs_6/ │ │ ├── data/ │ │ │ ├── id_rsa │ │ │ └── id_rsa.pub │ │ └── main.c │ ├── fs_7/ │ │ ├── data/ │ │ │ └── .ssh/ │ │ │ ├── id_rsa │ │ │ └── id_rsa.pub │ │ └── main.c │ ├── getpid_1/ │ │ └── main.c │ ├── itoa_1/ │ │ └── main.c │ ├── lib/ │ │ └── unit.h │ ├── malloc_1/ │ │ └── main.c │ ├── mm_1/ │ │ └── main.c │ ├── mm_2/ │ │ └── main.c │ ├── mmap_1/ │ │ └── main.c │ ├── mmap_2/ │ │ ├── data/ │ │ │ ├── id_rsa │ │ │ └── id_rsa.pub │ │ └── main.c │ ├── msleep_1/ │ │ └── main.c │ ├── msleep_2/ │ │ └── main.c │ ├── mtdram_1/ │ │ └── main.c │ ├── mutex_1/ │ │ └── main.c │ ├── mutex_2/ │ │ └── main.c │ ├── mutex_3/ │ │ └── main.c │ ├── mutex_4/ │ │ └── main.c │ ├── mutex_5/ │ │ └── main.c │ ├── page_3/ │ │ └── main.c │ ├── raise_1/ │ │ └── main.c │ ├── raise_2/ │ │ └── main.c │ ├── raise_3/ │ │ └── main.c │ ├── readdir_1/ │ │ └── main.c │ ├── runner.py │ ├── slab_1/ │ │ └── main.c │ ├── slab_2/ │ │ └── main.c │ ├── softirq_1/ │ │ └── main.c │ ├── softirq_2/ │ │ └── main.c │ ├── softirq_3/ │ │ └── main.c │ ├── sprintf_1/ │ │ └── main.c │ ├── stat_1/ │ │ ├── data/ │ │ │ ├── id_rsa │ │ │ └── id_rsa.pub │ │ └── main.c │ ├── syscall_1/ │ │ ├── main.c │ │ └── trampoline.S │ ├── sysconf_1/ │ │ └── main.c │ ├── test_1/ │ │ └── main.c │ ├── test_2/ │ │ └── main.c │ ├── thread_1/ │ │ └── main.c │ ├── thread_2/ │ │ └── main.c │ ├── thread_3/ │ │ └── main.c │ ├── thread_4/ │ │ └── main.c │ ├── thread_5/ │ │ └── main.c │ ├── thread_6/ │ │ └── main.c │ ├── timer_1/ │ │ └── main.c │ ├── timer_2/ │ │ └── main.c │ ├── timer_3/ │ │ └── main.c │ ├── timer_4/ │ │ └── main.c │ ├── timer_5/ │ │ └── main.c │ └── ucontext_1/ │ └── main.c └── user/ ├── cat.c ├── echo.c ├── exit.c ├── halt.c ├── ls.c ├── reboot.c ├── sh.c └── sh.h