Zhang Junyang
|
fad39fdf7a
|
Make TLB flush policy relaxed
|
2024-09-26 19:29:59 +08:00 |
Zhang Junyang
|
52f1787d35
|
Remove syncronizations for the `VmSpace` PF handler
|
2024-09-26 19:29:59 +08:00 |
Zhang Junyang
|
7407cc8091
|
Remove some repetitive locks forking `Vmar`
|
2024-09-26 19:29:59 +08:00 |
Zhang Junyang
|
ac6d9256ef
|
Improve the `VmSpace` forking API
|
2024-09-26 19:29:59 +08:00 |
Marsman1996
|
d4036d1e9d
|
Handle error in `FsResolver::create_new_file()`
|
2024-09-26 17:45:00 +08:00 |
Shaowei Song
|
f2af6136da
|
Minor optimizations on both `lat-syscall-stat` and `lat-syscall-open`
|
2024-09-26 15:25:49 +08:00 |
Ruihan Li
|
fc77c474db
|
Move and group methods
|
2024-09-26 15:22:16 +08:00 |
Ruihan Li
|
3fc396f5f1
|
Adjust the ephemeral port
|
2024-09-26 15:22:16 +08:00 |
Ruihan Li
|
eb3a033496
|
Refine some lock usages
|
2024-09-26 15:22:16 +08:00 |
Ruihan Li
|
b13a82dc61
|
Bump smoltcp version
|
2024-09-26 15:22:16 +08:00 |
Ruihan Li
|
51334c4a36
|
Clean up smoltcp dependencies
|
2024-09-26 15:22:16 +08:00 |
Ruihan Li
|
d62bb1ca76
|
Use static IP addresses
|
2024-09-26 15:22:16 +08:00 |
Jianfeng Jiang
|
fb718fd440
|
Optimize the latency of lat-sig-install
|
2024-09-25 17:29:20 +08:00 |
jellllly420
|
21fedd1b60
|
Implement atomic wrapper for integer-like type
|
2024-09-25 14:47:37 +08:00 |
Shaowei Song
|
ae4ac38471
|
Optimize the cache and lock parts in `MountNode`
|
2024-09-25 11:22:24 +08:00 |
Shaowei Song
|
791c566b71
|
Optimize the cache and lock parts in `Dentry`
|
2024-09-25 11:22:24 +08:00 |
Shaowei Song
|
2c6dd074d1
|
Refactor the path lookup in `FsResolver`
|
2024-09-25 11:22:24 +08:00 |
Ruihan Li
|
1aa8b0abc6
|
Correct lock usages in UNIX sockets
|
2024-09-24 20:49:48 +08:00 |
Marsman1996
|
cbe85a1878
|
Add check for negative `timeval_t.sec` in `do_futimesat`
|
2024-09-24 20:36:29 +08:00 |
Ruihan Li
|
179705a3fc
|
Fix RamFS readahead
|
2024-09-24 20:34:19 +08:00 |
YanWQ-monad
|
4d36dd541f
|
Extract x86-specific exception handling in aster-nix
|
2024-09-23 19:39:45 +08:00 |
Yuke Peng
|
46708f84bc
|
Implement futex private flag
|
2024-09-22 16:00:56 +08:00 |
Yuke Peng
|
228cfe2262
|
Preallocate some space when expanding size in ext2
|
2024-09-21 20:22:39 +08:00 |
Yuke Peng
|
550eafcb79
|
Preallocate some space when expanding size in ramfs
|
2024-09-21 20:22:39 +08:00 |
Zhang Junyang
|
9a79ecbcbe
|
Clean up the frame buffer state in `ostd::mm`
|
2024-09-21 15:38:15 +08:00 |
YanWQ-monad
|
2a6733579d
|
Refactor architecture-specific page fault handling
|
2024-09-20 10:56:13 +08:00 |
Jianfeng Jiang
|
c5009e38f1
|
Add pipe/short_rw test
Co-authored-by: Ruihan Li <lrh2000@pku.edu.cn>
|
2024-09-20 10:37:20 +08:00 |
Jianfeng Jiang
|
985813c7f9
|
Use IoVec-based reader/writer to refactor network APIs
|
2024-09-20 10:37:20 +08:00 |
Marsman1996
|
b4003b8aeb
|
Add normalize for `timeval_t` and const value for time
|
2024-09-20 10:35:03 +08:00 |
Marsman1996
|
4fa4e5ef2a
|
Add check during the conversion from `timeval_t` to `Duration`
|
2024-09-20 10:35:03 +08:00 |
Jianfeng Jiang
|
70505ff4f8
|
Support futex wait timeout
|
2024-09-19 22:42:13 +08:00 |
Qingsong Chen
|
c2f7a10b84
|
Implement cpu_local with GS and ensure GS points to TSS
|
2024-09-19 13:00:36 +08:00 |
Jianfeng Jiang
|
f159b42b61
|
Fix the condition in is_last_thread
|
2024-09-18 16:59:17 +08:00 |
Ruihan Li
|
2bda8d17c4
|
Rename some misleading method names
|
2024-09-17 17:46:56 +08:00 |
Ruihan Li
|
cefeea7b50
|
Revise `IoMem::resize` into `IoMem::slice`
|
2024-09-17 17:46:56 +08:00 |
Ruihan Li
|
c8ba695c85
|
Implement `VmIoOnce` for `IoMem`
|
2024-09-17 17:46:56 +08:00 |
Ruihan Li
|
aa62f0a4e6
|
Make `field_ptr!` accept `VmIoOnce`
|
2024-09-17 17:46:56 +08:00 |
Shaowei Song
|
22b04ceae4
|
Optimize the `DirEntry` of `RamInode`
|
2024-09-16 15:59:59 +08:00 |
Shaowei Song
|
f194514100
|
Optimize the page cache within a `RamInode`
|
2024-09-16 15:59:59 +08:00 |
Marsman1996
|
44629e4627
|
Fix panic in FutexKey::load_val when no read access
|
2024-09-14 22:45:59 +08:00 |
Jianfeng Jiang
|
f3174dbbbc
|
Make task store Arc<Thread> and process store Arc<Task>
|
2024-09-14 17:34:14 +08:00 |
Jianfeng Jiang
|
81b0f265b5
|
Move Tid from Thread to PosixThread
|
2024-09-14 17:34:14 +08:00 |
Zhang Junyang
|
195fe855a1
|
Mark all surrounding pages accessed on page fault
|
2024-09-14 17:29:39 +08:00 |
Chen Chengjun
|
42e28763c5
|
Replace the Pausers' usage with Waiter/WaitQueue
|
2024-09-14 13:59:07 +08:00 |
Chen Chengjun
|
822caf34f4
|
Move Pauser's functionality to Waiter/WaiterQueue and add the per-thread signalled waker
|
2024-09-14 13:59:07 +08:00 |
Chen Chengjun
|
1873bb7a3f
|
Add wait_until_* functionality to Waiter
|
2024-09-14 13:59:07 +08:00 |
Chen Chengjun
|
6a5a5b4d3d
|
Add a fast path to has_pending
|
2024-09-14 13:59:07 +08:00 |
Marsman1996
|
fc895c5697
|
Fix panic in `mmap` by invalid `perms`
|
2024-09-13 23:42:37 +08:00 |
Marsman1996
|
8421046dba
|
Return when sigset size error
|
2024-09-13 22:12:50 +08:00 |
Ruihan Li
|
320092eda2
|
Implement blocking `connect` properly
|
2024-09-13 22:09:46 +08:00 |
Ruihan Li
|
6f915133b5
|
Fix error codes in `bind`
|
2024-09-13 22:09:46 +08:00 |
Ruihan Li
|
a345e11b96
|
Fix error codes in `send`, `recv`, `accept`
|
2024-09-13 22:09:46 +08:00 |
Ruihan Li
|
a8592a16ea
|
Fix I/O events related to shutdown
|
2024-09-13 22:09:46 +08:00 |
Ruihan Li
|
421f6b8e5b
|
Fix I/O events cross different states
|
2024-09-13 22:09:46 +08:00 |
Ruihan Li
|
f831f5685f
|
Fix I/O events for UNIX connected sockets
|
2024-09-13 22:09:46 +08:00 |
Shaowei Song
|
7ddb69f4db
|
Make special devices go to the `FileIo` fast path
|
2024-09-13 22:09:06 +08:00 |
Ruihan Li
|
1b9b76d27c
|
Make use of new `SpinLock` APIs
|
2024-09-13 21:31:20 +08:00 |
Ruihan Li
|
67d3682116
|
Move smoltcp-related code to bigtcp
|
2024-09-13 21:31:20 +08:00 |
Ruihan Li
|
9fba9445bd
|
Introduce `IpIface` and `EtherIface`
|
2024-09-13 21:31:20 +08:00 |
Ruihan Li
|
dd2cde3aee
|
Introduce `IfaceExt`
|
2024-09-13 21:31:20 +08:00 |
Ruihan Li
|
538065b42f
|
Remove unused methods and revise documentations
|
2024-09-13 21:31:20 +08:00 |
Ruihan Li
|
7a13c0dff6
|
Fix behavior related to EPOLLONESHOT
|
2024-09-13 21:02:06 +08:00 |
Ruihan Li
|
0a053404b9
|
Adjust error messages
|
2024-09-13 21:02:06 +08:00 |
Ruihan Li
|
6151d65cf5
|
Fix poll behavior
|
2024-09-13 21:02:06 +08:00 |
Ruihan Li
|
479d98c8b9
|
Use `(fd, file)` as the key
|
2024-09-13 21:02:06 +08:00 |
Ruihan Li
|
d70ae181b5
|
Avoid nested loops
|
2024-09-13 21:02:06 +08:00 |
Ruihan Li
|
25daab7e78
|
Avoid duplicate code
|
2024-09-13 21:02:06 +08:00 |
Ruihan Li
|
fa52eeb88f
|
Remove unnecessary `is_deleted`
|
2024-09-13 21:02:06 +08:00 |
Zhang Junyang
|
bec2c97637
|
Don't copy on write if this is the only reference
|
2024-09-13 20:10:03 +08:00 |
Zhang Junyang
|
f13e5d12c1
|
Set right A/D bits at the right place
|
2024-09-13 20:10:03 +08:00 |
Zhang Junyang
|
4e9460593d
|
Check for the mapping status before handling the page fault
|
2024-09-13 20:10:03 +08:00 |
Zhang Junyang
|
d9eccdcfbe
|
Implement remote TLB flush on `VmSpace`
|
2024-09-13 20:10:03 +08:00 |
Yuke Peng
|
63364813a8
|
Change idle task to lowest priority
|
2024-09-13 19:52:00 +08:00 |
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 |