Change hyperlinks to point to .md files

Allows mkdocs to discover broken links when the pointed document has
moved.
This commit is contained in:
Rodrigo Arias 2024-09-13 10:56:50 +02:00
parent 7522886d3f
commit 79d17b5b0c
10 changed files with 15 additions and 13 deletions

View File

@ -65,5 +65,5 @@ to write the duplicated value with no error.
A unique function can be set to each channel which will be called once a channel A unique function can be set to each channel which will be called once a channel
becomes dirty with `chan_set_dirty_cb()`. This callback will be called before becomes dirty with `chan_set_dirty_cb()`. This callback will be called before
`chan_set()`, `chan_push()` or `chan_pop()` returns. The [patch `chan_set()`, `chan_push()` or `chan_pop()` returns. The [patch
bay](../patchbay) uses this callback to detect when a channel is modified an run bay](patchbay.md) uses this callback to detect when a channel is modified an run
other callbacks. other callbacks.

View File

@ -22,7 +22,7 @@ If the model is not enabled, no other function will be called.
The create function is called for each enabled model to allow them to allocate The create function is called for each enabled model to allow them to allocate
all the required structures to perform the emulation using the all the required structures to perform the emulation using the
[extend](../extend) mechanism. All the required channels must be created and [extend](extend.md) mechanism. All the required channels must be created and
registered in the patch bay in this function, so other models can found them in registered in the patch bay in this function, so other models can found them in
the next stage. the next stage.

View File

@ -1,6 +1,6 @@
# Mux # Mux
The emulator provides a mechanism to interconnect [channels](../channels) in a The emulator provides a mechanism to interconnect [channels](channels.md) in a
similar way as an [analog similar way as an [analog
multiplexer](https://en.wikipedia.org/wiki/Multiplexer) by using the `mux` multiplexer](https://en.wikipedia.org/wiki/Multiplexer) by using the `mux`
module. module.
@ -19,7 +19,7 @@ selected. This allows a multiplexer to act as a filter too.
The typical use of multiplexers is to implement the tracking modes of channels. The typical use of multiplexers is to implement the tracking modes of channels.
As an example, the following diagram shows two multiplexers used to implement As an example, the following diagram shows two multiplexers used to implement
the subsystem view of [Nanos6](../nanos6): the subsystem view of [Nanos6](../user/emulation/nanos6.md):
![Mux example](fig/mux.svg) ![Mux example](fig/mux.svg)
@ -51,5 +51,5 @@ Multiplexers allow models to interact with each other in a controlled way. In
the example, the blue channel (*nanos6.thread0.subsystem*) is directly modified by the example, the blue channel (*nanos6.thread0.subsystem*) is directly modified by
the Nanos6 model when a new event is received. While the red channels are the Nanos6 model when a new event is received. While the red channels are
controlled by the ovni model. The rest of the channels are automatically updated controlled by the ovni model. The rest of the channels are automatically updated
in the propagation phase of the [bay](../patchbay) allowing the ovni model to in the propagation phase of the [bay](patchbay.md) allowing the ovni model to
modify the Nanos6 Paraver view of the subsystems. modify the Nanos6 Paraver view of the subsystems.

View File

@ -16,7 +16,7 @@ A channel can be connected to each row in a trace with `prv_register()`, so the
new values of the channel get written in the trace. Only null and int64 data new values of the channel get written in the trace. Only null and int64 data
values are supported for now. values are supported for now.
The emission phase is controlled by the [patch bay](../patchbay) and runs all The emission phase is controlled by the [patch bay](patchbay.md) and runs all
the emit callbacks at once for all dirty channels. the emit callbacks at once for all dirty channels.
## Duplicate values ## Duplicate values

View File

@ -1,6 +1,6 @@
# Patch bay # Patch bay
The patch bay (or simply bay) allows [channels](../channels/) to be registered The patch bay (or simply bay) allows [channels](channels.md) to be registered
with their name so they are visible to all parts of the emulator and provides a with their name so they are visible to all parts of the emulator and provides a
way to run callbacks when the channels update their values. way to run callbacks when the channels update their values.

View File

@ -13,8 +13,10 @@ The ovni project implements a fast instrumentation library that records
small events (starting at 12 bytes) during the execution of programs to small events (starting at 12 bytes) during the execution of programs to
later investigate how the execution happened. later investigate how the execution happened.
The instrumentation process is split in two stages: [runtime](runtime) <!-- FIXME: Add a index for runtime -->
tracing and [emulation](emulation/). The instrumentation process is split in two stages:
[runtime](user/runtime/tracing.md)
tracing and [emulation](user/emulation/index.md).
During runtime, very short binary events are stored on disk which During runtime, very short binary events are stored on disk which
describe what is happening. Once the execution finishes, the events are describe what is happening. Once the execution finishes, the events are

View File

@ -47,7 +47,7 @@ the following elements:
- A single byte model identification (for example `O`). - A single byte model identification (for example `O`).
- A set of runtime events with that model identification (see the [list - A set of runtime events with that model identification (see the [list
of events](events)). of events](events.md)).
- Rules that determine which sequences of events are valid. - Rules that determine which sequences of events are valid.
- The emulation hooks that process each event and modify the state of - The emulation hooks that process each event and modify the state of
the emulator. the emulator.

View File

@ -60,7 +60,7 @@ For more details, see [this MR][1].
The subsystem view provides a simplified view on what is the nOS-V The subsystem view provides a simplified view on what is the nOS-V
runtime doing over time. The view follows the same rules described in runtime doing over time. The view follows the same rules described in
the [subsystem view of Nanos6](../nanos6/#subsystem_view). the [subsystem view of Nanos6](nanos6.md/#subsystem_view).
## Idle view ## Idle view

View File

@ -60,4 +60,4 @@ will set all the channels to an error state.
The emulator automatically switches the channels from one thread to The emulator automatically switches the channels from one thread to
another when a thread is switched from the CPU. So the different models another when a thread is switched from the CPU. So the different models
don't need to worry about thread transitions. See the don't need to worry about thread transitions. See the
[channels](../channels) section for more information. [channels](../../dev/channels.md) section for more information.

View File

@ -24,7 +24,7 @@ trace is correct.
You can use `ovni_ev_emit()` to record a new event. If you need more You can use `ovni_ev_emit()` to record a new event. If you need more
than 16 bytes of payload, use `ovni_ev_jumbo_emit()`. See the [trace than 16 bytes of payload, use `ovni_ev_jumbo_emit()`. See the [trace
specification](../trace_spec) for more details. specification](trace_spec.md) for more details.
Compile and link with libovni. When you run your program, a new Compile and link with libovni. When you run your program, a new
directory ovni will be created in the current directory `$PWD/ovni` directory ovni will be created in the current directory `$PWD/ovni`