Commit cc1d23d
committed
Improve MMIO read path interrupt updates
This removes unnecessary interrupt update calls in mem_load() for
non-interactive devices (PLIC, VirtIO-Net/Blk/RNG/Sound/FS, ACLINT
MTIMER/MSWI/SSWI).
Rationale:
- MMIO read operations mostly query state without changing interrupt
status
- Can safely defer interrupt updates to periodic batch processing (every
64 cycles)
- UART is exception due to interactive nature (read clears in_ready
flag)
- MMIO write operations trigger device actions and must update
interrupts immediately1 parent 8f0c958 commit cc1d23d
1 file changed
+5
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
166 | 171 | | |
167 | 172 | | |
168 | 173 | | |
| |||
193 | 198 | | |
194 | 199 | | |
195 | 200 | | |
196 | | - | |
197 | 201 | | |
198 | 202 | | |
199 | 203 | | |
| |||
202 | 206 | | |
203 | 207 | | |
204 | 208 | | |
205 | | - | |
206 | 209 | | |
207 | 210 | | |
208 | 211 | | |
209 | 212 | | |
210 | 213 | | |
211 | | - | |
212 | 214 | | |
213 | 215 | | |
214 | 216 | | |
215 | 217 | | |
216 | 218 | | |
217 | | - | |
218 | 219 | | |
219 | 220 | | |
220 | 221 | | |
221 | | - | |
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | | - | |
226 | 225 | | |
227 | 226 | | |
228 | 227 | | |
229 | 228 | | |
230 | | - | |
231 | 229 | | |
232 | 230 | | |
233 | 231 | | |
234 | 232 | | |
235 | 233 | | |
236 | 234 | | |
237 | | - | |
238 | 235 | | |
239 | 236 | | |
240 | 237 | | |
241 | 238 | | |
242 | 239 | | |
243 | 240 | | |
244 | | - | |
245 | 241 | | |
246 | 242 | | |
247 | 243 | | |
| |||
0 commit comments