Wednesday, 2023-04-12

*** gnucode <gnucode!~gnucode@user/jab> has quit IRC00:00
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc00:01
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC02:58
*** octavius <octavius!> has joined #libre-soc10:03
*** midnight <midnight!~midnight@user/midnight> has quit IRC10:52
*** midnight <midnight!~midnight@user/midnight> has joined #libre-soc10:53
lkclghostmansd, apologies with media/ i realised that because it uses pysvp64asm i set you on a red herring12:43
lkclyou actually do want crypto/ which *does* (thanks to markos) use binutils-sv12:44
markosthanks to ghostmansd actually12:56
lkclcesar, you seen this?
ghostmansdlkcl, I will check crypto too16:55
ghostmansdand media should be fixed anyway, we might opt to bind it to another task later, though, if it's OK16:56
ghostmansdOn pre-insndb and master branches, we now fail with `ValueError: invalid literal for int() with base 10: '16+3'`17:00
ghostmansdHappens with code like `sv.add/dm=r10           *t, *ip, *ip+3`17:00
ghostmansdlkcl, it seems that I'm able to build the code with `make -C crypto/chacha20/ BINDIR=/tmp`17:07
ghostmansdWhat should I do next? I have no idea what I should do with these .bin files...17:08
markosghostmansd, what do you want to test? I could help you17:11
ghostmansdWell, Luke asked me to (quote) "make sure chacha20 works at least" with recent binutils :-)17:12
ghostmansdBut I have no idea what "works" mean17:13
markosoh, try running ./test-chacha20 :)17:13
markosit will take a few minutes but in the end it should just report "Cryptographic tests passed" or something similar17:13
ghostmansdAh, that's why I missed it17:13
ghostmansdIt's placed outside of BINDIR17:14
markostry SILENCELOG=1 otherwise it will print the world17:14
ghostmansd`ModuleNotFoundError: No module named 'pypowersim' Error importing module`17:14
ghostmansdsigh, here we go again :-)17:14
ghostmansdI likely have sources outdated by some months17:15
markosthat's my fault17:15
markosin ../../media/pypowersim_wrapper/pypowersim_wrapper_common.h17:15
markosL43: PyUnicode_FromString("/home/markos/src/openpower-isa/src/openpower/decoder/isa/"); :)17:16
markosI should probably fix the path to be relative one17:16
markosit's just I had a problem with relative paths in the beginning with python so I changed it to absolute, and forgot to fix it afterwards17:17
ghostmansd~/src/openpower-isa/media/pypowersim_wrapper$ make17:18
ghostmansd/usr/bin/ld: cannot find -lgtest17:18
ghostmansdand I guess I have to use our custom gtest?17:18
ghostmansdor repos will be sufficient?17:18
markosyou need to install libgtest-dev17:19
ghostmansdok, let me re-run dev-env stuff17:19
ghostmansdI have everything outdated anyway17:19
markoswhich version of debian are you running, it needs a "relatively" recent, eg the buster version won't do iirc17:20
ghostmansdbuster is exactly the stuff I have :-)17:21
ghostmansddon't we have this pinned in scripts?17:21
markosin general everything else works, I just had to backport libgtest17:21
ghostmansdtbh, our env is so silly that even dokkah looks better...17:22
markoshm, wait, libgtest isn't used by chacha2017:22
markosthis is for the media stuff17:22
ghostmansdit's not for chacha2017:22
ghostmansdI tried to rebuild pypowersim wrapper17:22
markosah the example?17:22
ghostmansdafter switching from markos to ghostmansd :-)17:22
ghostmansdperhaps, no idea17:23
ghostmansdI simply type `make` whenever I see makefiles, lol17:23
markosyes, that's just a pypowersim example, it's not needed17:23
markosfor testing the binutils with svp64 it's not needed at all17:23
markosit's only a demo of pypowersim wrapper17:23
ghostmansdI already removed everything in src...17:24
ghostmansdanyway, I have to update repos and other stuff at some point eventually17:24
ghostmansdso this is inevitable evil17:24
ghostmansd$ ./install-hdl-apt-reqs17:25
ghostmansdE: Unable to locate package gcc-8-powerpc64le-linux-gnu17:25
ghostmansdf*ck, will we EVER get something which works immediately?17:25
ghostmansd> All Libre-SOC dev dependenices should now be installed17:30
ghostmansdanyway it was able to build it17:30
ghostmansdmarkos, yet another part17:33
ghostmansd$ ./crypto/chacha20/test-chacha2017:33
ghostmansdFileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.7/dist-packages/openpower/isatables/sprs.csv'17:33
markosthat is something else17:37
ghostmansdI see these tables inside openpower-isa17:38
markosyou need a working installed environment though17:38
ghostmansdBut `sudo python3 install` doesn't do the trick17:38
markosyeah, you need to run install-hdl-apt-reqs as sudo17:39
markosbut I somehow agree, our dev environment is quite fragile at the moment17:39
ghostmansd`dev-env-setup/hdl-dev-repos` was run successfully17:40
ghostmansdhm, perhaps install develop will work...17:41
markosah right17:42
ghostmansdyeah it works17:42
ghostmansdOK, so `install` IS broken17:42
markoswhich install exactly?17:42
ghostmansd`python3 install`17:42
ghostmansd^ that one is broken17:43
ghostmansd`python3 develop`17:43
ghostmansd^ this seems to work17:43
markosaccording to the readme file, you need to run 'python3 develop' and 'make generate'17:43
ghostmansdOK I'm able to launch the test, finally17:43
markosit *should* work17:43
ghostmansd`If "python3 install" is used it is a pain: edit, then install. edit, then install. It gets extremely tedious, hence why "develop" was created.`17:43
ghostmansdThat's the guide from HDL_workflow17:44
ghostmansdbut "it is a pain" does not imply "hence we break it"17:44
markoswell, as I said, it's a fragile dev environment17:44
markosideally these packages should be autogenerated and people would just apt install them17:44
ghostmansdI know Luke's opinion about containers... Do we have other options?17:44
markosI share the same opinion about containers, they suck17:45
markosyes, packages17:45
ghostmansdI mean, other than having a bunch of scripts which require anyone to go through this tedious process?17:45
markosauto-generated packages using CI17:45
ghostmansdI don't like containers too17:45
markoswith specific milestones for stable releases17:45
ghostmansdBut even they are better that something this fragile17:45
markosbut daily/nightly builds for everything else17:46
markosand from those it should be possible to even ship ready made VMs for people to use for development17:46
markosright now the list of people working on this is small so we can manage17:46
markosbut if/when this list grows, there is no way this is sustainable17:47
ghostmansdYes, ready VMs would be the best choice, with one giant script with a huge GUI button and text "make stuff work"17:47
ghostmansd(that would almost fit the definition of container)17:47
markosso we *will* have to provide a way of reproducible builds17:47
markosI'm not against the idea of containers, but I absolutely loathe dockers17:47
markoswe should invest some time now to make such a system work, rather than later17:49
markosI've had huge flamewars in the past about dockers in a company I worked for, turns out I was right in pretty much every aspect, you name it, security, performance, ease of use, external dependencies, etc, and eventually they got rid of dockers entirely, after I was gone17:52
markosso anytime I hear someone mention dockers as a solution I get winded up17:52
ghostmansdCryptographic tests passed!17:55
markosgreat work, as usual!17:56
markosI don't think I've ever thanked you enough, without your work, all this wouldn't have been possible17:56
markosI know lkcl prefers doing stuff on the simulator, but you can't code projects larger than a unit test there :)17:58
ghostmansdthank you for your kind words!18:11
markosghostmansd, which media test fails with recent binutils?18:28
ghostmansdmarkos, `/tmp/out0 data/audio/mp3/mp3_1_data/out0 differ: char 1, line 1`18:30
ghostmansdlkcl said it might be caused by the fact that setvl was updated recently18:30
ghostmansdBut it might be wrong; we have never checked binutils assembly for many instructions. It was implemented in dark times when we had old assembler, and, whilst I updated binutils, the assembler has been changing, too.18:31
markosah mp3 I've completely reworked recently but haven't committed as it's incomplete, but I only worked on mp3_118:31
ghostmansdThen I arrived at the scene and rewrote the assembler from scratch...18:32
ghostmansdMeanwhile Luke changed and renamed and removed and added modes and specifiers...18:32
ghostmansdI think it's synced in terms of parsing, but no guarantees it works for all instructions.18:32
ghostmansdThat's mostly what is about.18:32
ghostmansdI want to take at least tests we have in src/openpower/sv/trans/
ghostmansd...and make sure that binutils generate the same code our assembly does.18:33
ghostmansdLikely this will require massive updates on binutils side, because 1) our assembly is totally different than it was and can no longer be used as source; 2) many parts of binutils assembly can already be generated from Python, and not written by hand.18:34
ghostmansdOr, well, at least we can reuse generated bits at most.18:35
ghostmansdmarkos, BTW, if you want to be able to check these tests, you'll need media-binutils branch in openpower-isa, otherwise stuff won't run.18:35
markosI'm currently under great time pressure the following couple of weeks so I cannot help testing binutils, but things should be better after that18:39
ghostmansdThat's OK, I'll have to do it anyway :-)18:41
ghostmansdI still have a hope that one day this task will be completed18:41
ghostmansdNever surrender!18:42
*** tplaten <tplaten!~tplaten@> has joined #libre-soc18:42
tplatenI'm trying to understand the DQSBUFM.o_BURSTDET signal, which is ECP5 only.18:58
tplatenLitedram also supports other kinds of FPGAs and reads back a test pattern.18:59
tplatenIn sdram_write_read_check_test_pattern a first phase is written, then it reads back from a different one.18:59
tplatenIn litex-boards/litex_boards/targets/build/orangecrab/software/include/generated/sdram_phy.h I read #define SDRAM_PHY_WRPHASE 1 and #define SDRAM_PHY_RDPHASE 0.18:59
ghostmansdlkcl, I'm not sure about the next task. I'd like to take 1003, since it's the logical continuation of binutils and asm works, but IIRC it's not approved. Also that'd be plethora of work: rewrite portions of binutils with the generated code we have now and check that at least test_pysvp64dis tests work.19:22
ghostmansdOn python asm/disasm side, I think we only need to support % convention (i.e. treat %r/%f/etc. the same way binutils do). Another stuff is having our mode selection tables encoded in some text file. Nothing else comes to my mind, to be honest.19:23
ghostmansdFor 976, I think it's done in scope mentioned by task, unless there are other things we'd like to handle simultaneously as well.19:25
lkcl the MoU still needs signing, but any work done yes will actually get paid19:50
lkcloh yes. i'd really like the modes to be a csv file, it means autogeneration of other "stuff" becomes easier as well19:51
lkclin particular is... a royal nuisance.19:51
lkclyes don't ever use "python3 install", only "python3 develop".19:59
lkcli never used install.19:59
lkcltplaten: very puzzling to write at one phase then read another. unless... ahh, they are different wires.20:01
lkclso there is the strong possibility that different phase-offsets are genuinely needed for send and receive20:01
lkclbecause the *receiver* - the actual DRAM IC (!) might have the exact same kind of phase-lock problem as the ECP5!!!20:01
tplatenMaybe, I'll continue tomorrow.20:04
*** tplaten <tplaten!~tplaten@> has quit IRC20:05
*** octavius <octavius!> has quit IRC21:15
sadoon[m]No jinxing hopefully, I think I finally got mini-buildd stable enough to start working on sffs, next thing I'm about to do is figure out how to force the compiler flags22:10
sadoon[m]Oh and I'm just noticing acl2 takes even more time to build than firefox which I didn't think was possible22:11
sadoon[m]@lkcl do you think I should build the base debootstrapable packages first or just for the full main repo?22:12

Generated by 2.17.1 by Marius Gedminas - find it at!