Zhang Junyang
f1c7564184
Move CPU context implementations to a specific module
2025-03-21 21:19:50 +08:00
Chen Chengjun
af4cf19eb4
Modify the 100-lines example
2025-03-20 14:20:47 +08:00
Zhang Junyang
58ad43b0a9
Adjust feature selection
2025-03-20 11:44:28 +08:00
Zhang Junyang
2bcc13a9e2
`force-unwind-tables=yes` instead of `panic=unwind`
2025-03-20 11:44:28 +08:00
Ruihan Li
6476ef22ec
Bump version to 0.14.0
2025-03-17 20:09:20 +08:00
Ruihan Li
32ffdee37b
Fix PE/COFF header in EFI stub
2025-03-17 13:30:59 +08:00
Ruihan Li
10926ce547
Include payload as bytes in EFI stub
2025-03-17 13:30:59 +08:00
Zhang Junyang
fbb8ea6ad1
Bump version to 0.13.0
2025-03-14 21:18:13 +08:00
Zhang Junyang
288942b970
Revise the docs of the slab and remove an unused type
2025-03-14 21:17:47 +08:00
Zhang Junyang
3d21258baf
Add descriptions and READMEs for crates published with OSDK
2025-03-14 19:55:00 +08:00
Zhang Junyang
a708a0c046
Inject a scalable slab allocator
2025-03-14 19:55:00 +08:00
Zhang Junyang
eb74d87bed
Bump version to 0.12.0
2025-03-14 09:48:59 +08:00
Zhang Junyang
28e7c0ff1f
Add a fixed-size cache of frame allocation
2025-03-14 08:37:37 +08:00
Zhang Junyang
5f05963ee5
Inject a scalable buddy system allocator to OSTD
...
Co-authored-by: Zhe Tang <tangzh@stu.pku.edu.cn>
2025-03-14 08:37:37 +08:00
Zhang Junyang
9c430b9901
Move the test kernel to `OSDK/deps`
2025-03-14 08:37:37 +08:00
Fabing Li
30251964ee
Bump version to 0.11.3
2025-02-27 11:55:02 +08:00
Fabing Li
9b8c6b5aa9
Update the toolchain version in template
2025-02-27 11:36:41 +08:00
Fabing Li
cbb4b4e631
Fix lint errors
2025-02-27 11:36:41 +08:00
Fabing Li
82a2c4cdec
Bumped version to 0.11.2
2025-02-27 09:05:03 +08:00
Zhang Junyang
17c8da7459
Fix the problem that OSDK picks the test kernel by default
2025-02-21 21:17:29 +08:00
Zhang Junyang
d74d126e64
Enhance OSDK profile stability for SMP
2025-02-21 09:54:36 +08:00
Zejun Zhao
faf2bcc3ef
Make `cargo osdk profile` more fine-grained
2025-02-13 16:01:40 +08:00
Zhang Junyang
3e31df74e3
Fix an unfulfilled lint expectation on OSDK unit tests
2025-02-11 10:48:34 +08:00
Zhang Junyang
0fc2bccd44
Let OSDK forward commands to the base crate if it is kernel
2025-02-11 10:48:34 +08:00
Zhang Junyang
cb2d8412aa
Refactor the generation of base crates
2025-02-11 10:48:34 +08:00
Zhang Junyang
32a6025819
Refactor the parsing of OSDK crate types
2025-02-11 10:48:34 +08:00
Ruihan Li
95bbc7f367
Enforce `#[expect(lint)]`
2025-02-08 15:10:04 +08:00
Ruihan Li
0dca168717
Use `#[expect(lint)]`, not `#[allow(lint)]`
2025-02-08 15:10:04 +08:00
Zhang Junyang
397ce9652f
Refactor boot modules to make heap allocation explicit
2025-01-02 10:41:51 +08:00
jiangjianfeng
bfc71d1b27
Bump version to 0.11.1
2024-12-30 16:24:22 +08:00
Zhang Junyang
983a6af3cc
Polish the doc and rename variables in `ostd::mm`
2024-12-27 12:12:51 +08:00
Zhang Junyang
cdac59beda
Implement a new set of physical page APIs
2024-12-27 12:12:51 +08:00
Zhang Junyang
c9a37ccab1
Renaming concepts around pages and frames
...
This commit renames `Frame` -> `UntypedFrame` and `Page` -> `Frame`.
So do other concepts in the following list:
- `Segment` -> `UntypedSegment`,
- `ContPages` -> `Segment`,
- `DynPage` -> `AnyFrame`,
- `PageMeta` -> `FrameMeta`,
- `FrameMeta` -> `UntypedMeta`.
This commit also re-organized the source in the `mm/page` and `mm/frame`
module to accommodate the changes.
2024-12-27 12:12:51 +08:00
Cautreoxit
bd89c9c578
Bump the version to 0.11.0
2024-12-26 19:20:58 +08:00
Fabing Li
6f98c4900d
Bump version to 0.10.3
2024-12-20 09:49:35 +08:00
Ruihan Li
c5d1542736
Bump version to 0.10.2
2024-12-17 10:47:41 +08:00
Ruize Tang
ea1874aa46
Enhance OSDK performance by using size and modified time instead of sha256sum
2024-12-15 16:42:57 +08:00
Ruize Tang
9d82ac8958
Enhance OSDK performance by using hard link instead of copy
2024-12-15 16:42:57 +08:00
Ruize Tang
7601509e6e
Fix OSDK original directory not restored if bundle validation fails
2024-12-15 16:42:57 +08:00
Ruize Tang
858e95ed4d
Enhance OSDK performance by reusing existing base, bundle and build
2024-12-15 16:42:57 +08:00
Ruihan Li
18d5eb1f02
Use physical addresses in boot segments
2024-12-13 10:42:05 +08:00
Ruihan Li
a3ae1aa28a
Make segments explicit and aligned
2024-12-13 10:42:05 +08:00
Ruihan Li
6eecde7812
Remove some unused sections
2024-12-13 10:42:05 +08:00
Zejun Zhao
00e3688aa8
Bump version to 0.10.1
2024-12-07 19:02:46 +08:00
jiangjianfeng
ef2419a48c
Bump version to 0.10.0
2024-12-02 10:30:32 +08:00
Marsman1996
6d3bb5a9d0
Fix compile error caused by updated `Step::steps_between` in Rust
2024-12-01 18:56:28 +08:00
Qingsong Chen
f762eb8913
Remove the `lazy_static` dependency
2024-11-28 15:28:30 +08:00
Hsy-Intel
d67976da88
Support TDX debugging feature
2024-11-26 19:15:22 +08:00
Ruize Tang
5f35189a51
Add compile flags to disable the red zone optimization
2024-11-22 04:40:07 +08:00
Ruihan Li
5233827160
Don't preempt without good reason
2024-11-06 21:53:55 +08:00
Yuke Peng
d977fe54c6
Fix wrong serde name in OSDK
2024-10-26 20:44:45 +08:00
Jianfeng Jiang
fe339fd81e
Bump version to 0.9.4
2024-10-24 21:00:14 +08:00
Zhang Junyang
a716763772
Remove the linkage feature usage for `ostd::main`
2024-10-20 13:24:58 +08:00
Zhang Junyang
131a25c15c
Provide the way to override the panic handler.
2024-10-20 13:24:58 +08:00
Fabing Li
64d7303b0e
Bump version to 0.9.3
2024-10-16 10:28:54 +08:00
Zhang Junyang
3f1fa33b13
Bump and publish linux-bzimage crate series with OSTD and OSDK
2024-10-16 10:05:34 +08:00
Zhang Junyang
662894ee90
Refine relocations in x86-64 EFI boot
2024-10-16 10:05:34 +08:00
Zhang Junyang
e78303b01a
Fix OSDK lint warnings from the new tool-chain
2024-10-14 16:41:15 +08:00
Zhang Junyang
9e4257b655
Fix multiple issues pointed out by the new compiler
2024-10-13 22:32:05 +08:00
Zhang Junyang
5f2bd9d0ac
Update the Rust toolchain to `nightly-2024-10-12`
2024-10-13 22:32:05 +08:00
jiangjianfeng
493574d9f3
Bump version to 0.9.2
2024-10-12 20:06:26 +08:00
Zhang Junyang
909639fd70
Separate `SegmentSlice` from `Segment`
2024-10-09 19:23:46 +08:00
Fabing Li
d930829866
Bump version to 0.9.1
2024-10-08 17:53:47 +08:00
Yuke Peng
8e210c2241
Add ktest array to riscv64 linker
2024-10-08 11:47:01 +08:00
Ruihan Li
5b336eabdc
Bump version to 0.9.0
2024-09-30 20:37:57 +08:00
Zhang Junyang
ab8b6afee5
OSDK GDB server args with QEMU-style options
2024-09-30 16:04:03 +08:00
Zhang Junyang
43e3f8cf6b
Update the OSDK default GDB socket
2024-09-30 16:04:03 +08:00
Zhang Junyang
ecae3475cc
Integrate the SVG flame graph generation into OSDK
2024-09-30 16:04:03 +08:00
Zhang Junyang
a67a6e6a38
Add documentation for OSDK profiling
2024-09-30 16:04:03 +08:00
Zhang Junyang
eca9aacbf0
Introduce `cargo osdk profile` for flame graph profiling
2024-09-30 16:04:03 +08:00
YanWQ-monad
4fa0e6334b
Add RISC-V base support
2024-09-30 10:02:08 +08:00
Zhang Junyang
8b2ca77804
Bump the OSDK's Cargo.lock when bumping the versions
2024-09-21 15:19:35 +08:00
Qingsong Chen
c2f7a10b84
Implement cpu_local with GS and ensure GS points to TSS
2024-09-19 13:00:36 +08:00
Marsman1996
52bde1721e
Bump version to 0.8.3
2024-09-18 20:10:08 +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
5df3c9b749
Avoid flushing TLB one by one when the un-mapped range is large
2024-09-14 17:29:39 +08:00
Yuke Peng
32ea24e945
Bump version to 0.8.2
2024-09-13 23:43:22 +08:00
Zhang Junyang
d9eccdcfbe
Implement remote TLB flush on `VmSpace`
2024-09-13 20:10:03 +08:00
Jianfeng Jiang
b3b5e136bd
Delay the canonicalization until after processing the CLI arguments
2024-08-30 22:46:34 +08:00
Yuke Peng
a2778e66f3
Bump version to 0.8.1
2024-08-27 22:13:38 +08:00
Cautreoxit
86f09eef75
Fix all spelling mistakes in history by typos tool
2024-08-27 12:19:48 +08:00
Zhang Junyang
4231645c02
Fix `is_tdx_enabled` in OSDK tests
2024-08-25 20:42:04 +08:00
Zhang Junyang
d91573248c
Fix local development version OSDK's out-tree behavior
2024-08-25 20:42:04 +08:00
Zhang Junyang
f7a9510be0
Refactor the `this_cpu` API with `PinCurrentCpu`
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
Zhang Junyang
cad36ecdab
Don't inherit OSDK manifest values from workspace root
2024-08-23 23:37:50 +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
Hsy-Intel
3a6768ecb2
Add TDX support for OSDK test
2024-08-13 20:27:21 +08:00
Hsy-Intel
8317c4c1e8
Rename "intel_tdx" feature to "cvm_guest"
2024-08-09 17:11:12 +08:00
Marsman1996
8dc08dccba
Add test for new crate with hypen
2024-08-08 19:55:15 +08:00
Marsman1996
923ca16d32
Make code more readable
2024-08-08 19:55:15 +08:00
Marsman1996
ae63aa699b
Fix panic when OSDK creating crate with `-` in its name
2024-08-08 19:55:15 +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
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
91d524c19a
Allow debugging with KVM enabled
2024-07-29 22:46:32 +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
YanWQ-monad
eb5356c492
Set EM_386 only in x86
2024-07-22 21:47:37 +08:00
Zhang Junyang
20524ae64a
Update the 100-line kernel and format it as well
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
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
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
Ruihan Li
74239781c9
Update `Cargo.lock`
2024-06-29 12:38:23 +08:00
Jianfeng Jiang
f51e002bb2
Bump version to 0.6.0
2024-06-28 21:20:08 +08:00
Jianfeng Jiang
72e726295f
Include the 100 lines kernel in CI
2024-06-28 20:22:12 +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
Jianfeng Jiang
fb59fa7a55
Use matrix to simplify osdk test
2024-06-27 15:44:29 +08:00
Fabing Li
4700ab71bc
Bumped Asterinas & OSDK version to 0.5.1
2024-06-26 19:12:17 +08:00
fgh1999
18b11ec193
Fix debug target path in OSDK
2024-06-26 19:09:46 +08:00
Jianfeng Jiang
237c223b1c
Update the aster-frame version used by OSDK
2024-06-24 11:11:43 +08:00
Zhang Junyang
d2eb9e16ff
[chore] Bump to 0.5.0
2024-06-21 10:57:08 +08:00
Zhang Junyang
46fd09833e
Update the Rust toolchain to 2024-06-20
2024-06-21 10:57:08 +08:00
Zhang Junyang
a089fbd4fc
Fix a needless borrow in OSDK
2024-06-21 10:57:08 +08:00
Zhang Junyang
eaf51ccb24
Fix multiple dead code problems
2024-06-21 10:57:08 +08:00
Zhang Junyang
8633893bb9
Add `cfg(ktest)` as a well-known configuration
2024-06-21 10:57:08 +08:00
Zhang Junyang
ab1d931cb7
Adjust for Rust unstable feature's stability change
2024-06-21 10:57:08 +08:00
Ruihan Li
c06c1aa422
Fix bad `ASTER_GIT_REV`
2024-06-18 12:45:03 +08:00
Hsy-Intel
6014ecfc0f
Add tdx guide for osdk
2024-06-14 19:49:03 +08:00
Jianfeng Jiang
6cf28751c6
Not add project_type if the manifest is in workspace root
2024-06-09 22:55:01 +08:00
Jianfeng Jiang
3b95191f7e
Subcommand `new` should not parse CommonArgs
2024-06-09 22:55:01 +08:00
Jianfeng Jiang
1391ff59f2
Polish OSDK documentation
2024-06-09 22:55:01 +08:00
Zhang Junyang
74e4623e70
Let OSDK allow specifying additional boot drive options
2024-06-07 10:46:06 +08:00
Zhang Junyang
37e23a16a3
Bring OSDK's full support of QCOW2 booting
2024-06-07 10:46:06 +08:00
Zhang Junyang
03a39c94ca
Refactor the representation of page metadata
2024-06-03 22:16:02 +08:00
Jianfeng Jiang
6c34db52b3
Bump only package version in Cargo.toml
2024-06-01 20:13:03 +08:00
Chen Chengjun
c02eacd50c
Use deny(unsafe_code) instead of forbid(unsafe_code)
2024-05-31 16:05:58 +08:00
skpupil
da3e279ac6
Increase memory size and change boot mode in CI
2024-05-31 15:19:17 +08:00
Zhang Junyang
f581ebdd03
Add workarounds for slow `memcpy`
2024-05-28 22:35:25 +08:00
Zhang Junyang
8e874e6a88
Let OSDK print source lines of the panic stack trace
2024-05-23 12:37:57 +08:00
Zhang Junyang
f420286920
Make stripping ELF optional for QEMU direct boot
2024-05-23 12:37:57 +08:00
Jianfeng Jiang
32b1fb3723
Fix OSDK CI bugs & Build OSDK with stable channel in CI
2024-05-23 12:32:25 +08:00
Jianfeng Jiang
07fbbcfd8c
Add syscall clone3
2024-05-21 19:22:13 +08:00
YanWQ-monad
ccc4e6ec6b
Move whole kernel ELF to VMA
2024-05-15 21:31:09 +08:00
Jianfeng Jiang
7a82132ecc
Bump version in the documentation
2024-05-10 10:47:53 +08:00
Zhang Junyang
57f4ed778d
Update proper dep for builder in OSDK and allow publishing
2024-05-08 15:41:32 +08:00
Zhang Junyang
ee740020d0
Use `clone_from` in OSDK instead of assigning clones
2024-05-06 12:19:16 +08:00
Zhang Junyang
cc4111cab2
Remove the vars mechanism in OSDK and polish documents
2024-04-25 09:44:46 +08:00