Commit Graph

164 Commits

Author SHA1 Message Date
909639fd70 Separate SegmentSlice from Segment 2024-10-09 19:23:46 +08:00
d930829866 Bump version to 0.9.1 2024-10-08 17:53:47 +08:00
e1e7afe0ca Use node::Entry to optimize page table cursor operations 2024-10-06 17:15:41 +08:00
96f120d957 Clean up some page table implementation 2024-10-06 17:15:41 +08:00
5bdf85b5f0 Regulate the mapping tracking status of page tables 2024-10-06 17:15:41 +08:00
909fb23f8c Call rescue when low memory in heap allocator 2024-10-06 17:14:50 +08:00
2ddcd2d9a7 Add .code64 to the x86 trap assembly 2024-10-04 21:54:48 +08:00
8b69aba0b8 [RISCV] Fix panic when initramfs not exists 2024-10-04 21:53:52 +08:00
5b336eabdc Bump version to 0.9.0 2024-09-30 20:37:57 +08:00
8f50391a4e Optimize the clear procedure of the page table 2024-09-30 10:46:30 +08:00
4fa0e6334b Add RISC-V base support 2024-09-30 10:02:08 +08:00
839c2a6689 Extract shared code from timer 2024-09-30 10:02:08 +08:00
5c8e369057 Enable scheduler to fetch scheduling information directly from Thread 2024-09-27 10:21:45 +08:00
9cc63149f1 Remove cpu_affinity field from OSTD Task struct 2024-09-27 10:21:45 +08:00
8927031426 Remove priority field from OSTD Task struct 2024-09-27 10:21:45 +08:00
fad39fdf7a Make TLB flush policy relaxed 2024-09-26 19:29:59 +08:00
52f1787d35 Remove syncronizations for the VmSpace PF handler 2024-09-26 19:29:59 +08:00
ac6d9256ef Improve the VmSpace forking API 2024-09-26 19:29:59 +08:00
14531cd99f Implement allocation-free logging 2024-09-24 20:40:37 +08:00
4d36dd541f Extract x86-specific exception handling in aster-nix 2024-09-23 19:39:45 +08:00
a754accf6a Copy the code from slab_allocator into OSTD and add license header 2024-09-22 12:27:04 +08:00
f26c7a01cd Avoid multiple lock in heap allocator 2024-09-22 12:27:04 +08:00
e995ed3ebc Use slab allocator to allocate heap 2024-09-22 12:27:04 +08:00
9a79ecbcbe Clean up the frame buffer state in ostd::mm 2024-09-21 15:38:15 +08:00
2a6733579d Refactor architecture-specific page fault handling 2024-09-20 10:56:13 +08:00
c2f7a10b84 Implement cpu_local with GS and ensure GS points to TSS 2024-09-19 13:00:36 +08:00
52bde1721e Bump version to 0.8.3 2024-09-18 20:10:08 +08:00
4bce346458 Update multiboot2 version 2024-09-18 20:10:08 +08:00
2bda8d17c4 Rename some misleading method names 2024-09-17 17:46:56 +08:00
cefeea7b50 Revise IoMem::resize into IoMem::slice 2024-09-17 17:46:56 +08:00
c8ba695c85 Implement VmIoOnce for IoMem 2024-09-17 17:46:56 +08:00
f3174dbbbc Make task store Arc<Thread> and process store Arc<Task> 2024-09-14 17:34:14 +08:00
addf42c3f8 No need to flush TLB on mapping without overwritting 2024-09-14 17:29:39 +08:00
5df3c9b749 Avoid flushing TLB one by one when the un-mapped range is large 2024-09-14 17:29:39 +08:00
1873bb7a3f Add wait_until_* functionality to Waiter 2024-09-14 13:59:07 +08:00
32ea24e945 Bump version to 0.8.2 2024-09-13 23:43:22 +08:00
bec2c97637 Don't copy on write if this is the only reference 2024-09-13 20:10:03 +08:00
f13e5d12c1 Set right A/D bits at the right place 2024-09-13 20:10:03 +08:00
d9eccdcfbe Implement remote TLB flush on VmSpace 2024-09-13 20:10:03 +08:00
326ec09169 Initialize local APICs on every processors 2024-09-13 20:10:03 +08:00
425027677b Add the inter-processor-call facilities 2024-09-13 20:10:03 +08:00
63364813a8 Change idle task to lowest priority 2024-09-13 19:52:00 +08:00
f01772ca85 Fix panic in Cursor::new by invalid Vaddr range 2024-09-12 08:14:01 +08:00
458a6a5b3b Fix unexpected unlock of mutexes, add a testcase 2024-09-04 22:23:46 +09:00
92680ea25d Improve safe comment 2024-09-02 17:13:49 +08:00
a0ec687315 Page::inc_ref_count conforms to the reference counting invariant
format code

Add detailed annotations

Typo fixed
2024-09-02 17:13:49 +08:00
e6e771e9b5 Better timestamp in logging 2024-08-31 10:51:22 +08:00
539984bbed Replace read with read_raw 2024-08-29 21:10:17 +08:00
a06662b58e Read rflags directly in is_local_enabled 2024-08-29 21:10:17 +08:00
ce7413c0fd Fix panic when print stack trace for panic 2024-08-29 17:18:02 +08:00