Marsman1996
|
4bce346458
|
Update multiboot2 version
|
2024-09-18 20:10:08 +08:00 |
Ruihan Li
|
2bda8d17c4
|
Rename some misleading method names
|
2024-09-17 17:46:56 +08:00 |
Ruihan Li
|
cefeea7b50
|
Revise `IoMem::resize` into `IoMem::slice`
|
2024-09-17 17:46:56 +08:00 |
Ruihan Li
|
c8ba695c85
|
Implement `VmIoOnce` for `IoMem`
|
2024-09-17 17:46:56 +08:00 |
Jianfeng Jiang
|
f3174dbbbc
|
Make task store Arc<Thread> and process store Arc<Task>
|
2024-09-14 17:34:14 +08:00 |
Zhang Junyang
|
addf42c3f8
|
No need to flush TLB on mapping without overwritting
|
2024-09-14 17:29:39 +08:00 |
Zhang Junyang
|
5df3c9b749
|
Avoid flushing TLB one by one when the un-mapped range is large
|
2024-09-14 17:29:39 +08:00 |
Chen Chengjun
|
1873bb7a3f
|
Add wait_until_* functionality to Waiter
|
2024-09-14 13:59:07 +08:00 |
Yuke Peng
|
32ea24e945
|
Bump version to 0.8.2
|
2024-09-13 23:43:22 +08:00 |
Zhang Junyang
|
bec2c97637
|
Don't copy on write if this is the only reference
|
2024-09-13 20:10:03 +08:00 |
Zhang Junyang
|
f13e5d12c1
|
Set right A/D bits at the right place
|
2024-09-13 20:10:03 +08:00 |
Zhang Junyang
|
d9eccdcfbe
|
Implement remote TLB flush on `VmSpace`
|
2024-09-13 20:10:03 +08:00 |
Zhang Junyang
|
326ec09169
|
Initialize local APICs on every processors
|
2024-09-13 20:10:03 +08:00 |
Zhang Junyang
|
425027677b
|
Add the inter-processor-call facilities
|
2024-09-13 20:10:03 +08:00 |
Yuke Peng
|
63364813a8
|
Change idle task to lowest priority
|
2024-09-13 19:52:00 +08:00 |
Marsman1996
|
f01772ca85
|
Fix panic in Cursor::new by invalid Vaddr range
|
2024-09-12 08:14:01 +08:00 |
Ruize Tang
|
458a6a5b3b
|
Fix unexpected unlock of mutexes, add a testcase
|
2024-09-04 22:23:46 +09:00 |
rikosellic
|
92680ea25d
|
Improve safe comment
|
2024-09-02 17:13:49 +08:00 |
rikosellic
|
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 |
YanWQ-monad
|
e6e771e9b5
|
Better timestamp in logging
|
2024-08-31 10:51:22 +08:00 |
Yuke Peng
|
539984bbed
|
Replace read with read_raw
|
2024-08-29 21:10:17 +08:00 |
Yuke Peng
|
a06662b58e
|
Read rflags directly in is_local_enabled
|
2024-08-29 21:10:17 +08:00 |
Marsman1996
|
ce7413c0fd
|
Fix panic when print stack trace for panic
|
2024-08-29 17:18:02 +08:00 |
Chen Chengjun
|
00d9b01d5c
|
Add a fast path to page table fork
|
2024-08-29 12:31:03 +08:00 |
Shaowei Song
|
aae9fdb331
|
Add assembly `memset` for fast filling zeros
|
2024-08-28 18:06:04 +08:00 |
Chen Chengjun
|
468dae33f0
|
Add an optimization strategy for TLB flushing
|
2024-08-28 12:59:16 +08:00 |
Chen Chengjun
|
ffc717f00b
|
Enable handling page fault around
|
2024-08-28 11:04:03 +08:00 |
Chen Chengjun
|
0c01590981
|
Let jump in pagetable cursor return Result
|
2024-08-28 11:04:03 +08:00 |
Yuke Peng
|
a2778e66f3
|
Bump version to 0.8.1
|
2024-08-27 22:13:38 +08:00 |
Zhang Junyang
|
47be0a909b
|
Schedule tasks to APs in `aster-nix`
|
2024-08-27 17:22:47 +08:00 |
Zhang Junyang
|
5feb8f5de8
|
Refactor the boot PT initialization for SMP
|
2024-08-27 17:22:47 +08:00 |
Zhang Junyang
|
e04fa6c69d
|
Handle `VmSpace`'s multi-CPU activation
|
2024-08-27 17:22:47 +08:00 |
Zhang Junyang
|
cf4aee0061
|
A panic unwind print lock
|
2024-08-27 17:22:47 +08:00 |
Zhang Junyang
|
c9347e59f4
|
Fix the preempt info on APs
|
2024-08-27 17:22:47 +08:00 |
Zhang Junyang
|
aeba7bec52
|
Fix SoftIRQ initialization requirements for SMP
|
2024-08-27 17:22:47 +08:00 |
Cautreoxit
|
86f09eef75
|
Fix all spelling mistakes in history by typos tool
|
2024-08-27 12:19:48 +08:00 |
jellllly420
|
32a1a53ee7
|
Enable check of atomic mode
|
2024-08-26 10:23:25 +08:00 |
Zhang Junyang
|
54cbacb2ff
|
Replace the `CpuLocal`'s `borrow*` APIs with `get_with`
|
2024-08-25 20:14:06 +08:00 |
Zhang Junyang
|
f7a9510be0
|
Refactor the `this_cpu` API with `PinCurrentCpu`
|
2024-08-25 20:14:06 +08:00 |
Zhang Junyang
|
9a94ba23aa
|
Replace the `Deref` implementation of `CpuLocal` with `get_on_cpu`
|
2024-08-25 20:14:06 +08:00 |
Zhang Junyang
|
1e24911198
|
Upgrade the version of `bytemuck` since it's yanked
|
2024-08-24 17:18:24 +08:00 |
Zhang Junyang
|
34b3aac2e3
|
Bump and publish `ostd-test` and `ostd-macros`
|
2024-08-24 17:18:24 +08:00 |
Zhang Junyang
|
e50b05d1ee
|
Bump version to 0.8.0
|
2024-08-23 23:37:50 +08:00 |
Zhang Junyang
|
d76c7a5b1e
|
OSDK check and clippy with `cfg(ktest)`
|
2024-08-23 23:37:50 +08:00 |
Zhang Junyang
|
be3492d7f0
|
Extract the OSTD test runner as a kernel
|
2024-08-23 23:37:50 +08:00 |
Chen Chengjun
|
e555d8c616
|
Set the access bit when mapping a frame to the page table in userspace
|
2024-08-23 19:52:48 +08:00 |
Chen Chengjun
|
7db9ae23a3
|
Make the kernel stack size configurable
|
2024-08-22 22:56:16 +08:00 |
Shaowei Song
|
dce796cdde
|
Refactor all io APIs of vfs based on `VmReader`/`VmWriter`
|
2024-08-22 22:54:30 +08:00 |
Yuke Peng
|
e7105bb580
|
Prevent race condition in heap allocator
|
2024-08-22 12:47:34 +08:00 |
Cautreoxit
|
1833f8047e
|
Modify Dockerfile and bump the version file
|
2024-08-22 09:55:19 +08:00 |
Shaowei Song
|
2102107be1
|
Refactor `VmReader`&`VmWriter` as given fallibility marker
|
2024-08-21 22:24:15 +08:00 |
Ruihan Li
|
562e644375
|
Clarify some safety conditions of `Vm{Reader,Writer}`
|
2024-08-21 09:34:21 +08:00 |
Yuke Peng
|
bbe43d76cc
|
Fix compile error due to `lock_irq_disabled`
|
2024-08-19 16:52:51 +08:00 |
Yuke Peng
|
c6d381bc19
|
Refine documentations
|
2024-08-18 23:58:51 +08:00 |
Yuke Peng
|
b198794e3e
|
Extract DMA remapping feature
|
2024-08-18 23:58:51 +08:00 |
Yuke Peng
|
0bf3595964
|
Extract IOMMU register operations
|
2024-08-18 23:58:51 +08:00 |
Yuke Peng
|
63b42bff73
|
Add register descriptions
|
2024-08-18 23:58:51 +08:00 |
Yuke Peng
|
7d0638958c
|
Fix IOMMU permission check issue
|
2024-08-18 23:58:51 +08:00 |
Cautreoxit
|
c44447d54b
|
Refactor the API of spinlocks
|
2024-08-18 21:06:40 +08:00 |
Zhang Junyang
|
0c9b7c03bb
|
Get ACPI RSDP from EFI tables if not provided in `boot_params`
|
2024-08-17 18:14:27 +08:00 |
Chen Chengjun
|
19184d5c3d
|
Remove the concept of child VMOs and clean-up VMO implementations
|
2024-08-16 10:45:16 +08:00 |
Yuke Peng
|
49692c2068
|
Fix several warnings when ktest is enabled
|
2024-08-16 10:43:55 +08:00 |
Chen Chengjun
|
99a22ff124
|
Improve efficiency of global TLB flushing
|
2024-08-15 23:14:51 +08:00 |
jellllly420
|
2ab4ba11bc
|
Refactor preemption-related code in OSTD
|
2024-08-15 23:06:18 +08:00 |
jellllly420
|
f5464e82c0
|
Implement new scheduling API in OSTD
|
2024-08-15 23:06:18 +08:00 |
Zhang Junyang
|
4844e7ca7c
|
Allow page table protectors to flush TLB entries precisely
|
2024-08-14 20:40:03 +08:00 |
Zhang Junyang
|
9a6e1b03e3
|
Allow the page table un-mapper to flush the TLB precisely
|
2024-08-14 20:40:03 +08:00 |
Zhang Junyang
|
e597a10088
|
Rename `PageTableQueryResult` to `PageTableItem`
|
2024-08-14 20:40:03 +08:00 |
Tate, Hongliang Tian
|
6df0a3073c
|
Add a comment for UserMode
|
2024-08-14 11:43:34 +08:00 |
Zhang Junyang
|
be54a39592
|
Remove the preempt guard from the IRQ guard
|
2024-08-13 20:34:26 +08:00 |
Zhang Junyang
|
491e4325fa
|
Enable IRQs before leaving the OSTD boot routine
|
2024-08-13 20:34:26 +08:00 |
Hsy-Intel
|
a739b3828d
|
Use tdx-guest crate VE handler and support release mode for TDX
|
2024-08-10 11:21:59 +08:00 |
Hsy-Intel
|
7527d20d25
|
Avoid generating Cmp_rm32_imm32 instruction
|
2024-08-10 11:21:59 +08:00 |
Chen Chengjun
|
259b506119
|
Introduce CurrentUserSpace to provide read/write abilities for user space
|
2024-08-09 18:01:01 +08:00 |
Hsy-Intel
|
8317c4c1e8
|
Rename "intel_tdx" feature to "cvm_guest"
|
2024-08-09 17:11:12 +08:00 |
Hsy-Intel
|
ca41687a99
|
Use cfg_if to group tdx cfg block
|
2024-08-09 17:11:12 +08:00 |
Hsy-Intel
|
9bad068215
|
Update conditional compilation for intel_tdx feature
|
2024-08-09 17:11:12 +08:00 |
Qingsong Chen
|
b5f8e4e7bb
|
Fix unnecessary page table activation
|
2024-08-08 23:11:58 +08:00 |
Zhang Junyang
|
37a9590cfe
|
Refactor `ostd::task::processor` based on faster CPU-local cells
|
2024-08-08 19:21:03 +08:00 |
Zhang Junyang
|
05564ecd4f
|
Abort on double panics
|
2024-08-08 19:21:03 +08:00 |
Zhang Junyang
|
fe68b4b510
|
Generalize single instruction CPU local operations by `cpu_local_cell`
|
2024-08-08 19:21:03 +08:00 |
Ruihan Li
|
3deff2e842
|
Implement `VmIoOnce` for `DmaCoherent`
|
2024-08-06 11:34:15 +08:00 |
Ruihan Li
|
cda23937dd
|
Introduce `{read,write}_once`
|
2024-08-06 11:34:15 +08:00 |
Ruihan Li
|
79578c9aa0
|
Use the plural form in `# Panic`
|
2024-08-06 11:34:15 +08:00 |
Ruihan Li
|
dee7734073
|
Fix a missed `write_volatile` in `VmWriter`
|
2024-08-06 11:34:15 +08:00 |
azongchang
|
4d19c710a2
|
Bump linux-bzimage-builder to 0.2.0
|
2024-08-05 15:36:55 +08:00 |
azongchang
|
6752baf166
|
Utilize libflate crate to compress and decompress payload
|
2024-08-05 15:36:55 +08:00 |
Zhang Junyang
|
393c9019c0
|
Boot application processors into spin loops
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
|
2024-07-30 10:24:09 +08:00 |
Zhang Junyang
|
8acfc8eb6a
|
Move `CpuSet` out of `ostd::arch` and implement `this_cpu`
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
|
2024-07-30 10:24:09 +08:00 |
Zhang Junyang
|
da9f55b01f
|
Stop trying to catch panics except for unit tests
|
2024-07-29 22:46:32 +08:00 |
Zhang Junyang
|
42aac5ce8b
|
Optimize the performance of page table un-mapping
|
2024-07-29 22:36:14 +08:00 |
Zhang Junyang
|
862b64b786
|
Sanitize the mutability of page table metadata
|
2024-07-29 22:36:14 +08:00 |
Zhang Junyang
|
819e8dacd5
|
Allow specifying initial page metadata when allocating
|
2024-07-29 22:36:14 +08:00 |
Wang Siyuan
|
12ed40578d
|
Add /proc/meminfo support
|
2024-07-29 13:55:20 +08:00 |
Zhang Junyang
|
3ae884081f
|
Fix both the preempt count atomicity and the CPU-local init problem
|
2024-07-25 13:20:09 +08:00 |
Zhang Junyang
|
00b9bf9610
|
Fix assertion failure constructing `VmReader`s from zero sized slices
|
2024-07-25 13:20:09 +08:00 |
YanWQ-monad
|
5aa28eae7e
|
Extract x86-specific code from `call_irq_callback_functions`
|
2024-07-22 22:04:50 +08:00 |
Zhang Junyang
|
71a486b9a5
|
Bye, `FrameVec`
|
2024-07-20 20:56:29 +08:00 |
Zhang Junyang
|
fd63f8307d
|
Simplify visibility of page table APIs since the module is already `pub(crate)`
|
2024-07-20 20:56:29 +08:00 |
Zhang Junyang
|
668997ab51
|
Refactor the `VmSpace` API and work around misuses
|
2024-07-20 20:56:29 +08:00 |