108 Commits

Author SHA1 Message Date
jellllly420
e1480f94ee fix: enable timely delivery of POSIX signals while busy-looping 2024-06-01 20:08:11 +08:00
Fabing Li
34e9d71fe4 Add condition variable implementation 2024-05-31 20:25:31 +08:00
mag1cian
6e9516daa4 Fix 'early_println' with no arguments 2024-05-31 16:09:53 +08:00
Chen Chengjun
558248a070 Enable softirq mechanism 2024-05-31 16:05:58 +08:00
YanWQ-monad
fa7d0a787f Extract x86-specific trap handler code 2024-05-31 11:41:02 +08:00
Ruihan Li
28b66c1c8c Avoid creating linear mappings with the SHARED flag set 2024-05-30 20:45:59 +08:00
Zhang Junyang
56a4909211 Revert fast_copy and fast_copy_nonoverlapping in the framework
This reverts commit 657d6719c7e28cbfba459c7b5fef305d95e21e0e.
2024-05-28 22:35:25 +08:00
YanWQ-monad
2636bb0838 Extract x86-specific TaskContext 2024-05-24 16:57:35 +08:00
Ruihan Li
69abc09f5a Add missing TLB flushes to VmSpace 2024-05-23 10:34:58 +08:00
Ruihan Li
83b88229a3 Unify headers of safety comments 2024-05-22 13:21:16 +08:00
Jianfeng Jiang
07fbbcfd8c Add syscall clone3 2024-05-21 19:22:13 +08:00
YanWQ-monad
a5707b4ddc Extract OS-specific part from UserContextApi 2024-05-21 09:53:37 +08:00
LI Qing
657d6719c7 Add the fast_copy and fast_copy_nonoverlapping in frame 2024-05-21 09:48:43 +08:00
Chen Chengjun
2002db5481 Add wait_until_or_cancelled API to WaitQueue 2024-05-20 16:09:27 +08:00
Chen Chengjun
91152bceed Add a small patch to CpuLocal 2024-05-20 16:09:27 +08:00
Chen Chengjun
b226928349 Remove the timer module from the aster-frame and adjust the related code 2024-05-20 16:09:27 +08:00
Chen Chengjun
d019de29f9 Add abstractions for Clock and Timer 2024-05-20 16:09:27 +08:00
YanWQ-monad
ccc4e6ec6b Move whole kernel ELF to VMA 2024-05-15 21:31:09 +08:00
Ruihan Li
dbc234ada6 Rename cx_ptr to ctx_ptr 2024-05-14 10:00:59 +08:00
Ruihan Li
47fe10f17b Avoid poorly chosen variable names 2024-05-14 10:00:59 +08:00
Ruihan Li
a215cb54d9 Use UnsafeCell to store UserContext 2024-05-14 10:00:59 +08:00
Ruihan Li
83c2aba0b0 Use SpinLock to protect PROCESSOR 2024-05-13 19:39:50 +08:00
LI Qing
81cca42205 Refine WaitQueue with fast path to return early 2024-05-11 11:11:12 +08:00
Zhang Junyang
035e12a4bd Identify the page table free-reuse-then-read problem and feature gate it 2024-05-10 19:07:05 +08:00
Zhang Junyang
679e5dac68 Remove the VA to PA API and tidy up kernel space 2024-05-10 19:07:05 +08:00
Zhang Junyang
cf5cfb3475 Enable global page and add a global TLB flushing function 2024-05-10 19:07:05 +08:00
Zhang Junyang
989970429a Refactor the definition of page properties and permissions 2024-05-10 19:07:05 +08:00
Zhang Junyang
351e08c897 Escalate page table consts to be paging consts 2024-05-10 19:07:05 +08:00
Zhang Junyang
2dbeb92326 Implement fine grained locks for the page table and adjust APIs 2024-05-10 19:07:05 +08:00
Zhang Junyang
ef1ab72ebe Let page table own frames and remove MemorySet 2024-05-10 19:07:05 +08:00
Zhang Junyang
b6f8661abb Add unit tests for the page table 2024-05-10 19:07:05 +08:00
Zhang Junyang
82bdadf754 Add a PTE extension mechanism 2024-05-10 19:07:05 +08:00
Zhang Junyang
513ac97969 Add shortcuts for writing page table protections 2024-05-10 19:07:05 +08:00
Zhang Junyang
24a868a670 Implement an efficient ranged page table 2024-05-10 19:07:05 +08:00
Chen Chengjun
c9cfb98746 Improve the efficiency of fill method in VmWriter 2024-05-10 11:08:51 +08:00
Chuandong Li
a6055bb092 Fix a deadlock issue in ramfs 2024-05-10 11:05:41 +08:00
Zhang Junyang
d1990869ae Make ID allocator a separate crate and use it in the frame 2024-05-09 14:35:12 +08:00
LI Qing
8f3b1f8ddf Reduce some redundant usage of current! and current_thread! 2024-05-09 14:33:21 +08:00
Zhang Junyang
da5873e990 Allow implementations for dynamically borrowed RwMutex guards 2024-05-09 10:41:21 +08:00
Zhang Junyang
d15b4d9115 Allow dynamically borrowed mutex guard 2024-05-09 10:41:21 +08:00
Zhang Junyang
11e4984df2 Allow dynamically borrowed RwLock guards 2024-05-09 10:41:21 +08:00
Zhang Junyang
3dd6f71936 Allow dynamically borrowed spinlock guard 2024-05-09 10:41:21 +08:00
Jianfeng Jiang
cd3faa8123 Inherit HasDaddr for reference type 2024-04-29 20:33:57 +08:00
Jianfeng Jiang
345ab8f838 Add write_vals for VmIo 2024-04-29 20:33:57 +08:00
Jianfeng Jiang
cd1575bc6d Refactor virtio drivers with DMA APIs 2024-04-29 20:33:57 +08:00
Hsy-Intel
5e127b2da0 Remove local tdx-guest crate 2024-04-29 10:13:04 +08:00
LI Qing
b7131e721c Modify the virtio-blk to async 2024-04-26 14:36:46 +08:00
徐启航
3b47143875 Add user preemption functionality 2024-04-26 13:35:23 +08:00
Ruihan Li
822f2b97c4 Use a spin lock to protect APIC_INSTANCE 2024-04-26 11:35:13 +08:00
Fabing Li
c335873d12 Enable kernel mode unit tests in kernel threads 2024-04-22 13:57:22 +08:00