Commit Graph

762 Commits

Author SHA1 Message Date
ee740020d0 Use clone_from in OSDK instead of assigning clones 2024-05-06 12:19:16 +08:00
b4a357a971 Separate OSDK lint from kernel lint 2024-05-06 12:19:16 +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
ce0968fbab Fix overwriting of original files and add version awareness 2024-04-28 10:52:13 +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
2616335755 Refine the ext2 case in regression test 2024-04-26 14:36:46 +08:00
3b47143875 Add user preemption functionality 2024-04-26 13:35:23 +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
822f2b97c4 Use a spin lock to protect APIC_INSTANCE 2024-04-26 11:35:13 +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
cc4111cab2 Remove the vars mechanism in OSDK and polish documents 2024-04-25 09:44:46 +08:00
56175f63df Re-implement OSDK debugging fixes and other facilities upon the refactor
This commit bring back the features introduced from d28292c to a52e432:
 - Disable KVM when using GDB;
 - Update docs about the GDB server address;
 - Add `config` option for `CargoArgs` in OSDK;
 - Ensure debug info added when debugging in the release profile.
2024-04-25 09:44:46 +08:00
f9ac2ee498 Fix OSDK feature selection 2024-04-25 09:44:46 +08:00
faacb68210 Update OSDK documentations 2024-04-25 09:44:46 +08:00
e4c2151566 Implement the next OSDK 2024-04-25 09:44:46 +08:00
79bdbbe4f9 Enable the rust-analyzer for OSDK 2024-04-25 09:44:46 +08:00
3dce753c86 Multiple ways to specify OSDK new's type 2024-04-25 09:44:46 +08:00
dcab4e1039 Update documents for the OSDK overhaul 2024-04-25 09:44:46 +08:00
33c53dcf2b Overhaul OSDK 2024-04-25 09:44:46 +08:00
735d7b7b11 Prepare OSDK for multi arch support and the upcoming refactor 2024-04-25 09:44:46 +08:00
0ecb919e73 Add getpid to measure the performance of system calls 2024-04-24 15:14:55 +08:00
d28292cec4 Add debuginfo when using GDB in release profile 2024-04-22 15:21:07 +08:00
94550dd5c6 Add config option for CargoArgs 2024-04-22 15:21:07 +08:00
0c60a2a667 Update docs about the GDB server address 2024-04-22 15:21:07 +08:00
a52e43218e Disable KVM when using GDB 2024-04-22 15:21:07 +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
57cb922253 Increase user stack size 2024-04-22 10:40:46 +08:00
4851204059 Implement a safe and race-free Waiter 2024-04-17 11:07:07 +08:00
dac41e9a2f Support T:?Sized as type parameter for Mutex, SpinLock, RwLock, and RwMutex 2024-04-17 08:51:59 +08:00
92a9f5616e Fix error codes in bind, listen, and accept 2024-04-12 14:39:54 +08:00
346887ace5 Fix error codes in UDP sendto and recvfrom 2024-04-12 14:39:54 +08:00
00cfdf86c8 Fix error codes in TCP sendto and recvfrom 2024-04-12 14:39:54 +08:00
51080c1925 Fix error codes in get{sock,peer}name 2024-04-12 14:39:54 +08:00
8b094454aa Use From<IpEndpoint> for SockAddr (not TryFrom) 2024-04-12 14:39:54 +08:00