666 Commits

Author SHA1 Message Date
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