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 |
Jianfeng Jiang
|
f86583dbce
|
Make essential changes for publishing OSTD
|
2024-07-18 18:18:05 +08:00 |
Zhang Junyang
|
8a9c012249
|
Check CPUID before enabling AVX512
|
2024-07-17 10:24:45 +08:00 |
Ruihan Li
|
07a0ea07c0
|
Disable preemption in page table locks
|
2024-07-16 21:38:09 +08:00 |
Ruihan Li
|
cc49384e96
|
Rename `inc_ref` to `inc_ref_count`
|
2024-07-16 21:38:09 +08:00 |
Ruihan Li
|
ef1fd645c2
|
Rename `get_ref_count` to `ref_count`
|
2024-07-16 21:38:09 +08:00 |
Ruihan Li
|
e9330eea7d
|
Prefer `ManuallyDrop` than `mem::forget`
|
2024-07-16 21:38:09 +08:00 |
Ruihan Li
|
7966719e6a
|
Wrap mutable data into `UnsafeCell`
|
2024-07-16 21:38:09 +08:00 |
Ruihan Li
|
4f2d537516
|
Remove the level in `RawPageTableNode`
|
2024-07-16 21:38:09 +08:00 |
Shaowei Song
|
6cfccccab1
|
Enable AVX-512 flags in XCR0
|
2024-07-16 21:26:20 +08:00 |
Hsy-Intel
|
4292ec2ebb
|
Make intel_tdx feature as default
|
2024-07-16 21:22:29 +08:00 |
Zhang Junyang
|
9e5f3123e1
|
Log messages to the serial atomically and rename `arch::serial`
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
|
2024-07-09 21:56:03 +08:00 |
Yuke Peng
|
d43fbd88ba
|
Add documentation to bus
|
2024-07-09 19:42:15 +08:00 |
Yuke Peng
|
0970adb37b
|
Add documentation to x86/device
|
2024-07-09 19:42:15 +08:00 |
Zhang Junyang
|
9cbbcf63a7
|
Switch the dependency of `unwinding` back to `crates.io`
|
2024-07-09 09:45:58 +08:00 |
Shaowei Song
|
02bf6a9b47
|
Bump version to 0.6.2
|
2024-07-08 17:13:16 +08:00 |
Yuke Peng
|
defb563541
|
Bump version to 0.6.1
|
2024-07-08 15:26:29 +08:00 |
Ruihan Li
|
28f5480f70
|
Add notes about the volatile memory copy
|
2024-07-08 15:03:23 +08:00 |
Yuke Peng
|
608eba369c
|
Format logger output
|
2024-07-04 10:56:55 +08:00 |
Yuke Peng
|
cf56bce57c
|
Pass kernel command line option to logger
|
2024-07-04 10:56:55 +08:00 |
Zhang Junyang
|
0cf954801d
|
Support sending IPI using APIC
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
|
2024-07-03 17:50:10 +08:00 |
Zhang Junyang
|
fef8eebadc
|
Reverse the page table unlock order
|
2024-07-03 17:42:31 +08:00 |
Zhang Junyang
|
02912e19cb
|
Add documentations for the page table cursors' validity
|
2024-07-03 17:42:31 +08:00 |
Zhang Junyang
|
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 |
Qingsong Chen
|
98619f3482
|
Init RNG with rdrand directly (without getrandom)
|
2024-07-03 14:56:33 +08:00 |
Qingsong Chen
|
9932ea0797
|
Remove PDPE's global bit of boot page table
|
2024-07-03 14:56:33 +08:00 |
Zhang Junyang
|
ece62cf806
|
Add missing TLB flushes for coherent DMA mappings
|
2024-07-02 16:16:54 +08:00 |
Zhang Junyang
|
8cd8cf3938
|
Add missing TLB flushes for the kernel stack guard pages
|
2024-07-02 16:16:54 +08:00 |
Ruihan Li
|
57ecfa2fec
|
Add `#[must_use]` to all guard types
|
2024-07-02 12:41:52 +08:00 |
Chen Chengjun
|
b7a3f1a540
|
Use volatile copy in VmReader/VmWriter
|
2024-06-28 20:23:24 +08:00 |
Chen Chengjun
|
cd2b305fa8
|
Modify the userspace read/write usage location
|
2024-06-28 15:36:21 +08:00 |
Chen Chengjun
|
af908c29cf
|
Refactor the read/write operations to userspace
|
2024-06-28 15:36:21 +08:00 |
Chen Chengjun
|
09b6153d29
|
Refactor VmReader/Writer to support both kernel space and user space
|
2024-06-28 15:36:21 +08:00 |
Chen Chengjun
|
994427c71a
|
Add function memcpy_fallible
|
2024-06-28 15:36:21 +08:00 |
Chen Chengjun
|
5f7cf245ac
|
Enable exception table mechanism
|
2024-06-28 15:36:21 +08:00 |
Jianfeng Jiang
|
3de8a9330a
|
Fix the OSDK CI failure
|
2024-06-27 15:45:49 +08:00 |
Jianfeng Jiang
|
fe7251c413
|
Rename aster_main as ostd::main
|
2024-06-27 15:45:49 +08:00 |
Jianfeng Jiang
|
59350a8578
|
Rename aster-frame to ostd
|
2024-06-27 15:45:49 +08:00 |