blob: 5de3a9a3d3c295708b47fe0a38a504b6933b317e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
<meta charset="utf-8">
**CacheRacer TODOs**
This is what remains to be done in reimplementing CacheRacer. Please
email [li.davidm96@gmail.com](mailto:li.davidm96@gmail.com) with
suggestions or questions. You can follow along with development at
https://git.lidavidm.me/cacheracer/.
## Overall
- [ ] Come up with a theme
- [ ] Overall theme
- [ ] Sneak attack/retreat =
- [ ] White walker/dragon glass =
- [ ] Arrow barrage =
## Memory
- [x] Make sure `ReverseMmu` maps addresses correctly (i.e. 0x0 should
map to an actual array element)
- [ ] `ReverseMmu` needs to mark VA 0x0 as invalid somehow
- [x] Sneak attack/retreat needs to be per-core
- [x] ~~Invalidate~~/update other caches when a write is made
- [ ] Implement global data structures
- [ ] Player status
- [ ] Core status
- [ ] Cache info
- [ ] Enemy status should be inaccessible unless in sneak-attack mode
## Scoring
- [ ] Stop game once score reached
- [ ] Provide visualization (possibly using console?) like one used at
tournament
## Sneak Attack/Retreat
- [ ] Test sneak attack/retreat system calls
- [ ] Implement taunt array
- [ ] Write array to main memory
- [ ] Update or invalidate relevant cache lines
## Traps
- [ ] Implement traps
- [ ] Rebalance traps
## Development/Debugging
- [ ] Write the header file
- [x] Write some sample bots
- [ ] Publish them
- [ ] Package RISC-V toolchain
- [ ] Find way to shrink toolchain
- [ ] Implement debugger
- [ ] Debug logging
- [ ] Cache misses/stalls
- [ ] Traps
## Misc
- [ ] Allow custom trap handling in simulator, so we can restart cores
if they crash
<style>
h1:before, h2:before { content: none; }
</style>
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js"></script><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
|