Thursday, 2021-05-13

omoitiThanks for the information. I'll follow https://git.libre-soc.org/?p=dev-env-setup.git;a=summary to set up a dev environment and see what I can figure out with the unit tests00:06
programmerjakeomoiti a lot of the bugs are assigned to lkcl since he's the default assignee, not specifically because he's said "I'm working on this bug"00:10
programmerjakealso, Welcome!00:11
omoitiThanks for the clarification on that programmerJake00:21
lkcljn__, programmerjake all the repos have individual unit tests, cascading upwards11:46
jn__makes sense11:46
lkclso there are low-level individual module ones, checking their functionality, then up and up and up11:47
lkclin the case of the ISA tests the exact same units can be used multiple times11:47
lkcl(three to four)11:47
jn__(the upper ones might be more appropriately called "integration tests" rather than "unit tests", at some point…)11:48
lkcl... ah those are the ones such as running microwatt binaries11:49
lkclalthough you can see i ran out of time to do it "proper"11:50
lkclhttps://git.libre-soc.org/?p=libresoc-litex.git;a=blob;f=sim.py;h=550339e46a22169fe19510da5d3032202f3f8aec;hb=5dff543fcedd2c5e2bc4458737be79f5fab49b5b#l5411:50
lkclHA! i found the error in the dcache TLB that was corrupting PTEs17:59
lkcljust managed to get a first virtual memory "read" which triggers an MMU RADIX walk, and a second read to the same address returns the same value18:02
programmerjakeyay!18:50
lkclprogrammerjake: ironically, the next lookup (address+8) gives the same results lol19:03
lkcldoh19:03
programmerjakeoops...19:04
lkclbut the key thing is, the TLB entry is good19:05
lkclso i have a "hit way" error somewhere19:05
lkclironically there's no such error in "real mode"19:05
lkclwhich is a good sign19:05
lkclit narrows down considerably the areas i need to examine19:05
lkclit's still ridiculously complex19:06
lkclpaul mackerras is an absolute genius19:06
programmerjakegenius: +119:19
lkclHA! just a wishbone "classic" error in the wb_get function19:52
henriokHey guys! While standing here at the sidelines, I just want to tell you that it’s pretty inspiring to see this project moving forward.20:28
henriokYou rock!20:28
lkcl:)21:10
lkclwell, should be estimated 2-3 weeks you can run a basic GNU/Linux source-built distro on an FPGA21:10
jn__awesome21:24
lkcljn__, yeah it's a big step up21:26
lkclperformance will suck but i don't care21:27
lkcli care about performance second to "functional, executing, working"21:27
jn__with busybox and musl-libc 200 MHz are snappy, so i guess 50 MHz wouldn't be too bad either21:28
jn__most importantly, don't install bash-completions :)21:28
lkclohh it's a lot lower than 50 mhz :)21:28
lkclthe IPC is somewhere well below 0.15 because it's a Finite State Machine21:29
lkclthe absolute bare minimum simplest (and easily readable) execution / issue engine possible21:29
lkclit's intended as "readable code that doesn't have wtf pipelining so complex you can barely understand what's going on"21:29
jn__ah right, that'll affect the performance21:29
jn__makes perfect sense, simplicity is the way to go at that stage21:30
lkclhttps://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/simple/issuer.py;hb=HEAD21:31
lkclha, store works as well https://git.libre-soc.org/?p=soc.git;a=commitdiff;h=20738782e90bd3fe47c2bb6f887456872c7a3ad322:43

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!