Commit Graph

753 Commits

Author SHA1 Message Date
Fabing Li ce0968fbab Fix overwriting of original files and add version awareness 2024-04-28 10:52:13 +08:00
Chuandong Li e77026c30e Fix some performance issue in `VmMapping` 2024-04-26 17:09:00 +08:00
LI Qing 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
LI Qing 349d7baa24 Fix the algorithm error for recycling descriptors in `VirtQueue` 2024-04-26 14:36:46 +08:00
LI Qing b7131e721c Modify the virtio-blk to async 2024-04-26 14:36:46 +08:00
LI Qing 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
Yingdi Shan efa75a2f31 Improve the performance of page_cache by using fine-grained lock and allow page discarding 2024-04-26 11:37:55 +08:00
Ruihan Li 822f2b97c4 Use a spin lock to protect `APIC_INSTANCE` 2024-04-26 11:35:13 +08:00
LI Qing c44b2b35ff Fix the issue about acquiring `Mutex` after a `RwLock` in ramfs 2024-04-26 11:31:50 +08:00
Ruihan Li 698e748150 Set socket errors after connecting 2024-04-25 18:40:08 +08:00
Ruihan Li 27c5c27fd0 Implement non-blocking `connect` 2024-04-25 18:40:08 +08:00
Ruihan Li 9211061181 Add proper IO events for unbound sockets 2024-04-25 18:40:08 +08:00
Ruihan Li 8628543067 Implement `(un)register_observer` for TCP/UDP 2024-04-25 18:40:08 +08:00
Jianfeng Jiang 29ebf8e60c Support reading argv and envp from init stack 2024-04-25 18:27:08 +08:00
Zhang Junyang cc4111cab2 Remove the vars mechanism in OSDK and polish documents 2024-04-25 09:44:46 +08:00
Zhang Junyang 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
Zhang Junyang f9ac2ee498 Fix OSDK feature selection 2024-04-25 09:44:46 +08:00
Zhang Junyang faacb68210 Update OSDK documentations 2024-04-25 09:44:46 +08:00
Zhang Junyang e4c2151566 Implement the next OSDK 2024-04-25 09:44:46 +08:00
Zhang Junyang 79bdbbe4f9 Enable the rust-analyzer for OSDK 2024-04-25 09:44:46 +08:00
Zhang Junyang 3dce753c86 Multiple ways to specify OSDK new's type 2024-04-25 09:44:46 +08:00
Zhang Junyang dcab4e1039 Update documents for the OSDK overhaul 2024-04-25 09:44:46 +08:00
Zhang Junyang 33c53dcf2b Overhaul OSDK 2024-04-25 09:44:46 +08:00
Zhang Junyang 735d7b7b11 Prepare OSDK for multi arch support and the upcoming refactor 2024-04-25 09:44:46 +08:00
LI Qing 0ecb919e73 Add getpid to measure the performance of system calls 2024-04-24 15:14:55 +08:00
fgh1999 d28292cec4 Add debuginfo when using GDB in release profile 2024-04-22 15:21:07 +08:00
fgh1999 94550dd5c6 Add `config` option for `CargoArgs` 2024-04-22 15:21:07 +08:00
fgh1999 0c60a2a667 Update docs about the GDB server address 2024-04-22 15:21:07 +08:00
fgh1999 a52e43218e Disable KVM when using GDB 2024-04-22 15:21:07 +08:00
YanWQ-monad 4f575e2028 Fix `writev` fault when `io_vec.len` is 0 2024-04-22 15:16:46 +08:00
Jianfeng Jiang c778e0c07c Remove redundant empty page in init stack 2024-04-22 15:15:15 +08:00
Fabing Li c335873d12 Enable kernel mode unit tests in kernel threads 2024-04-22 13:57:22 +08:00
Chuandong Li 57cb922253 Increase user stack size 2024-04-22 10:40:46 +08:00
Ruihan Li 4851204059 Implement a safe and race-free `Waiter` 2024-04-17 11:07:07 +08:00
Fabing Li dac41e9a2f Support T:?Sized as type parameter for Mutex, SpinLock, RwLock, and RwMutex 2024-04-17 08:51:59 +08:00
Ruihan Li 92a9f5616e Fix error codes in `bind`, `listen`, and `accept` 2024-04-12 14:39:54 +08:00
Ruihan Li 346887ace5 Fix error codes in UDP `sendto` and `recvfrom` 2024-04-12 14:39:54 +08:00
Ruihan Li 00cfdf86c8 Fix error codes in TCP `sendto` and `recvfrom` 2024-04-12 14:39:54 +08:00
Ruihan Li 51080c1925 Fix error codes in `get{sock,peer}name` 2024-04-12 14:39:54 +08:00
Ruihan Li 8b094454aa Use `From<IpEndpoint>` for `SockAddr` (not `TryFrom`) 2024-04-12 14:39:54 +08:00
Ruihan Li b53980da25 Add a framework for regression tests 2024-04-12 14:39:54 +08:00
LeslieKid e8a991048f Fix typos in comments 2024-04-12 13:28:08 +08:00
Wang Taojie 726632ad70 Update a-100-line-kernel.md 2024-04-11 17:31:48 +08:00
LI Qing c3c6b0c19d Use Dma APIs for virtio-block driver 2024-04-11 15:22:18 +08:00
Jianfeng Jiang d8a841f88a Add DmaBuf for DMA-capable memory areas 2024-04-11 15:22:18 +08:00
LI Qing a60a8ad3e1 Support big file for Ext2 2024-04-10 13:44:12 +08:00
Ruihan Li bd8be26b30 Access the console device table with IRQ disabled 2024-04-10 12:14:28 +08:00
StanPlatinum e4fd51bc6f sigretrun --> sigreturn 2024-04-09 22:06:57 +08:00
Zhang Junyang 63be797c2d Check if we truly pass the tests in auto test 2024-04-09 16:59:21 +08:00