about summary refs log tree commit diff stats
path: root/subx/010---vm.cc
Commit message (Collapse)AuthorAgeFilesLines
* 4678Kartik Agaram2018-10-101-0/+1
| | | | | | | | | A debugging aid: 'subx --map translate' dumps a mapping from functions to addresses to a file called "map", and 'subx --map run' loads the mapping in "map", augmenting debug traces. Let's see how much this helps. Debugging machine code has been pretty painful lately.
* 4674Kartik Agaram2018-10-081-5/+5
| | | | subx: append to trace
* 4666Kartik Agaram2018-10-051-1/+1
|
* 4665Kartik Agaram2018-10-051-1/+8
| | | | | Some syscalls expect null-terminated strings while others get lengths. Be clear about this distinction.
* 4658 - subx: string_equalKartik Agaram2018-10-021-2/+4
|
* 4635Kartik Agaram2018-10-011-3/+20
| | | | | | | | | | | Another sanity check. We don't really have a clear big picture yet. But I've now slapped on checks for all the issues I was worrying about. A more rigorous solution would be some sort of interval tree. We'd also need to track segments generated at translation time. We don't do that so far.
* 4621Kartik Agaram2018-09-301-15/+33
| | | | Error messages if we ever get segments messed up.
* 4617Kartik Agaram2018-09-291-2/+5
|
* 4614 - redo simulated RAMKartik Agaram2018-09-291-10/+74
| | | | | | | | | | | Now simulated 'Memory' isn't just a single flat array. Instead it knows about segments and VMAs. The code segment will always be first, and the data/heap segment will always be second. The brk() syscall knows about the data segment. One nice side-effect is that I no longer need to mess with Memory initialization regardless of where I place my segments.
* 4612Kartik Agaram2018-09-291-11/+16
|
* 4611Kartik Agaram2018-09-291-3/+4
|
* 4520 - several syscalls for filesKartik Agaram2018-08-131-0/+3
|
* 4498Kartik Agaram2018-08-091-0/+18
|
* 4482Kartik Agaram2018-08-041-0/+242