Commit Graph

128 Commits

Author SHA1 Message Date
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
00d9b01d5c Add a fast path to page table fork 2024-08-29 12:31:03 +08:00
aae9fdb331 Add assembly memset for fast filling zeros 2024-08-28 18:06:04 +08:00
468dae33f0 Add an optimization strategy for TLB flushing 2024-08-28 12:59:16 +08:00
ffc717f00b Enable handling page fault around 2024-08-28 11:04:03 +08:00
0c01590981 Let jump in pagetable cursor return Result 2024-08-28 11:04:03 +08:00
a2778e66f3 Bump version to 0.8.1 2024-08-27 22:13:38 +08:00
47be0a909b Schedule tasks to APs in aster-nix 2024-08-27 17:22:47 +08:00
5feb8f5de8 Refactor the boot PT initialization for SMP 2024-08-27 17:22:47 +08:00
e04fa6c69d Handle VmSpace's multi-CPU activation 2024-08-27 17:22:47 +08:00
cf4aee0061 A panic unwind print lock 2024-08-27 17:22:47 +08:00
c9347e59f4 Fix the preempt info on APs 2024-08-27 17:22:47 +08:00
aeba7bec52 Fix SoftIRQ initialization requirements for SMP 2024-08-27 17:22:47 +08:00
86f09eef75 Fix all spelling mistakes in history by typos tool 2024-08-27 12:19:48 +08:00
32a1a53ee7 Enable check of atomic mode 2024-08-26 10:23:25 +08:00
54cbacb2ff Replace the CpuLocal's borrow* APIs with get_with 2024-08-25 20:14:06 +08:00
f7a9510be0 Refactor the this_cpu API with PinCurrentCpu 2024-08-25 20:14:06 +08:00
9a94ba23aa Replace the Deref implementation of CpuLocal with get_on_cpu 2024-08-25 20:14:06 +08:00
1e24911198 Upgrade the version of bytemuck since it's yanked 2024-08-24 17:18:24 +08:00
34b3aac2e3 Bump and publish ostd-test and ostd-macros 2024-08-24 17:18:24 +08:00
e50b05d1ee Bump version to 0.8.0 2024-08-23 23:37:50 +08:00
d76c7a5b1e OSDK check and clippy with cfg(ktest) 2024-08-23 23:37:50 +08:00
be3492d7f0 Extract the OSTD test runner as a kernel 2024-08-23 23:37:50 +08:00
e555d8c616 Set the access bit when mapping a frame to the page table in userspace 2024-08-23 19:52:48 +08:00
7db9ae23a3 Make the kernel stack size configurable 2024-08-22 22:56:16 +08:00
dce796cdde Refactor all io APIs of vfs based on VmReader/VmWriter 2024-08-22 22:54:30 +08:00
e7105bb580 Prevent race condition in heap allocator 2024-08-22 12:47:34 +08:00
1833f8047e Modify Dockerfile and bump the version file 2024-08-22 09:55:19 +08:00
2102107be1 Refactor VmReader&VmWriter as given fallibility marker 2024-08-21 22:24:15 +08:00
562e644375 Clarify some safety conditions of Vm{Reader,Writer} 2024-08-21 09:34:21 +08:00
bbe43d76cc Fix compile error due to lock_irq_disabled 2024-08-19 16:52:51 +08:00
c6d381bc19 Refine documentations 2024-08-18 23:58:51 +08:00
b198794e3e Extract DMA remapping feature 2024-08-18 23:58:51 +08:00
0bf3595964 Extract IOMMU register operations 2024-08-18 23:58:51 +08:00
63b42bff73 Add register descriptions 2024-08-18 23:58:51 +08:00
7d0638958c Fix IOMMU permission check issue 2024-08-18 23:58:51 +08:00
c44447d54b Refactor the API of spinlocks 2024-08-18 21:06:40 +08:00