mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 14:27:49 +00:00
Fix cargo doc links that were moved
Move occured in https://github.com/rust-lang/cargo/pull/7733 and was just released together with Rust 1.42.
This commit is contained in:
@@ -281,7 +281,7 @@ All of these approaches require page table modifications for their setup. For ex
|
||||
|
||||
This means that we need the help of the bootloader, which creates the page tables that our kernel runs on. The bootloader has access to the page tables, so it can create any mappings that we need. In its current implementation, the `bootloader` crate has support for two of the above approaches, controlled through [cargo features]:
|
||||
|
||||
[cargo features]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section
|
||||
[cargo features]: https://doc.rust-lang.org/cargo/reference/features.html#the-features-section
|
||||
|
||||
- The `map_physical_memory` feature maps the complete physical memory somewhere into the virtual address space. Thus, the kernel can access all physical memory and can follow the [_Map the Complete Physical Memory_](#map-the-complete-physical-memory) approach.
|
||||
- With the `recursive_page_table` feature, the bootloader maps an entry of the level 4 page table recursively. This allows the kernel to access the page tables as described in the [_Recursive Page Tables_](#recursive-page-tables) section.
|
||||
|
||||
@@ -279,7 +279,7 @@ Now QEMU runs completely in the background and no window is opened anymore. This
|
||||
|
||||
Right now we're doing the serial output and the QEMU exit from the `_start` function in our `main.rs` and can no longer run our kernel in a normal way. We could try to fix this by adding an `integration-test` [cargo feature] and using [conditional compilation]:
|
||||
|
||||
[cargo feature]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section
|
||||
[cargo feature]: https://doc.rust-lang.org/cargo/reference/features.html#the-features-section
|
||||
[conditional compilation]: https://doc.rust-lang.org/reference/conditional-compilation.html
|
||||
|
||||
```toml
|
||||
@@ -333,7 +333,7 @@ A better solution is to create an additional executable for each test.
|
||||
|
||||
Cargo allows to add [additional executables] to a project by putting them inside `src/bin`. We can use that feature to create a separate executable for each integration test. For example, a `test-something` executable could be added like this:
|
||||
|
||||
[additional executables]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-project-layout
|
||||
[additional executables]: https://doc.rust-lang.org/cargo/guide/project-layout.html
|
||||
|
||||
```rust
|
||||
// src/bin/test-something.rs
|
||||
|
||||
Reference in New Issue
Block a user