770a123415
Change the return value of dup() for Vmo<Rights>
2024-05-16 18:54:39 +08:00
e6b0fd8aa3
Optimize the RamFs to reduce the use of redundant locks
2024-05-16 18:54:39 +08:00
27bcece750
Optimize the ThreadStatus
to be lock-free
2024-05-16 18:54:39 +08:00
0eaa6e637d
Optimize the SigQueues
to return early without lock
2024-05-16 18:54:39 +08:00
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
8d18a12385
Refactor DentryMnt and fix some issues
...
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn >
2024-05-16 13:30:52 +08:00
60fa4d104a
Rename struct Path to struct DentryMnt
...
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn >
2024-05-16 13:30:52 +08:00
6d486c6c01
Add struct Path for VFS
...
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn >
2024-05-16 13:30:52 +08:00
078f9a8891
Add syscall eventfd and eventfd2
2024-05-15 21:52:17 +08:00
4e1d98a323
Poll interfaces at the right time
2024-05-15 18:32:02 +08:00
5189f889a3
Support Channel sending data which does not implement Copy
2024-05-13 20:04:09 +08:00
989970429a
Refactor the definition of page properties and permissions
2024-05-10 19:07:05 +08:00
ef1ab72ebe
Let page table own frames and remove MemorySet
2024-05-10 19:07:05 +08:00
82bdadf754
Add a PTE extension mechanism
2024-05-10 19:07:05 +08:00
24a868a670
Implement an efficient ranged page table
2024-05-10 19:07:05 +08:00
a6055bb092
Fix a deadlock issue in ramfs
2024-05-10 11:05:41 +08:00
c3d0c59041
Fix the logics for the coarse resolution clock id in VDSO.
2024-05-09 17:34:10 +08:00
ff3ff0a598
Fix the potential bugs of read and write in Vmar
2024-05-09 17:23:55 +08:00
d1990869ae
Make ID allocator a separate crate and use it in the frame
2024-05-09 14:35:12 +08:00
8f3b1f8ddf
Reduce some redundant usage of current!
and current_thread!
2024-05-09 14:33:21 +08:00
98a2e623e2
Avoid computation of log message arguments in syscall handler
2024-05-09 14:33:21 +08:00
da5873e990
Allow implementations for dynamically borrowed RwMutex
guards
2024-05-09 10:41:21 +08:00
d15b4d9115
Allow dynamically borrowed mutex guard
2024-05-09 10:41:21 +08:00
11e4984df2
Allow dynamically borrowed RwLock
guards
2024-05-09 10:41:21 +08:00
c2d09675b3
Rename FileDescripter to FileDesc
2024-05-09 10:23:46 +08:00
0594a73ac9
Improve the efficiency of unmap in VmMappingInner
2024-05-08 16:05:18 +08:00
ab87f473c4
Remove pointless error codes in unregister_observer
2024-05-08 15:48:55 +08:00
2b67dee1fc
Add syscall epoll_pwait
2024-05-06 14:17:58 +08:00
1435dd0896
Add syscall nanosleep
2024-05-06 14:15:24 +08:00
cd3faa8123
Inherit HasDaddr for reference type
2024-04-29 20:33:57 +08:00
a482c87696
Remove add_buf from VirtQueue
2024-04-29 20:33:57 +08:00
2256f6ae8a
Extend Safeptr to support DmaStream
2024-04-29 20:33:57 +08:00
345ab8f838
Add write_vals for VmIo
2024-04-29 20:33:57 +08:00
abb377b695
Replace SpinLock with RwLock in driver callbacks
2024-04-29 20:33:57 +08:00
cd1575bc6d
Refactor virtio drivers with DMA APIs
2024-04-29 20:33:57 +08:00
5e127b2da0
Remove local tdx-guest crate
2024-04-29 10:13:04 +08:00
e77026c30e
Fix some performance issue in VmMapping
2024-04-26 17:09:00 +08:00
c875201c3f
Fix deadlocks that may arise after converting virtio-blk to async
...
The IRQ part of the driver must NOT share a SpinLock with
the normal part of the driver unless the SpinLock is acquired
with IRQ disabled in the task context.
2024-04-26 14:36:46 +08:00
349d7baa24
Fix the algorithm error for recycling descriptors in VirtQueue
2024-04-26 14:36:46 +08:00
b7131e721c
Modify the virtio-blk to async
2024-04-26 14:36:46 +08:00
efa75a2f31
Improve the performance of page_cache by using fine-grained lock and allow page discarding
2024-04-26 11:37:55 +08:00
c44b2b35ff
Fix the issue about acquiring Mutex
after a RwLock
in ramfs
2024-04-26 11:31:50 +08:00
698e748150
Set socket errors after connecting
2024-04-25 18:40:08 +08:00
27c5c27fd0
Implement non-blocking connect
2024-04-25 18:40:08 +08:00
9211061181
Add proper IO events for unbound sockets
2024-04-25 18:40:08 +08:00
8628543067
Implement (un)register_observer
for TCP/UDP
2024-04-25 18:40:08 +08:00
29ebf8e60c
Support reading argv and envp from init stack
2024-04-25 18:27:08 +08:00
4f575e2028
Fix writev
fault when io_vec.len
is 0
2024-04-22 15:16:46 +08:00
c778e0c07c
Remove redundant empty page in init stack
2024-04-22 15:15:15 +08:00
c335873d12
Enable kernel mode unit tests in kernel threads
2024-04-22 13:57:22 +08:00