Commit Graph

41 Commits

Author SHA1 Message Date
25a918d132 Print who and on which CPU the kernel panics 2024-11-07 16:39:47 +08:00
5233827160 Don't preempt without good reason 2024-11-06 21:53:55 +08:00
768b182aba Make the code a bit cleaner 2024-11-06 21:53:55 +08:00
7e2e9cebf6 Perform more noncontroversial cleanups 2024-10-31 15:19:20 +08:00
9d5350c2ee Use better names and avoid duplication 2024-10-31 15:19:20 +08:00
cff688e128 Drop the strong reference of Task before exiting 2024-10-28 19:22:17 +08:00
3468ec213b Use CpuId with validity ensurance rather than u32 2024-10-26 22:06:41 +08:00
998869d57e Refactor kernel virtual memory allocation for kernel stack and I/O memory 2024-10-21 09:53:05 +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
9e4257b655 Fix multiple issues pointed out by the new compiler 2024-10-13 22:32:05 +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
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
d9eccdcfbe Implement remote TLB flush on VmSpace 2024-09-13 20:10:03 +08:00
63364813a8 Change idle task to lowest priority 2024-09-13 19:52:00 +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
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
f7a9510be0 Refactor the this_cpu API with PinCurrentCpu 2024-08-25 20:14:06 +08:00
d76c7a5b1e OSDK check and clippy with cfg(ktest) 2024-08-23 23:37:50 +08:00
7db9ae23a3 Make the kernel stack size configurable 2024-08-22 22:56:16 +08:00
c44447d54b Refactor the API of spinlocks 2024-08-18 21:06:40 +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
4844e7ca7c Allow page table protectors to flush TLB entries precisely 2024-08-14 20:40:03 +08:00
be54a39592 Remove the preempt guard from the IRQ guard 2024-08-13 20:34:26 +08:00
37a9590cfe Refactor ostd::task::processor based on faster CPU-local cells 2024-08-08 19:21:03 +08:00
fe68b4b510 Generalize single instruction CPU local operations by cpu_local_cell 2024-08-08 19:21:03 +08:00
3ae884081f Fix both the preempt count atomicity and the CPU-local init problem 2024-07-25 13:20:09 +08:00
0f8d8da372 Refactor code related to CPU local memory
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-03 17:40:53 +08:00
8cd8cf3938 Add missing TLB flushes for the kernel stack guard pages 2024-07-02 16:16:54 +08:00
57ecfa2fec Add #[must_use] to all guard types 2024-07-02 12:41:52 +08:00
cd2b305fa8 Modify the userspace read/write usage location 2024-06-28 15:36:21 +08:00
3de8a9330a Fix the OSDK CI failure 2024-06-27 15:45:49 +08:00
59350a8578 Rename aster-frame to ostd 2024-06-27 15:45:49 +08:00