Commit Graph

622 Commits

Author SHA1 Message Date
Shaowei Song 1186fb7ca9 Use `SpinLock` on `FileTable` for efficiency 2024-09-13 19:48:26 +08:00
Shaowei Song 4a43e317b2 Use `SpinLock` on `Subject` 2024-09-13 19:48:26 +08:00
Marsman1996 6fcad6ce14 Fix integer overflow in handle_page_faults_around 2024-09-12 21:24:42 +08:00
Ruize Tang b88c490ff7 Fix incorrect return value for semctl GETZCNT/GETNCNT 2024-09-12 21:09:57 +08:00
Chen Chengjun 1fb34780f6 Eliminate an additional current!() operation in user space pagefault handling 2024-09-12 21:09:16 +08:00
Zhang Junyang 53ce7df53c Warn instead of panic on long clock update interval 2024-09-12 17:53:14 +08:00
Qingsong Chen 787604b7f6 Use ParentProcess to cache parent pid 2024-09-12 17:41:56 +08:00
Shaowei Song 8bfbdf6642 Optimize the lock usage in `RamInode`'s read/write 2024-09-11 12:59:31 +08:00
Marsman1996 42f3411337 Fix index out of bound when `key` of `semget` too large 2024-09-11 12:43:49 +08:00
Zhang Junyang c68302f700 Don't hold any locks while waiting in `EpollFile` 2024-09-07 06:47:12 +08:00
Shaowei Song 9638744712 Unseekable files need not to manipulate the `offset` 2024-09-02 18:42:35 +08:00
Yuke Peng 6ce50fab1c Refactor semaphore to support atomic semop 2024-09-02 17:12:04 +08:00
Shaowei Song dcc9600cb4 Do not modify timestamps on device read/write 2024-09-02 17:09:16 +08:00
Marsman1996 745ac6d982 Set overflow boundary to `isize::MAX` for memory related syscalls 2024-09-01 15:40:46 +08:00
Marsman1996 9589b332aa Add more overflow checks in `mmap` 2024-09-01 15:40:46 +08:00
Marsman1996 e184094648 Fix integer overflow caused by page align 2024-09-01 15:40:46 +08:00
Marsman1996 0a8ad6971a Fix integer overflow caused by large addr + size in memory related syscall 2024-09-01 15:40:46 +08:00
Yuke Peng db16caf28c [Semaphore] Replace Mutex with SpinLock 2024-08-30 22:52:24 +08:00
Yuke Peng b17e3e24d8 [Semaphore] Avoid using `CurrentUserSpace::get` 2024-08-30 22:52:24 +08:00
Yuke Peng d88d8fd307 [Semaphore] Remove duplicate PID and time settings 2024-08-30 22:52:24 +08:00
Yuke Peng 3297976700 [Semaphore] Optimize the update_pending_ops 2024-08-30 22:52:24 +08:00
Yuke Peng a8970daec2 [Semaphore] Remove Box in pending_ops 2024-08-30 22:52:24 +08:00
Fabing Li 6ce25dc38b Fix lock releasing of fcntl 2024-08-29 17:06:01 +08:00
Fabing Li be8cc24544 Fix infinite waiting of range locks 2024-08-29 17:06:01 +08:00
Shaowei Song 5bc696a85a Make the allocated segment uninitialized in the ring buffer 2024-08-29 12:30:04 +08:00
Shaowei Song e6f465b553 Replace all the ring buffers with the new one 2024-08-29 00:33:47 +08:00
Shaowei Song 923b3704d7 Add a new ring buffer backed by a `Segment` 2024-08-29 00:33:47 +08:00
jellllly420 59b7a9397f Fix deadlock while acquiring lock on local runqueue 2024-08-29 00:32:12 +08:00
Ruihan Li 65aa156e92 Implement UNIX abstract address namespace 2024-08-28 19:54:36 +08:00
Shaowei Song aae9fdb331 Add assembly `memset` for fast filling zeros 2024-08-28 18:06:04 +08:00
Jianfeng Jiang a72c7dadf3 Optimize the latency of lmbench-signal-prot 2024-08-28 14:27:41 +08:00
Yuke Peng 434f143e30 Pass can reuse to bind_socket 2024-08-28 14:01:18 +08:00
Yuke Peng dc4df47007 Implement UDP getsockopt and setsockopt 2024-08-28 14:01:18 +08:00
Chen Chengjun ffc717f00b Enable handling page fault around 2024-08-28 11:04:03 +08:00
Yuke Peng a5e6c11d1a Correct FcntlCmd 2024-08-27 22:14:40 +08:00
Zhang Junyang 47be0a909b Schedule tasks to APs in `aster-nix` 2024-08-27 17:22:47 +08:00
Zhang Junyang ed82c11dd3 Use a `SpinLock` for the thread table instead of `Mutex` 2024-08-27 17:22:47 +08:00
Cautreoxit 86f09eef75 Fix all spelling mistakes in history by typos tool 2024-08-27 12:19:48 +08:00
Jianfeng Jiang aa77747f94 Make mprotect&munmap return fast when len is zero 2024-08-26 12:06:31 +08:00
Jianfeng Jiang 212440dbb1 Fix: mmap len cannot be zero 2024-08-26 12:06:31 +08:00
jellllly420 32a1a53ee7 Enable check of atomic mode 2024-08-26 10:23:25 +08:00
Zhang Junyang 54cbacb2ff Replace the `CpuLocal`'s `borrow*` APIs with `get_with` 2024-08-25 20:14:06 +08:00
Zhang Junyang f7a9510be0 Refactor the `this_cpu` API with `PinCurrentCpu` 2024-08-25 20:14:06 +08:00
Zhang Junyang 9a94ba23aa Replace the `Deref` implementation of `CpuLocal` with `get_on_cpu` 2024-08-25 20:14:06 +08:00
Yuke Peng 3cac1b2a03 Use AtomicU32 to read/write latest modified pid 2024-08-25 20:13:05 +08:00
Yuke Peng ccdf2dc54f Drop the `MutexGuard` of semaphore earlier 2024-08-25 20:13:05 +08:00
Yuke Peng 547e6430ee Pass the reference of sem_buf to semop 2024-08-25 20:13:05 +08:00
Yuke Peng 83a4366a72 Remove check_sem in semop 2024-08-25 20:13:05 +08:00
Yuke Peng 4b1f2f720e Avoid using `current` in semop 2024-08-25 20:13:05 +08:00
Chen Chengjun 6bde87d33a Fix a bug of InitStack during doing fork+exec 2024-08-25 15:14:11 +08:00
Zhang Junyang 1e24911198 Upgrade the version of `bytemuck` since it's yanked 2024-08-24 17:18:24 +08:00
Zhang Junyang dafd16075f Remove the shim kernel crate 2024-08-23 23:37:50 +08:00
Zhang Junyang d76c7a5b1e OSDK check and clippy with `cfg(ktest)` 2024-08-23 23:37:50 +08:00
Zhang Junyang be3492d7f0 Extract the OSTD test runner as a kernel 2024-08-23 23:37:50 +08:00
Yuke Peng 715733f551 Implement dummy NamedPipe 2024-08-23 19:56:36 +08:00
Yuke Peng ea64ddfde5 Change the API of `mknod` 2024-08-23 19:56:36 +08:00
Yuke Peng 95f67b3d67 Remove duplicate `FileType` enumerate 2024-08-23 19:56:36 +08:00
Yuke Peng 069cd7932b Block when `incoming_conns` reaches backlog 2024-08-23 19:55:25 +08:00
Ruihan Li 2d6da11d92 Add comments about two polling loops 2024-08-23 19:27:12 +08:00
Yuke Peng 42f70fd779 Fix reachable unwrap panic in `check_sem()` 2024-08-23 19:24:17 +08:00
Yuke Peng bb4751741a Bump smoltcp to newest git version 2024-08-22 22:58:36 +08:00
Shaowei Song dce796cdde Refactor all io APIs of vfs based on `VmReader`/`VmWriter` 2024-08-22 22:54:30 +08:00
Marsman1996 ef9e600c9d Fix panic in `sys_waitid()` by options 2024-08-22 09:56:10 +08:00
Marsman1996 ec7391468c Fix panic in `from_which_and_id()` 2024-08-22 09:56:10 +08:00
Marsman1996 90688286aa Improve readability 2024-08-22 09:50:47 +08:00
Marsman1996 95aaef9aa1 Check the length of timers before delete 2024-08-22 09:50:47 +08:00
Marsman1996 c38907374a Check the length of timers before access 2024-08-22 09:50:47 +08:00
Shaowei Song 2102107be1 Refactor `VmReader`&`VmWriter` as given fallibility marker 2024-08-21 22:24:15 +08:00
Marsman1996 fda0fa0512 Align `len` in `madvise` 2024-08-20 13:10:00 +08:00
Marsman1996 22f9c072f3 Move the check location following Linux behaviors 2024-08-20 13:10:00 +08:00
Marsman1996 18607c33ea Fix panic in `madv_free()` 2024-08-20 13:10:00 +08:00
Ruihan Li e3307a6945 Use `Connected` to replace `Endpoint` 2024-08-18 23:57:56 +08:00
Ruihan Li 639eedb2e1 Remove unused error code 2024-08-18 23:57:56 +08:00
Ruihan Li 47857fc10f Fix remote addresses in connected UNIX sockets 2024-08-18 23:57:56 +08:00
Ruihan Li a3d4748d6b Fix behavior in UNIX socket `listen()` 2024-08-18 23:57:56 +08:00
Ruihan Li ac19a7e0e7 Fix race conditions in UNIX socket `listen()` 2024-08-18 23:57:56 +08:00
Ruihan Li a2d94675eb Move `impl Drop` to UNIX listeners 2024-08-18 23:57:56 +08:00
Ruihan Li 98e2a99195 Store `Arc<Backlog>` in UNIX listeners 2024-08-18 23:57:56 +08:00
Yuke Peng 994f3727d8 Introduce somaxconn to restrict backlog 2024-08-18 23:56:40 +08:00
Yuke Peng 46d45de37a Change the log level of page fault handler failed 2024-08-18 23:20:57 +08:00
Cautreoxit c44447d54b Refactor the API of spinlocks 2024-08-18 21:06:40 +08:00
Yuke Peng 60ef523aaf Implement semctl syscall 2024-08-18 16:37:39 +08:00
Yuke Peng 9d83e76931 Implement semop and semtimedop syscall 2024-08-18 16:37:39 +08:00
Yuke Peng 4530253a99 Implement semget syscall 2024-08-18 16:37:39 +08:00
Yuke Peng b7a5f797de Add System V semaphore basic support 2024-08-18 16:37:39 +08:00
Fabing Li ce2af1eb05 Add flock and sys_flock 2024-08-17 18:18:23 +08:00
Fabing Li cbd8879243 Add range lock and sys_fcntl 2024-08-17 18:18:23 +08:00
Fabing Li 4a2da992a6 Add Extension implementation on inode for lock storing 2024-08-17 18:18:23 +08:00
Chen Chengjun 9c7fd8fef5 Add dummy msync 2024-08-17 18:07:09 +08:00
Marsman1996 cf30599729 Propagate errors of futex operations when used in futex syscall instead of panic on them
by @jellllly420
2024-08-17 18:01:32 +08:00
Marsman1996 4c1f6a4e32 Fix panic in futex and rt_sigprocmask 2024-08-17 18:01:32 +08:00
Chen Chengjun 364ef48e2f Fix a concurrency bug in clocksource 2024-08-17 17:57:26 +08:00
Jianfeng Jiang 0291b5dc6b Optimize the latency of lmbench-select-file 2024-08-16 11:19:29 +08:00
Marsman1996 5b5f9cffd1 Fix panic when transfer `how` to enum in sys_rt_sigprocmask() 2024-08-16 11:14:11 +08:00
Chen Chengjun 2ca7b28bbc Refactor the elf loading logics 2024-08-16 10:45:16 +08:00
Chen Chengjun 950fbc131b Implement resize mapping and modify the brk implementation 2024-08-16 10:45:16 +08:00
Chen Chengjun 4bf355af50 Refactor mmap and support shared filebacked mmap 2024-08-16 10:45:16 +08:00
Chen Chengjun 19184d5c3d Remove the concept of child VMOs and clean-up VMO implementations 2024-08-16 10:45:16 +08:00
Chen Chengjun 9f9169adfe Modify the Vmar APIs to fit the modifications of VmMapping 2024-08-16 10:45:16 +08:00
Chen Chengjun ff842cb778 VMOs only provide pages to mappings and anonymous mappings are decoupled from VMOs 2024-08-16 10:45:16 +08:00
Chen Chengjun cb56e6368d Do some clean-up for vdso.rs 2024-08-16 10:45:16 +08:00
Chen Chengjun 24e7f77803 Add duplicate_frame method 2024-08-16 10:45:16 +08:00
Yuke Peng 49692c2068 Fix several warnings when ktest is enabled 2024-08-16 10:43:55 +08:00
Chen Chengjun 99a22ff124 Improve efficiency of global TLB flushing 2024-08-15 23:14:51 +08:00
jellllly420 f5464e82c0 Implement new scheduling API in OSTD 2024-08-15 23:06:18 +08:00
Zhang Junyang 4844e7ca7c Allow page table protectors to flush TLB entries precisely 2024-08-14 20:40:03 +08:00
Zhang Junyang 9a6e1b03e3 Allow the page table un-mapper to flush the TLB precisely 2024-08-14 20:40:03 +08:00
Zhang Junyang e597a10088 Rename `PageTableQueryResult` to `PageTableItem` 2024-08-14 20:40:03 +08:00
Zhang Junyang 491e4325fa Enable IRQs before leaving the OSTD boot routine 2024-08-13 20:34:26 +08:00
Ruihan Li f499f54cf5 Record the original bound name 2024-08-13 19:32:22 +08:00
Ruihan Li 6b50d28ba1 Remove unnecessary self-connecting check 2024-08-13 19:32:22 +08:00
Ruihan Li 8bcb5a2a5f Avoid nested locks 2024-08-13 19:32:22 +08:00
Ruihan Li 5445a26ec5 Fix results of getting UNIX names 2024-08-13 19:32:22 +08:00
Ruihan Li 8fdd22de8a Align the buffer size of pipes and UNIX sockets 2024-08-13 19:30:02 +08:00
Zhang Junyang 38b46f7ac3 Prefer `Context::get_user_space` than `CurrentUserSpace::get` 2024-08-12 10:38:35 +08:00
Zhang Junyang 8cf7063150 Replace most of the `current_thread!` usages via `Context` 2024-08-12 10:38:35 +08:00
Zhang Junyang 9200538175 Replace a myriad of `current!` usages via `Context` 2024-08-12 10:38:35 +08:00
Zhang Junyang f84d328956 Optimize getters of the current process credentials 2024-08-12 10:38:35 +08:00
Zhang Junyang 66a37da214 Allow passing the process `Context` to syscall handlers 2024-08-12 10:38:35 +08:00
Zhang Junyang 19ad2a2eb4 Remove module-level allowed lints in system call handlers 2024-08-12 10:38:35 +08:00
Hsy-Intel a739b3828d Use tdx-guest crate VE handler and support release mode for TDX 2024-08-10 11:21:59 +08:00
Yuke Peng 7b4c13f5d7 Implement MADV_FREE in madvise 2024-08-10 11:14:53 +08:00
Chen Chengjun 75da7fd30e Replace old user space read/write with new APIs 2024-08-09 18:01:01 +08:00
Chen Chengjun 7ade2fcb57 Remove Vmar usage from InitStack 2024-08-09 18:01:01 +08:00
Chen Chengjun 12c60852f1 Modify the logics of setting child thread tid 2024-08-09 18:01:01 +08:00
Chen Chengjun 259b506119 Introduce CurrentUserSpace to provide read/write abilities for user space 2024-08-09 18:01:01 +08:00
Hsy-Intel 8317c4c1e8 Rename "intel_tdx" feature to "cvm_guest" 2024-08-09 17:11:12 +08:00
Hsy-Intel ca41687a99 Use cfg_if to group tdx cfg block 2024-08-09 17:11:12 +08:00
Hsy-Intel 9bad068215 Update conditional compilation for intel_tdx feature 2024-08-09 17:11:12 +08:00
Jianfeng Jiang dc124351d2 Add gvisor pselect test 2024-08-09 15:46:05 +08:00
Jianfeng Jiang 8b73cc8761 Support sigmask in pselect6 2024-08-09 15:46:05 +08:00
Yuke Peng c4e9a0db38 Remove the implementation of `MADV_DONTNEED` 2024-08-09 14:07:09 +08:00
YanWQ-monad 97fab9edea Prepare aster-time for platform-dependent implementations 2024-08-09 08:53:24 +08:00
Chen Chengjun acb4833aae Optimize trim_mappings 2024-08-09 00:12:20 +08:00
Qingsong Chen cd9e5d11d2 Optimize futex implementation 2024-08-08 23:11:58 +08:00
Shaowei Song 8dce83605f Add sys_fallocate 2024-08-08 21:10:38 +08:00
Zhang Junyang 37a9590cfe Refactor `ostd::task::processor` based on faster CPU-local cells 2024-08-08 19:21:03 +08:00
Zhang Junyang fe68b4b510 Generalize single instruction CPU local operations by `cpu_local_cell` 2024-08-08 19:21:03 +08:00
Jianfeng Jiang 6414111cc5 Support flag SA_RESETHAND 2024-08-08 15:20:13 +08:00
Chen Chengjun 9a299b68f0 Make the behavior of sys_execve be consistent with Linux 2024-08-08 15:08:55 +08:00
Ruihan Li b1ea422efa Fix accesses to VirtIO queue DMA 2024-08-06 11:34:15 +08:00
Ruihan Li 4deba9baca Rewrite the whole `net/addr.rs` file 2024-08-05 10:24:56 +08:00
Ruihan Li d814603504 Move `IpEndpoint` to `socket/ip/addr.rs` 2024-08-05 10:24:56 +08:00
Chen Chengjun b11628b9ce Remove destroy_all methods 2024-08-05 10:24:05 +08:00
Zhang Junyang 16690bc61b Implement atomic signal masks and refactor `SigSet` 2024-08-04 21:41:44 +08:00
Shaowei Song 20a856b07f Revise the naming of all sync/async io APIs 2024-07-30 20:58:07 +08:00
Zhang Junyang 870d542f60 Remove the error of `BlkFeatures::MQ` to support multi-processor startup
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-30 10:24:09 +08:00
Zhang Junyang 460234a18b Check userspace NULL pointers without triggering kernel page faults 2024-07-29 22:46:32 +08:00
Qingsong Chen 077a9ac3ab Add fcntl subcommand F_GETOWN/F_SETOWN 2024-07-29 22:25:24 +08:00
Ruihan Li c320552ae1 Remove `clean_for_close`/`flush` in `FileLike` 2024-07-29 22:13:02 +08:00
Yuke Peng f57dcd814a Extend user heap limit to 64MB 2024-07-29 22:09:21 +08:00
Ruihan Li fce5785af6 Fix socket lock IRQ behavior 2024-07-29 16:56:29 +08:00
Ruihan Li a14ac1ccbf Fix socket lock ordering 2024-07-29 16:56:29 +08:00
Jianfeng Jiang 3981cd63cd Wake up background polling thread when old_instant is 0
Co-authored-by: Ruihan Li <lrh2000@pku.edu.cn>
2024-07-29 16:56:29 +08:00
Ruihan Li 328ce9e92c Properly close sockets 2024-07-29 16:56:29 +08:00
Ruihan Li 94b23e077d Use relaxed ordering for polling instant 2024-07-29 16:56:29 +08:00
Ruihan Li 4df7654034 Repeat iface polling if necessary 2024-07-29 16:56:29 +08:00
Wang Siyuan 12ed40578d Add /proc/meminfo support 2024-07-29 13:55:20 +08:00
Shaowei Song ff525112d0 Revise the `BlockDevice` trait 2024-07-29 13:54:13 +08:00
Ruihan Li e83e1fc01b Unpack states from `Arc` in UNIX sockets 2024-07-25 21:38:18 +08:00
Ruihan Li 8df51ab001 Move `status` from channels to pipes 2024-07-25 21:38:18 +08:00
Ruihan Li d24c7f8b9c Remove dead code in `pipe.rs` 2024-07-25 21:38:18 +08:00
Ruihan Li 31d99c66c2 Unpack `Arc<Endpoint>` in UNIX sockets 2024-07-25 21:38:18 +08:00
Chen Chengjun 7ee728e2c7 Fix robust list iteartion bug 2024-07-25 21:37:11 +08:00
Shaowei Song 9e57db7d54 [ext2] Introuce unified inode functions to read/write block(s) 2024-07-25 21:31:18 +08:00
Shaowei Song b1cec501d8 [page_cache] Gap within one page should be filled with zeros in shrink case 2024-07-25 21:31:18 +08:00
StanPlatinum 0b8335c943 Add /proc/filesystems support 2024-07-25 13:21:37 +08:00
Yuke Peng e7a75947ea Remove ETIME logic in sys_poll 2024-07-22 21:45:52 +08:00
Yuke Peng 6ada748b79 Remove ETIME logic in sys_select 2024-07-22 21:45:52 +08:00
Yuke Peng faa4234c7d Return Ok when timer expired in do_poll 2024-07-22 21:45:52 +08:00
hongwen.chw 4dacff5be4 Fix a typo when assign 'dst.rbx' at `copy_gp_regs` 2024-07-21 22:34:58 +08:00
Zhang Junyang 668997ab51 Refactor the `VmSpace` API and work around misuses 2024-07-20 20:56:29 +08:00
Ruihan Li 9f125cd671 Remove the nonsense mutex in `Poller` 2024-07-19 18:37:54 +08:00
Ruihan Li 94eba6d85e Add unit tests about blocking behavior 2024-07-18 20:45:16 +08:00
Ruihan Li a219b6a485 Rename `Endpoint` to `Fifo` 2024-07-18 20:45:16 +08:00
Ruihan Li 39cd4420f2 Fix many error codes in pipes 2024-07-18 20:45:16 +08:00
Ruihan Li 8e72451448 Reuse the `wait_events` method in pipes 2024-07-18 20:45:16 +08:00
Ruihan Li 1c0d865373 Refine the event lock for pipes 2024-07-18 20:45:16 +08:00
Ruihan Li ab9941263b Avoid duplicate `wait_events` methods 2024-07-18 20:45:16 +08:00
Ruihan Li 6e8896165d Remove `BusyBoxTraceFile` 2024-07-18 20:45:16 +08:00
Ruihan Li 9505e5704e Avoid the unused `rights` field 2024-07-18 20:45:16 +08:00
Yuke Peng 7621b71113 Remove unused documentations 2024-07-18 20:38:24 +08:00
Yuke Peng 31746e2ebf Use WaitQueue to implement waiting in FutexWaiter 2024-07-18 20:38:24 +08:00
Jianfeng Jiang f86583dbce Make essential changes for publishing OSTD 2024-07-18 18:18:05 +08:00
Jianfeng Jiang 49eef0c094 Select should not return ETIME 2024-07-18 18:09:39 +08:00
Jianfeng Jiang 2766d95c18 Poll should not return ETIME 2024-07-18 18:09:39 +08:00
YanWQ-monad bffc34c94b Don't check access mode if the file is being created 2024-07-18 17:55:23 +08:00
Qingsong Chen fbf2afd799 Add ioctl subcommand FIONBIO/FIOASYNC 2024-07-18 11:39:52 +08:00
Qingsong Chen da987db700 Add prctl subcommand PR_GET_DUMPABLE/PR_SET_DUMPABLE 2024-07-16 22:31:26 +08:00
Yuke Peng 0417ad7376 Ignore timeout error in epoll_wait 2024-07-16 22:26:57 +08:00
Hsy-Intel 4292ec2ebb Make intel_tdx feature as default 2024-07-16 21:22:29 +08:00
Ruihan Li 3d2a0c33af Clean up the virtio console IRQ handler a bit 2024-07-14 16:43:23 +08:00
Ruihan Li a465ec1346 Work around a QEMU bug in virtio console pasting 2024-07-14 16:43:23 +08:00
Ruihan Li ceb0ef67e1 Make `Pauser` work in raw tasks 2024-07-14 16:42:08 +08:00
Ruihan Li 8f64a1cb90 Make `Pauser` work in kernel threads 2024-07-14 16:42:08 +08:00
Zhang Junyang 9e5f3123e1 Log messages to the serial atomically and rename `arch::serial`
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-09 21:56:03 +08:00
Hsy-Intel b73412c2ff Fix known TDX issues 2024-07-09 19:43:55 +08:00
Yuke Peng d43fbd88ba Add documentation to bus 2024-07-09 19:42:15 +08:00
Yuke Peng 0970adb37b Add documentation to x86/device 2024-07-09 19:42:15 +08:00
LI Qing 76f9193882 Add timestamp support for ramfs 2024-07-08 22:31:30 +08:00
Yuke Peng 8726d858f2 Add pselect6 syscall 2024-07-08 18:21:08 +08:00
Fabing Li 623f4c9177 [Quick Fix] update ctime for utimes syscalls 2024-07-04 14:59:41 +08:00
LI Qing 9377a43f8f Add timestamp support for ext2 2024-07-04 14:42:54 +08:00
Weijie Liu edc1412cc8 Add /proc/sys/kernel/cap_last_cap support 2024-07-04 10:47:30 +08:00
Zhenchen Wang 12b355b701 Fix issue about pathname and redefine the Filetype.
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-07-03 21:59:25 +08:00
Zhenchen Wang d8389da797 Add syscall mknod
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-07-03 21:59:25 +08:00
Zhang Junyang 0f8d8da372 Refactor code related to CPU local memory
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-03 17:40:53 +08:00
Qingsong Chen 98619f3482 Init RNG with rdrand directly (without getrandom) 2024-07-03 14:56:33 +08:00
Ruihan Li 57ecfa2fec Add `#[must_use]` to all guard types 2024-07-02 12:41:52 +08:00
Ruihan Li 9e4775d9e2 Remove dead code from `UtimeExt` 2024-06-29 12:38:23 +08:00
Fabing Li f675552c5a Rename regression to test 2024-06-28 20:33:21 +08:00
Ruihan Li 5eefd600cc Avoid unused variables in the network module 2024-06-28 20:24:27 +08:00
Ruihan Li 94e043ac8d Update nonblocking flags of UNIX sockets correctly 2024-06-28 20:24:27 +08:00
Ruihan Li fa584bd8f5 Set the TX buffer length of UDP sockets correctly 2024-06-28 20:24:27 +08:00
Chen Chengjun cd2b305fa8 Modify the userspace read/write usage location 2024-06-28 15:36:21 +08:00
Chen Chengjun af908c29cf Refactor the read/write operations to userspace 2024-06-28 15:36:21 +08:00
Chen Chengjun 09b6153d29 Refactor VmReader/Writer to support both kernel space and user space 2024-06-28 15:36:21 +08:00
Chen Chengjun 5b9dd2fee8 Clear the robust list during do_execve 2024-06-28 15:36:21 +08:00
Fabing Li 12db7ec55d Add and refactor read-write syscalls 2024-06-27 23:16:14 +08:00
Fabing Li d3c172013a Fix unused warning of `UtimeExt` 2024-06-27 21:22:46 +08:00
Fabing Li d33f90eaeb Add sys_access and sys_faccessat 2024-06-27 15:56:04 +08:00
Fabing Li 212dd562a0 Add sys_fdatasync and sync_data 2024-06-27 15:55:16 +08:00
Fabing Li 5edc110f9d Reconstruct utime-like syscalls and fix filetime implementations 2024-06-27 15:54:04 +08:00
Jianfeng Jiang 3de8a9330a Fix the OSDK CI failure 2024-06-27 15:45:49 +08:00
Jianfeng Jiang fe7251c413 Rename aster_main as ostd::main 2024-06-27 15:45:49 +08:00
Jianfeng Jiang 59350a8578 Rename aster-frame to ostd 2024-06-27 15:45:49 +08:00
Zhang Junyang 6b17cceacc Replace the futex hash buckects with `Once` to fix the leak 2024-06-26 21:00:44 +08:00
Shaocong Sun 1b22267a87 Add readahead for pagecache 2024-06-26 20:22:20 +08:00
Fabing Li 053f8d416e Add syscall getdents 2024-06-26 19:16:31 +08:00
Ruihan Li 2beeedf7ed Allow overwriting PTEs in shared memory regions 2024-06-25 16:18:34 +08:00
Jianfeng Jiang cb5b996274 Add syscall sendmsg and recvmsg 2024-06-25 13:40:58 +08:00
Yuke Peng c5d0099dfd Refactor Monitor 2024-06-25 13:39:27 +08:00
Yuke Peng 89ce1f4df9 Add schedule after WorkItem enqueue 2024-06-25 13:39:27 +08:00
Hsy-Intel a2060039c2 Add TDX get report function 2024-06-25 11:51:01 +08:00
LI Qing 68aebe4175 Fix the potential deadlock issue of Ext2 2024-06-24 22:36:19 +08:00
Zhang Junyang eaf51ccb24 Fix multiple dead code problems 2024-06-21 10:57:08 +08:00
Zhang Junyang 05533d7afd Fix multiple documentation issues concerned by clippy 2024-06-21 10:57:08 +08:00
Zhang Junyang 18a0490e23 Respond to the `cargo metadata` package ID change in comp-sys 2024-06-21 10:57:08 +08:00
Zhang Junyang 952fbacaf1 Fix multiple deprecation problems 2024-06-21 10:57:08 +08:00
Zhang Junyang cda8ffa7da Fix the usage of underscores in Cargo manifest keys 2024-06-21 10:57:08 +08:00
Zhang Junyang d6714c4b47 Fix multiple `Default` implementation caveats 2024-06-21 10:57:08 +08:00
Zhang Junyang ab1d931cb7 Adjust for Rust unstable feature's stability change 2024-06-21 10:57:08 +08:00
Zhang Junyang 5231005f37 Follow the Rust API change of `BTreeCursor` 2024-06-21 10:57:08 +08:00
LI Qing 9711d43c84 Use `Ord::clamp` to simplify the scheduling priority value 2024-06-20 19:16:26 +08:00
Weijie Liu 3b66b0686e Add /proc/[pid]/cmdline support 2024-06-18 13:15:35 +08:00
Hsy-Intel 9e03ac7d0f Temporarily disable TDX get report 2024-06-18 13:13:05 +08:00
Sun12551 d0e95776cb Optimize write_bytes for Vmo 2024-06-18 13:08:17 +08:00
hongwen.chw 75e9382d57 typo: Some typo in net/socket/mod.rs 2024-06-18 12:54:52 +08:00
hongwen.chw 3123222995 chore: Reduce once instant.total_millis() 2024-06-18 12:54:52 +08:00
Yingdi Shan cea4fd7777 Fix the concurrency bug when multiple threads committing the same page 2024-06-13 23:16:22 +08:00