You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Memory consists of three sections. Two are directly accessible by code: ROM (rx) and RAM (rw). The third section is an instruction cache, which takes up 4x as much space as the executable portion of memory. The instruction cache is updated at reset and whenever an instruction writes to RAM.
12
10
13
11
Code begins executing at address `0x4`. Address `0x0` must contain the size of the `.text` section (ie. `__etext`) to tell the processor how much data to decode from ROM; alternatively, it can be `0` to decode the entire ROM.
@@ -104,39 +102,6 @@ Returns 1 if the id was successfully looked up, or 0 if the lookup returned null
104
102
| topLeft | 7 |
105
103
| topRight | 8 |
106
104
107
-
## Building
108
-
109
-
### Dev containers
110
-
111
-
- Open this folder with Dev Containers in VSCode.
112
-
- Set up the Python environment: `uv sync`
113
-
- Build everything: `make`
114
-
115
-
### Assembly
116
-
117
-
Assumes Ubuntu WSL on Windows.
118
-
119
-
- Install `uv`, `gcc-riscv64-unknown-elf`, and `binutils-riscv64-unknown-elf`.
120
-
- Set up the Python environment:
121
-
-`uv venv .venv-wsl`
122
-
-`source .venv-wsl/bin/activate`
123
-
-`uv sync --active`
124
-
- Build all source files in `asm/`: `make asm`
125
-
126
-
### Rust
127
-
128
-
Assumes Powershell on Windows.
129
-
130
-
- Install `uv`, Rust, and `cargo-binutils`.
131
-
- Set up the Python environment:
132
-
-`uv sync`
133
-
-`.venv\Scripts\activate.ps1`
134
-
- Build all Rust projects in `rust/`: `make rust`
135
-
136
-
## Attribution
137
-
138
-
- SortKB: https://github.com/BasedUser/mPC
139
-
140
105
## riscv-arch-test
141
106
142
107
mlogv32 currently passes all compliance tests for the `RV32IMA` ISA.
0 commit comments