-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtodo.txt
More file actions
85 lines (66 loc) · 3.5 KB
/
todo.txt
File metadata and controls
85 lines (66 loc) · 3.5 KB
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
TODO list:
1 special segment / text_prof
* added special segment
* deleted text_prof (only needed for a command line option we don't need to support)
* ignored mem_dump_prof
2 interrupts
* added interrupt defines to image.h
* these are used in spimbot code (maybe move them to mmio.h later?)
3 LAST_REAL_EXCEPT / last_exception_addr
* ported both with no changes
* not too sure what LAST_REAL_EXCEPT is doing if I'm being honest but just seems to set EPC even if the exception is unrecognized
4 RUN_SPIM && RUN_PROGRAM (incl steps game loop) (incl setting PC)
* changed run_spim -> step_spim to be more clear (run.cpp)
* changed run_program -> run_spim_program, run_spimbot_program (spim-utils.cpp)
>> run lots of tests
* all pass with 1 context
* all pass with 4 contexts (!)
5 trans_buffer (?)
* to make things simple, deleted all references to this by clearing all built-in mmio functions
* spim-new is now equal to qtspimbot in this regard
6 breakpoint (per context?)
>> run breakpoint tests
7 MMIO functions
8 other spimbot hooks
9 misc (#fixme)
>> run lots of tests
>> merge into new spimbot
Files ./spim/CPU/data.cpp and ./spim-qtspimbot/CPU/data.cpp differ
Files ./spim/CPU/data.h and ./spim-qtspimbot/CPU/data.h differ
* no major differences todo
Files ./spim/CPU/display-utils.cpp and ./spim-qtspimbot/CPU/display-utils.cpp differ
* no major differences todo
Files ./spim/CPU/image.h and ./spim-qtspimbot/CPU/image.h differ
* (new file)
Files ./spim/CPU/inst.cpp and ./spim-qtspimbot/CPU/inst.cpp differ
Files ./spim/CPU/inst.h and ./spim-qtspimbot/CPU/inst.h differ
* qtspimbot: set_breakpoint
* qtspimbot: inst_encode takes correct_branches argument #fixme
* qtspimbot: robots[context].done = true if (not interrupt && tournament) on RAISE_EXCEPTION
* qtspimbot: inst_is_breakpoint uses different logic
Files ./spim/CPU/mem.cpp and ./spim-qtspimbot/CPU/mem.cpp differ
Files ./spim/CPU/mem.h and ./spim-qtspimbot/CPU/mem.h differ
* spim-new todo: empty mmio functions - fill in with spimbot mmio slot
Files ./spim/CPU/parser.y and ./spim-qtspimbot/CPU/parser.y differ
* no major differences todo
Files ./spim/CPU/reg.h and ./spim-qtspimbot/CPU/reg.h differ
* (done)
Files ./spim/CPU/run.cpp and ./spim-qtspimbot/CPU/run.cpp differ
Files ./spim/CPU/run.h and ./spim-qtspimbot/CPU/run.h differ
* (done)
Files ./spim/CPU/spim-utils.cpp and ./spim-qtspimbot/CPU/spim-utils.cpp differ
Files ./spim/CPU/spim-utils.h and ./spim-qtspimbot/CPU/spim-utils.h differ
* spim-new: add_breakpoint calls set_breakpoint
* qtspimbot: free_labels in initialize_world signature #fixme
* qtspimbot: set_mem_inst (addr, b->inst); commented out in delete_breakpoint
* todo: contextual breakpoints?
Files ./spim/CPU/spim.h and ./spim-qtspimbot/CPU/spim.h differ
* qtspimbot: map_click spimbot flag
Files ./spim/CPU/sym-tbl.cpp and ./spim-qtspimbot/CPU/sym-tbl.cpp differ
Files ./spim/CPU/sym-tbl.h and ./spim-qtspimbot/CPU/sym-tbl.h differ
* qtspimbot: free_labels flag in initialize_symbol_table #fixme
Files ./spim/CPU/syscall.cpp and ./spim-qtspimbot/CPU/syscall.cpp differ
Files ./spim/CPU/syscall.h and ./spim-qtspimbot/CPU/syscall.h differ
* qtspimbot: robots[context].done = true if (not interrupt && tournament) on HANDLE_EXCEPTION
* qtspimbot: spimbot flags in DO_SYSCALL
Files ./spim/spim.cpp and ./spim-qtspimbot/spim.cpp differ