Commit Graph

33 Commits

Author SHA1 Message Date
5ed5647d42 Update outdated comments near switch_to_task 2025-04-06 09:49:23 +08:00
600f13ef78 Enforce a task not switched to multiple CPUs 2025-04-02 20:51:42 +08:00
26c50ea335 Track and flush TLBs that map kernel stacks 2025-03-25 17:35:54 +08:00
30ec0be210 Halt the idle CPUs 2025-03-21 21:19:50 +08:00
f1c7564184 Move CPU context implementations to a specific module 2025-03-21 21:19:50 +08:00
248b24fb4e Remove UserSpace abstraction from OSTD 2025-03-20 14:20:47 +08:00
92bc8cbbf7 Make CPU-local and early ACPI initialization heap-less 2025-03-14 08:37:37 +08:00
0dca168717 Use #[expect(lint)], not #[allow(lint)] 2025-02-08 15:10:04 +08:00
2cf4aebe7a Use FnOnce() + Send as task func 2025-01-23 09:57:10 +08:00
38fcaaf749 Implement the task local data 2024-12-26 14:51:20 +08:00
969ac97144 Make atomic mode panics have clear messages 2024-12-11 20:27:29 +08:00
5e35704e38 Support eagerly FPU state save/restore
Co-authored-by: Shaowei Song <songshaowei.ssw@antgroup.com>
2024-11-29 21:53:14 +08:00
3d63ed7a4c Keep interrupts disabled during context switching 2024-11-21 09:02:58 +08:00
a4a8807a20 Remove KernelThreadExt 2024-11-13 21:44:37 +08:00
1469059888 Implement CurrentTask 2024-11-13 10:32:54 +08:00
51db2da151 Add ForceSync 2024-11-13 10:32:54 +08:00
25a918d132 Print who and on which CPU the kernel panics 2024-11-07 16:39:47 +08:00
cff688e128 Drop the strong reference of Task before exiting 2024-10-28 19:22:17 +08:00
29eb37c07c Introduce kernel virtual memory allocation for kernel stack 2024-10-21 09:53:05 +08:00
709e99d75a Make task functions FnOnce 2024-10-20 13:24:58 +08:00
131a25c15c Provide the way to override the panic handler. 2024-10-20 13:24:58 +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
c2f7a10b84 Implement cpu_local with GS and ensure GS points to TSS 2024-09-19 13:00:36 +08:00
f3174dbbbc Make task store Arc<Thread> and process store Arc<Task> 2024-09-14 17:34:14 +08:00
47be0a909b Schedule tasks to APs in aster-nix 2024-08-27 17:22:47 +08:00
c9347e59f4 Fix the preempt info on APs 2024-08-27 17:22:47 +08:00
32a1a53ee7 Enable check of atomic mode 2024-08-26 10:23:25 +08:00
f7a9510be0 Refactor the this_cpu API with PinCurrentCpu 2024-08-25 20:14:06 +08:00
2ab4ba11bc Refactor preemption-related code in OSTD 2024-08-15 23:06:18 +08:00
f5464e82c0 Implement new scheduling API in OSTD 2024-08-15 23:06:18 +08:00
37a9590cfe Refactor ostd::task::processor based on faster CPU-local cells 2024-08-08 19:21:03 +08:00
59350a8578 Rename aster-frame to ostd 2024-06-27 15:45:49 +08:00