Ruihan Li
4c26a7a7c5
Fix a typo in the PCI bar detection
2025-09-24 15:41:07 +08:00
Ruihan Li
472edcf795
Clean up unnecessary features
2025-09-24 15:41:07 +08:00
Yuke Peng
701b8f6f92
pci: Refactor ptr alignment
2025-09-21 10:32:23 +08:00
Yuke Peng
ecdc8c3fe7
Remove unsafe in x86 PCI code
2025-09-21 10:32:23 +08:00
Yuke Peng
a8070a62b6
Extract platform-specific code from ostd into PCI component
2025-09-21 10:32:23 +08:00
Yuke Peng
bb15d4591a
Extract `PciDeviceLocation` in ostd into PCI component
2025-09-21 10:32:23 +08:00
Yuke Peng
f34c37f6c4
Acquire IoMem only when r/w happened
2025-09-21 10:32:23 +08:00
Yuke Peng
d60e2e2a6b
Align cap_ptr in PCI
2025-09-21 10:32:23 +08:00
Yuke Peng
48376efa52
Extract MSIX in ostd into PCI component
2025-09-21 10:32:23 +08:00
Yuke Peng
1e324d2228
Fix import error in PCI component
2025-09-21 10:32:23 +08:00
Yuke Peng
28d4d0e3ad
Use `IoMem::acquire` to get the MemoryBar access
2025-09-21 10:32:23 +08:00
Yuke Peng
faee9e9808
Disable IoPort read/write in IoBar
2025-09-21 10:32:23 +08:00
Yuke Peng
1a86bd2471
Move PCI bus in OSTD into PCI component
2025-09-21 10:32:23 +08:00
Yuke Peng
f2d1cbdf57
Init PCI compoment
2025-09-21 10:32:23 +08:00
Ruihan Li
391f11f1aa
Make per-CPU callbacks explicit
2025-09-20 11:50:50 +08:00
Ruihan Li
421f36cc26
Make timer callbacks arch-agnostic
2025-09-20 11:50:50 +08:00
Tate, Hongliang Tian
ee21f2bdb6
Refactor OSTD irq module for improved clarity
2025-09-19 15:05:50 +08:00
Tate, Hongliang Tian
c485d512f6
Rename ostd::trap to ostd::irq
2025-09-19 15:05:50 +08:00
Qingsong Chen
f6a55e0af3
Handle 8-bit/24-bit ANSI color codes for framebuffer
2025-09-17 22:43:22 +08:00
Chen Chengjun
8c36964bb9
Introduce VmPrinter to write kernel generated data
2025-09-10 21:07:14 +08:00
Chen Chengjun
12f2f6bb54
Correct the misuse of some AttributeErrors
2025-09-10 21:07:14 +08:00
Ruihan Li
3b606f5b6c
Use `size_of`/`align_of` in the prelude
2025-09-04 09:26:56 +08:00
Zhang Junyang
9e2d8e9f08
Use device addresses instead of physical addresses
2025-09-02 17:53:55 +08:00
Zhang Junyang
4e2bdc65de
Refactor implicit `Arc` APIs for DMA
2025-09-02 17:53:55 +08:00
Zhang Junyang
a6520880ab
Unify memory object slicing
2025-09-02 17:53:55 +08:00
Zhang Junyang
eb69aa4fb9
Unify address and size APIs for memory objects
2025-09-02 17:53:55 +08:00
Chen Chengjun
fc5a12356a
Fix LOONGARCH clippy warnings
2025-08-19 19:20:54 +08:00
Chen Chengjun
9507475102
Fix RISCV clippy warnings
2025-08-19 19:20:54 +08:00
Ruihan Li
cdd28787ed
Replace `write_vals` by `fill_zeros` in `VmIo`
2025-08-10 16:40:11 +08:00
Ruihan Li
2700d88bef
Provide efficient `VmIo` with VM readers/writers
2025-08-10 16:40:11 +08:00
Ruihan Li
d73f1016a1
Set softfloat targets for ARM/LoongArch/RISC-V
2025-07-29 11:13:59 +08:00
王英泰
434d75c0f0
Cancel the use of floating-point instructions in kernel log
2025-07-25 17:37:24 +08:00
王英泰
fc72398fbc
Change the method to identify the legacy virtio device
2025-07-25 17:37:24 +08:00
王英泰
cc280272cc
Add the RTC time comps for LoongArch
2025-07-25 17:37:24 +08:00
Cautreoxit
2e3d8ea867
Add extension support for keyboard
2025-07-22 15:16:12 +08:00
Cautreoxit
b8b9d8bff6
Add release support for keyboard
2025-07-22 15:16:12 +08:00
Chen Chengjun
b90b79810c
Provide more powerful macros to assist in implementing the SysTree-related traits
2025-07-14 20:35:05 +08:00
Chen Chengjun
774291611c
Add two error types in aster_systree::Error
2025-07-14 20:35:05 +08:00
Chen Chengjun
9c68d96fa2
Attach SysPerms to systree nodes and attributes
2025-07-14 20:35:05 +08:00
Chen Chengjun
e229eb379b
Enable getting path through SysObj
2025-07-14 20:35:05 +08:00
Ruihan Li
a5e927b675
Make the framebuffer backspace work
2025-07-14 20:24:29 +08:00
Ruihan Li
b1079c2bc5
Add support for font setting
2025-07-14 20:24:29 +08:00
Ruihan Li
9f82a0c89f
Clean up the console crate
2025-07-14 20:24:29 +08:00
Ruihan Li
801ab865b7
Make paths of `TrapFrame` unique
2025-07-05 18:19:26 +08:00
Ruihan Li
706f62e299
Support ANSI escape sequences
2025-07-03 17:47:56 +08:00
Ruihan Li
abbf152d74
Re-enable framebuffer
2025-07-03 17:47:56 +08:00
Qingsong Chen
5e3e23bf7c
Add basic i8042 keyboard support
2025-06-27 12:56:55 +08:00
Ruihan Li
b96c8f9ed2
Make `ostd::trap::irq` public
2025-06-23 22:53:35 +08:00
Hsy-Intel
65fd1aac81
Sync CVM guest feature dependencies between kernel and virtio components
2025-06-23 10:32:09 +08:00
Ruihan Li
a3c5ab8cb4
Move virtio-mmio bus outside OSTD
2025-06-19 15:10:42 +08:00
Wang Siyuan
d5b12532a8
Require `T: Send` for `CpuLocal<T, S>`
2025-06-16 12:09:13 +08:00
Ruihan Li
67065835ef
Redefine the TTY driver interface
2025-06-09 13:10:34 +08:00
Chen Chengjun
c56aee92f4
Re-organize some systree-related code
2025-06-09 11:13:48 +08:00
Chen Chengjun
a67bd8cdc9
Add macros to help implementing SysObj trait
2025-06-09 11:13:48 +08:00
Chen Chengjun
1dd1c8c775
Enable read and write operations of the attribute to handle offset
2025-06-09 11:13:48 +08:00
Wang Siyuan
dfd3042276
Add dynamically-allocated CPU-local objects
2025-06-03 23:24:32 +08:00
Zejun Zhao
ffb4097436
Add RISC-V timer support
2025-05-29 19:51:02 +08:00
stuuupidcat
95744692a5
Remove unnecessary #[inline] attributes
2025-05-22 12:19:21 +08:00
Ruihan Li
54bd64269b
Rename `systree` to `aster-systree`
2025-05-03 18:22:11 +08:00
Ruihan Li
f720c05706
Fail the CI if workspace lints are not enabled
2025-05-03 18:22:11 +08:00
Qingsong Chen
88f08de3af
Refactor framebuffer
2025-04-29 19:48:45 +08:00
Fabing Li
63831dc2df
Add ktest cases
2025-04-24 20:03:54 +08:00
Fabing Li
79b0866259
Add sysfs implementation
2025-04-24 20:03:54 +08:00
Zejun Zhao
3aa1079ca6
Clarify the usage of ostd::arch
2025-04-18 13:26:16 +08:00
Ruihan Li
d6e40933b8
Move the log lock to a better location
2025-04-16 21:59:24 +08:00
jiangjianfeng
7d24e63216
Move network polling code to bottom half
2025-04-15 14:54:51 +08:00
jiangjianfeng
9804f053f2
Add guard which disables bottom half
2025-04-15 14:54:51 +08:00
Ruihan Li
a1f81df263
Remove `ostd/src/mm/offset.rs`
2025-04-15 09:15:22 +08:00
Chen Chengjun
a21e895102
Enable RCU to read reference to stored pointers
2025-04-10 14:42:51 +08:00
Cautreoxit
b4a1dc03f3
Delete useless visibility for BARs
2025-03-27 18:44:15 +08:00
Cautreoxit
4fff7cdc22
Add an API for BioRequest to return the number of sectors
2025-03-26 10:38:24 +08:00
jiangjianfeng
0e1c660225
Make VmReader's several methods accept `&mut self`
2025-03-25 14:25:08 +08:00
Yuke Peng
1f03955f51
Change IoMem directory
2025-03-22 17:38:30 +08:00
Ruihan Li
9e1c939a3f
Remove `static_assertions`
2025-03-06 16:35:21 +08:00
Ruihan Li
0d36375dfa
Avoid `generic_const_exprs` feature
2025-03-06 16:35:21 +08:00
Yuke Peng
96d83e43b4
Make VirtioConsolesPrinter heapless
2025-03-05 20:24:59 +08:00
Zhang Junyang
55ee4bda2c
Use RCU for console device callbacks
2025-03-03 09:24:49 +08:00
Fabing Li
cbb4b4e631
Fix lint errors
2025-02-27 11:36:41 +08:00
Qingsong Chen
04be02efb7
Add init_component for mlsdisk
2025-02-11 11:38:43 +08:00
Qingsong Chen
f6e040ec94
Add a basic ktest for mlsdisk
2025-02-11 11:38:43 +08:00
Qingsong Chen
d8dc153be9
Fix deadlock of `CurrentTx` in mlsdisk
2025-02-11 11:38:43 +08:00
Qingsong Chen
c040df72b3
Rename `SwornDisk` to `MlsDisk`
2025-02-11 11:38:43 +08:00
jiangjianfeng
55713b88c4
Remove unused dependencies
2025-02-10 10:36:56 +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
Ruihan Li
1c4e88e648
Fix `#[allow(dead_code)]` in virtio
2025-02-08 15:10:04 +08:00
Ruihan Li
b415538097
Remove useless `#[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
Zhang Junyang
51349a3da1
Heapless memory region initialization
2025-01-02 10:41:51 +08:00
Qingsong Chen
56a137dc56
Add mlsdisk as a component
...
Co-authored-by: Shaowei Song <songshaowei.ssw@antgroup.com>
2025-01-01 09:19:32 +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
jiangjianfeng
9a540d0fb6
Notify virtqueue in a batch manner
2024-12-19 14:49:56 +08:00
Shaowei Song
4cb85f0adb
Fix dependency issue between components `logger` and `virtio`
2024-12-13 10:36:45 +08:00
Ruihan Li
28edc57dd0
Fix the nested bottom half
2024-12-05 13:42:12 +08:00
Chen Chengjun
0cb2ea562e
Inject the logger for Asterinas
2024-12-04 13:24:06 +08:00
Shaowei Song
ecad132ec9
Refactor the block layer by introducing `BioSegmentPool`
2024-12-02 13:25:20 +08:00
Shaowei Song
d37da228ab
Improve flexibility of `DmaStreamSlice`
2024-12-02 13:25:20 +08:00
Marsman1996
6d3bb5a9d0
Fix compile error caused by updated `Step::steps_between` in Rust
2024-12-01 18:56:28 +08:00