Skip to content

Commit 42757a6

Browse files
committed
doc: fix broken intra-doc links, make minor changes
1 parent e7c85a8 commit 42757a6

File tree

9 files changed

+19
-19
lines changed

9 files changed

+19
-19
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ R3 is a proof-of-concept of a static RTOS that utilizes Rust's compile-time func
1414

1515
- **All kernel objects are defined statically** for faster boot times, compile-time checking, predictable execution, reduced RAM consumption, no runtime allocation failures, and extra security.
1616
- A kernel and its configurator **don't require an external build tool or a specialized procedural macro**, maintaining transparency and inter-crate composability.
17-
- The kernel API is **not tied to a specific kernel implementation**. Kernels are provided as separate crates, one of which an application chooses and instantiates using the trait system.
17+
- The kernel API is **not tied to any specific kernel implementations**. Kernels are provided as separate crates, one of which an application chooses and instantiates using the trait system.
1818
- Leverages Rust's type safety for access control of kernel objects. Safe code can't access an object that it doesn't own.
1919

2020
## R3 API

src/r3/src/lib.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ R3 is a proof-of-concept of a static RTOS that utilizes Rust's compile-time func
1313

1414
- **All kernel objects are defined statically** for faster boot times, compile-time checking, predictable execution, reduced RAM consumption, no runtime allocation failures, and extra security.
1515
- A kernel and its configurator **don't require an external build tool or a specialized procedural macro**, maintaining transparency and inter-crate composability.
16-
- The kernel API is **not tied to a specific kernel implementation**. Kernels are provided as separate crates, one of which an application chooses and instantiates using the trait system.
16+
- The kernel API is **not tied to any specific kernel implementations**. Kernels are provided as separate crates, one of which an application chooses and instantiates using the trait system.
1717
- Leverages Rust's type safety for access control of kernel objects. Safe code can't access an object that it doesn't own.
1818

1919
See [`r3_core`]'s crate-level documentation for a general description of kernel features and concepts used in R3.

src/r3_kernel/src/lib.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ const COTTAGE: Objects = r3_kernel::build!(System, configure_app => Objects);
5454

5555
[`r3_kernel::build!`]: crate::build
5656
[`r3_kernel::System`]: crate::System
57-
[system type]: r3#system-type
58-
[configuration function]: r3#static-configuration
57+
[system type]: r3_core#system-type
58+
[configuration function]: r3_core#static-configuration
5959

6060
## Trait Mechanics
6161

@@ -148,7 +148,7 @@ static COTTAGE: Objects = {
148148
};
149149
```
150150

151-
[configuration function]: r3#static-configuration
151+
[configuration function]: r3_core#static-configuration
152152
[`KernelCfg1`]: crate::KernelCfg1
153153
[`KernelCfg2`]: crate::KernelCfg2
154154

@@ -178,7 +178,7 @@ fn main() {
178178
}
179179
```
180180

181-
[interrupt handlers]: r3#interrupt-handling-framework
181+
[interrupt handlers]: r3_core#interrupt-handling-framework
182182

183183
# Implementation-Defined Behaviors
184184

