Commit Graph

842 Commits

Author SHA1 Message Date
skpupil 4101d8328a Add syscall creat 2024-05-31 15:19:17 +08:00
YanWQ-monad fa7d0a787f Extract x86-specific trap handler code 2024-05-31 11:41:02 +08:00
Ruihan Li 28b66c1c8c Avoid creating linear mappings with the SHARED flag set 2024-05-30 20:45:59 +08:00
Jianfeng Jiang 5687f23b56 Add API documentation guidelines in to-contribute 2024-05-30 20:44:59 +08:00
Zhang Junyang f581ebdd03 Add workarounds for slow `memcpy` 2024-05-28 22:35:25 +08:00
Zhang Junyang 56a4909211 Revert `fast_copy` and `fast_copy_nonoverlapping` in the framework
This reverts commit 657d6719c7.
2024-05-28 22:35:25 +08:00
YanWQ-monad 2636bb0838 Extract x86-specific `TaskContext` 2024-05-24 16:57:35 +08:00
Zhang Junyang 8e874e6a88 Let OSDK print source lines of the panic stack trace 2024-05-23 12:37:57 +08:00
Zhang Junyang f420286920 Make stripping ELF optional for QEMU direct boot 2024-05-23 12:37:57 +08:00
Jianfeng Jiang 32b1fb3723 Fix OSDK CI bugs & Build OSDK with stable channel in CI 2024-05-23 12:32:25 +08:00
Ruihan Li 69abc09f5a Add missing TLB flushes to `VmSpace` 2024-05-23 10:34:58 +08:00
HaiQiu1998 85e292ce7e Fix typo 2024-05-23 09:02:47 +08:00
Ruihan Li e4954827dc Fix random failures in `send_buf_full` 2024-05-22 15:10:19 +08:00
Ruihan Li 83b88229a3 Unify headers of safety comments 2024-05-22 13:21:16 +08:00
Jianfeng Jiang 07fbbcfd8c Add syscall clone3 2024-05-21 19:22:13 +08:00
YanWQ-monad a5707b4ddc Extract OS-specific part from `UserContextApi` 2024-05-21 09:53:37 +08:00
LI Qing 657d6719c7 Add the `fast_copy` and `fast_copy_nonoverlapping` in frame 2024-05-21 09:48:43 +08:00
Chen Chengjun 2002db5481 Add wait_until_or_cancelled API to WaitQueue 2024-05-20 16:09:27 +08:00
Chen Chengjun 91152bceed Add a small patch to CpuLocal 2024-05-20 16:09:27 +08:00
Chen Chengjun 2d17177cb5 Re-implement the alarm syscall 2024-05-20 16:09:27 +08:00
Chen Chengjun b226928349 Remove the timer module from the aster-frame and adjust the related code 2024-05-20 16:09:27 +08:00
Chen Chengjun d019de29f9 Add abstractions for Clock and Timer 2024-05-20 16:09:27 +08:00
YanWQ-monad 0d5131c822 Extract x86-specific syscall dispatch to arch/x86 2024-05-17 21:29:04 +08:00
LI Qing f19dfc7873 Add the throughput for file_io 2024-05-17 15:26:17 +08:00
YanWQ-monad 82220748c0 Use a seedable RNG instead of `getrandom` crate 2024-05-17 10:28:18 +08:00
Jianfeng Jiang b11e6d2d62 Add syscall accept4 2024-05-16 19:17:38 +08:00
Jianfeng Jiang ea25157790 Support mmap shared anonymous memory 2024-05-16 19:13:32 +08:00
Jianfeng Jiang 89b21ba3b4 Add syscall rt_sigsuspend 2024-05-16 19:10:04 +08:00
Chen Chengjun 25b7007ffa Improve the read/write efficiency of Vmo 2024-05-16 18:58:51 +08:00
LI Qing f4ea23b72c Revise the pages() method in the page cache to only return a reference 2024-05-16 18:54:39 +08:00
LI Qing 770a123415 Change the return value of dup() for Vmo<Rights> 2024-05-16 18:54:39 +08:00
LI Qing e6b0fd8aa3 Optimize the RamFs to reduce the use of redundant locks 2024-05-16 18:54:39 +08:00
LI Qing 27bcece750 Optimize the `ThreadStatus` to be lock-free 2024-05-16 18:54:39 +08:00
LI Qing 0eaa6e637d Optimize the `SigQueues` to return early without lock 2024-05-16 18:54:39 +08:00
Zhenchen Wang 8bcadee540 Extract dentry.rs and mount.rs to path module, rename Dentry and DentryMnt and check usage of pub.
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
Zhenchen Wang 8d18a12385 Refactor DentryMnt and fix some issues
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
plucky 60fa4d104a Rename struct Path to struct DentryMnt
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
plucky 6d486c6c01 Add struct Path for VFS
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
LI Qing bc1bf4cb53 Add the file_io microbenchmark 2024-05-16 13:15:09 +08:00
Jianfeng Jiang 078f9a8891 Add syscall eventfd and eventfd2 2024-05-15 21:52:17 +08:00
YanWQ-monad ccc4e6ec6b Move whole kernel ELF to VMA 2024-05-15 21:31:09 +08:00
Ruihan Li 4e1d98a323 Poll interfaces at the right time 2024-05-15 18:32:02 +08:00
Ruihan Li dbc234ada6 Rename `cx_ptr` to `ctx_ptr` 2024-05-14 10:00:59 +08:00
Ruihan Li 47fe10f17b Avoid poorly chosen variable names 2024-05-14 10:00:59 +08:00
Ruihan Li a215cb54d9 Use `UnsafeCell` to store `UserContext` 2024-05-14 10:00:59 +08:00
Jianfeng Jiang 5189f889a3 Support Channel sending data which does not implement Copy 2024-05-13 20:04:09 +08:00
Ruihan Li 83c2aba0b0 Use `SpinLock` to protect `PROCESSOR` 2024-05-13 19:39:50 +08:00
LI Qing 81cca42205 Refine `WaitQueue` with fast path to return early 2024-05-11 11:11:12 +08:00
Zhang Junyang 035e12a4bd Identify the page table free-reuse-then-read problem and feature gate it 2024-05-10 19:07:05 +08:00
Zhang Junyang 679e5dac68 Remove the VA to PA API and tidy up kernel space 2024-05-10 19:07:05 +08:00