@@ -188,7 +188,7 @@ fn main() {
188188

189189
[`QueueOrder`]: r3_core::kernel::QueueOrder
190190
[`MutexProtocol`]: r3_core::kernel::MutexProtocol
191-
[`ResultCode::NoAccess`]: r3_core::Kernel::ResultCode::NoAccess
191+
[`ResultCode::NoAccess`]: r3_core::kernel::ResultCode::NoAccess
192192

193193
# Cargo Features
194194

src/r3_port_arm/src/lib.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
The Arm-A port for [the R3 kernel](::r3).
1+
The Arm-A port for [the R3 kernel](::r3_kernel).
22

33
# Startup Code
44

src/r3_port_arm_m/src/lib.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
The Arm-M port for [the R3 kernel](::r3).
1+
The Arm-M port for [the R3 kernel](::r3_kernel).
22

33
# Interrupts
44

src/r3_port_riscv/src/lib.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
The RISC-V port for [the R3 kernel](::r3).
1+
The RISC-V port for [the R3 kernel](::r3_kernel).
22

33
# Startup code
44

@@ -32,11 +32,11 @@ The local interrupts are always enabled from an API point of view. **[`Interrupt
3232
[`InterruptLine::disable`]: r3_core::kernel::InterruptLine::disable
3333
[Pend]: r3_core::kernel::InterruptLine::pend
3434
[`NotSupported`]: r3_core::kernel::EnableInterruptLineError::NotSupported
35-
[*managed*]: r3#interrupt-handling-framework
35+
[*managed*]: r3_core#interrupt-handling-framework
3636

3737
<div class="admonition-follows"></div>
3838

39-
> **Rationale:** Because their enable bits are toggled frequently in the top-level interrupt handler, removing the ability to disable these interrupts simplifies the implementation and reduces interupt latency. This should pose no problems for most cases.
39+
> **Rationale:** Because their enable bits are toggled frequently in the top-level interrupt handler, removing the ability to disable these interrupts simplifies the implementation and reduces interupt latency. This should pose no problems in most cases.
4040
4141
The local interrupts are always [*managed*]. This is because CPU Lock is currently mapped to `mstatus.MIE` (global interrupt-enable).
4242

@@ -193,7 +193,7 @@ The idle task (the implicit task that runs when `*`[`running_task_ptr`]`().is_no
193193

194194
When a task is activated, a new context state is created inside the task's stack. By default, only essential registers are preloaded with known values. The **`preload-registers`** Cargo feature enables preloading for all `x` registers, which might help in debugging at the cost of performance and code size.
195195

196-
The trap handler stores a first-level state directly below the current stack pointer. This means **the stack pointer must be aligned to a `max(XLEN, FLEN)`-bit boundary all the time**. This requirement is weaker than the standard ABI's requirement, so it shouldn't pose a problem for most cases.
196+
The trap handler stores a first-level state directly below the current stack pointer. This means **the stack pointer must be aligned to a `max(XLEN, FLEN)`-bit boundary all the time**. This requirement is weaker than the standard ABI's requirement, so it shouldn't pose a problem in most cases.
197197

198198
## Processor Modes
199199

src/r3_port_riscv/src/threading/cfg.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ pub const INTERRUPT_TIMER: InterruptNum = 1;
99
/// The interrupt number for external interrupts.
1010
pub const INTERRUPT_EXTERNAL: InterruptNum = 2;
1111

12-
/// The first interrupt numbers allocated for use by an interrupt controller
12+
/// The first interrupt number allocated for use by an interrupt controller
1313
/// driver.
1414
pub const INTERRUPT_PLATFORM_START: InterruptNum = 3;
1515

src/r3_port_std/src/lib.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Simulator for running [`::r3`] on a hosted environment
1+
The port for running [`::r3_kernel`][] in a hosted environment
22

33
# Usage
44

@@ -55,7 +55,7 @@ This port fully supports [the standard interrupt handling framework].
5555
- Smaller priority values are prioritized.
5656
- Negative priority values are considered unmanaged.
5757

58-
[the standard interrupt handling framework]: ::r3#interrupt-handling-framework
58+
[the standard interrupt handling framework]: r3_core#interrupt-handling-framework
5959
[`NUM_INTERRUPT_LINES`]: crate::NUM_INTERRUPT_LINES
6060

6161
## Implementation

src/r3_test_suite/src/lib.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
A collection of tests that can be used to verify the correct operation of [the R3 kernel] and a port implementation.
1+
A collection of tests that can be used to verify the correct operation of [the R3 kernel][] and a port implementation.
22

33
<div class="distractor"><a style="background-image: url(https://derpicdn.net/img/2014/4/5/593273/medium.png); padding-bottom: 66.66%" href="http://derpibooru.org/593273" title="She passed!"></a></div>
44

5-
[the R3 kernel]: r3
5+
[the R3 kernel]: r3_kernel
66

77
# Terminology
88

@@ -65,7 +65,7 @@ pub mod test3 { /* ... */ }
6565
6666
[`kernel_tests`]: crate::kernel_tests
6767
[`basic`]: crate::kernel_tests::basic
68-
[a configuration function]: r3#static-configuration
68+
[a configuration function]: r3_core#static-configuration
6969
[`Driver`]: crate::kernel_tests::Driver
7070
7171
A test runner should choose one of test cases, link it to a test driver, run it, and retrieve and report the result. This should be repeated for all test cases.

0 commit comments

Comments
 (0)