Tuesday, 2022-07-05

programmerjakelkcl: i noticed that there's a unnecessary branch in nmigen that's at the same commit as master:01:01
programmerjakehttps://gitlab.com/nmigen/nmigen/-/compare/master...6-completion-of-ast-and-dsl-abstraction-is-needed01:01
programmerjakecan you remove it?01:01
programmerjakewait, not same commit, previous commit. in any case, all its changes are incorporated into master already01:02
programmerjakedon't confuse it with the ast-dsl-abstraction branch, which does have new stuff01:03
lkclprogrammerjake, gitlab is being annoying, there04:24
programmerjakehow so?04:26
programmerjakeafaict you can safely delete that branch, gitlab doesn't need it for issues or MRs04:27
lkclprogrammerjake, can you update budget-sync to track back the MoU-milestone on each task when the markdown is created?04:47
lkclnot the top-level milestone, the first-level child milestone04:47
lkclturns out that NLnet's Accountant has been going to the bugtracker for *two years*, manually tracking down the MoU first-level milestones (!)04:48
programmerjake?? it assumes those milestones are identical and iirc fixes them internally if not04:48
lkclNLnet.2019.02.012 19104:48
lkclbug #  191  budget  50000 excltasks      0 s 50000 p 4402504:48
lkclbug #   22  |    budget   6125 excltasks      0 s 6125 p 350004:48
lkclbug #  412  |    |    budget   2000 excltasks   2000 s 2000 p 200004:48
lkclso when the mdwn reports "412", then an extra line in the notes should be "MoU milestone: 22"04:49
lkcl## Payment not yet submitted04:50
programmerjakeoh, you mean the leaf task in the mou that is a parent of whatever the current bug is?04:50
lkcl* [Bug #418](https://bugs.libre-soc.org/show_bug.cgi?id=418):04:50
programmerjakeyeah, can you make a bug for that? i'll work on it soon04:50
lkcl  ---> MoU child task <--- [Bug #22](https://bugs.libre-soc.org/show_bug.cgi?id=22)04:51
lkcl  SPR pipeline formal correctness proof needed04:51
lkcl    * &euro;350 out of total of &euro;40004:51
lkclwilldo04:51
lkclit needs to be done preferably before putting in the RFPs. sigh04:51
lkcl5am here.04:52
programmerjakeif you're going to be awake in a few hours, i can have it be done by then, though we will need to add a field to bugzilla telling us if that bug is in the mou04:54
programmerjakeand we'll need to set that field on all the right bugs04:54
programmerjakelkcl: sound good? i'll add the field now if so.04:55
programmerjakeactually, i'll just add it now, we can always remove it if we want to do something else04:56
programmerjakelkcl: i added that new field to a few tasks, unfortunately I don't have easy access to the full set of MoUs, can you help set that flag where appropriate?05:14
programmerjakei'll do the cryptorouter one, the mou list is in the top comment05:14
programmerjakesorry, I had to create a new field cf_is_in_nlnet_mou2 to replace cf_is_in_nlnet_mou, since cf_is_in_nlnet_mou was set to multiple-selection box which doesn't let you easily de-select an item in chromium on desktop...worked fine on mobile...07:02
programmerjakethe new field is a drop-down list07:02
programmerjakelkcl: I implemented the requested feature in budget-sync (bug #882), please fill in the cf_is_in_nlnet_mou2 field to match the MoUs, since I don't actually know which tasks are part of most of the MoUs.09:16
programmerjakeI added all the tasks in the wishbone MoU, except for "traveling expenses" since that didn't have a bug id in the pdf.09:25
programmerjakeI filled in cf_is_in_nlnet_mou2 for all the MoUs I could find in my email history...that's just wishbone and cryptorouter09:30
programmerjakesince it's 1:30am, I'm going to be done for the day.09:30
lkclprogrammerjake, no, a field is not necessary, it can be calculated10:32
lkclall tasks are part of the MoU, it is always true10:34
lkcli will work out how to remove it10:34
programmerjakewait, don't remove it...not all tasks are part of the MoU and we need some way to distinguish them10:35
lkclthey're identifiable by "is this a child of the top-level milestone, yes or no"10:38
lkclthat's it.10:38
lkclthere was no need to add a field for that.10:38
programmerjakeah, ok.10:39
programmerjakeI was thinking that we might have added tasks that weren't in the MoU and set the top-level milestone as their parent...10:40
lkclso there is 100% no circumstance under which a task is added that is...10:40
lkclno, 100% guaranteed no chance of that10:40
programmerjakeor some MoU has 2 layers of tasks somehow10:40
lkclyes, some have 2 layers (3 in one case): all that's needed is a tree-walk to the parent10:40
lkclif a task is not on the MoU then it's not part of the MoU and would not even have the drop-down for that Grant.10:41
programmerjakeno, i mean the MoU includes tasks that make a 2-layer deep hierarchy...so the MoU would include the top-level task, it's sub tasks, and some sub-sub-tasks10:41
programmerjakein that case, if we did "is it a direct child of the top-level task" then it would miss all the sub-sub-tasks10:42
lkclno, that cannot happen either because NLnet's agreed tasks are specifically and only the immediate child nodes of the MoU10:42
programmerjakeok10:43
lkclour decision to create sub-sub-tasks *still* requires that NLnet submit - and this is the kicker - *hunt in the bugtracker for* - only those tasks that were in the MoU10:43
lkclthey've been doing this manually for 2 years and didn't tell me10:43
lkclsigh10:44
sadoon[m]Hi guys10:44
sadoon[m]How's everyone10:44
lkclsadoon[m], goood. just woke up10:44
lkclprogrammerjake, i'll fix it. there's good stuff here, the reporting itself is in place10:45
sadoon[m]I've had quite a bit of free time recently after testing positive for covid lol10:45
lkclagain? doh10:45
sadoon[m]Nah, first time10:45
programmerjakeso, budget-sync can be changed to how you want by changing Node.is_in_nlnet_mou to a property that checks if it's a root bug or it's parent is a root bug.10:45
sadoon[m]Last one was a fluke10:45
programmerjakehi sadoon10:45
sadoon[m]Is there a meeting tonight?10:46
programmerjakeyes, iirc10:46
sadoon[m]Awesome10:46
programmerjakelkcl: when you change that, please set the broken tests to `@unittest.skip`, i'll fix them later10:47
lkclwilldo10:48
programmerjakeis_in_nlnet_mou needs to be a `@cached_property` rather than set in `__init__` since you need to check `self.milestone.canonical_bug_id == self.bug.id or (self.parent is not None and self.parent.bug.id == self.milestone.canonical_bug_id)`10:49
programmerjakeand since `self.milestone` can fail10:49
lkclgood hint10:49
programmerjakecheck that self.milestone is not None -- it can also raise an error if the milestone isn't known10:50
programmerjakek, gn all10:51
programmerjakewait, set the broken tests to unittest.expectedFailure rather than skip...that way they show up differently in the test results10:54
lkclghostmansd[m], sorry about the obscure message.  NLnet is just beginning to set up the new HTTPS-only system and beginning to send me the URLs to access the RFPs13:38
lkcli have two of those URLs so far.  i do not have the other 6.13:38
lkclwhen they give me those URLs, i will be able to tell you what RFPs have been submitted, what have been approved, and which have been paid13:38
lkclunder the specific NLnet Grant, just like i sent you the status information of the one that they *have* sent me13:39
lkcli cannot obviously email you the status information where they haven't provided me the URL to find out the status information!13:39
lkclall of which i was trying to convey in "i hope you can guess most of the above" way, with a very brief message, apologies13:40
ghostmansd[m]lkcl, OK, it became clearer :-)13:44
lkcl:)13:45
ghostmansd[m]I hope that I'll finish macros support soon13:45
ghostmansd[m]In fact, since yesterday we're at stage where we actually remap instructions not as strings, but really as bits13:45
ghostmansd[m]That is, since we now deal on operand parsing stage, we indeed remap say register 42 to register 5 and store sv_extra13:46
ghostmansd[m](just an example, not real formula)13:46
lkclooOooo13:46
ghostmansd[m]I guess this, in fact, will also imply prefix support for gas13:46
ghostmansd[m]Not yet for objdump, unfortunately :-)13:47
lkclaaaw13:47
ghostmansd[m]But for gas we will already end up with 8 bytes of insn13:47
lkclwhat do you mean, we can't have everything all at once??13:47
lkclwe're taking over the world, damnit! muhahah13:47
ghostmansd[m]For objdump, some magic must be done, so that it understands from prefix that stuff has sv. etc.13:48
ghostmansd[m]Yeah I wish that too :-)13:48
lkclhas v3.1 64-bit prefixes been added yet?13:48
lkcl(by IBM, i mean)13:48
ghostmansd[m]There are some prefixed instructions there, not sure where they came from13:48
ghostmansd[m]I mean, binutils certainly have some basis to work with13:49
ghostmansd[m]But I have to discover yet how far it's completed on disassembly side13:49
ghostmansd[m]For assembly, things are simpler: it's either 4 bytes or 8 bytes13:49
ghostmansd[m]And this is it13:49
lkclastounding.14:23
lkclwe've a bug in TestIssuer for almost 2 years14:23
lkclthe multiply pipeline was outputting only a 64-bit value where it should have been 12814:24
lkclconsequently mulhd was 100% guaranteed to produce the value "0"14:26
octavius"only a 64-bit value where it should have been 128" :O14:28
* lkcl major face-palm14:28
octaviusBut it *was* found, better late than never :)14:29
lkclwell the ls180 test asic will have that in it. oh well14:29
octaviusIt's not a bug, it's a feature14:30
* lkcl snorts14:30
lkcloh octavius i had a bit of a think, are you happy to rename the ls2 pinmux to ngi_router?14:30
lkclyou said you had some renaming to do in it anyway14:31
octaviusYeah can do14:31
lkclfrickin ell there's a frickin lot of unit tests14:34
lkclVeera[m], i moved cvc5 and bitwuzla to a separate bugreport and upped the budget a bit for you14:35
lkclhttps://bugs.libre-soc.org/show_bug.cgi?id=88314:35
lkclahh found the error14:37
lkclit was me, screwing up, back in february14:38
lkclthe ASIC will be fine14:38
lkcllxo, ping, there's EUR available for you! i emailed you a summary14:57
octaviusI moved over ls2 to ngi_router15:31
octaviusDo you want to try and add other periphs on different banks?15:36
* octavius will go for lunch, will come back later15:36
lkclhonestly? it's fine16:00
lkclactually.... y'know what...16:00
lkcloh no it's ok16:00
lkcljust trying to think how to move these16:01
lkcl4N VSSE_616:01
lkcl5N VDDE_616:01
lkcl6N VDDI_616:01
lkcl7N VSSI_616:01
lkcl2 pins further inwards16:01
lkclah!16:02
lkcli know16:02
lkclat least for RG116:02
lkcl32E GPIOE_E0E RG1_ERXD016:02
lkcl33E GPIOE_E1E RG1_ERXD116:02
lkcl34E GPIOE_E2E RG1_ERXD216:02
lkcl35E GPIOE_E3E RG1_ERXD316:02
lkclmove these 4 into the places 32-3516:03
lkcl58E GPIOE_E16E RG1_ETXCK16:03
lkcl59E GPIOE_E17E RG1_ECRS16:03
lkcl60E GPIOE_E18E RG1_ECOLE EINT_016:03
lkcl61E GPIOE_E19E RG1_ETXERR16:03
lkclno hang on16:04
lkcli'll do it16:04
lkclok sorted.16:15
octaviusAh, you added extra pins for the rgmii lkcl?16:57
ghostmansdOK it seems the new revision which tweaks binutils internal operand parsing works!17:44
ghostmansdhttps://pastebin.com/6JvmbRHK17:44
ghostmansdThese are the same commands I see in pysvp64asm, except that the former does not understand the brand new syntax like "*%", etc.17:44
ghostmansdI've just created task to synchronize pysvp64asm and binutils naming convention: https://bugs.libre-soc.org/show_bug.cgi?id=884. We'll have to keep these in sync, since we'd like to compare their output eventually once the tests are ready.17:49
ghostmansdIt'd be great if we could allocate some budget to this task, but I'm not sure whether we have it.17:50
lkcloctavius, extra pins, no - just moved them around17:58
lkcloctavius, wark-wark https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=b4292d8c2a8036f5ca8f4469d7aa858b5508b73317:58
lkclyou can find that sort of thing with "make clean" followed by "make pdf"17:58
octaviusAh, that's what it was17:59
lkclghostmansd[m], wha-hey!17:59
octaviusthanks17:59
lkclghostmansd[m], let me find somewhere.  binutils i already threw the EUR 12k at you :)17:59
ghostmansd[m]Yeah I know. At least I could share those. ;-)18:04
lkcland this one https://bugs.libre-soc.org/show_bug.cgi?id=83818:05
lkclif that wasn't already allocated i could chuck that at you...18:05
* lkcl still looking18:05
ghostmansd[m]Yeah that one is inherited from binutils too :-)18:05
lkclfound one18:06
lkclhttps://bugs.libre-soc.org/show_bug.cgi?id=23218:06
ghostmansd[m]I'm really kinda lost where are all those 12K... I got I think only 1K so far. :-)18:07
lkclthis is actually going to be quite a bit task18:07
lkclwell, NLnet will send me the secret URLs to access the RFP overviews, i'll be able to tell you, then18:07
lkclghostmansd[m], i think we'll have to support both naming schemes in pysvp64asm for a while18:08
ghostmansd[m]Yes, sure. Mine impression too.18:08
ghostmansd[m]But at least not for binutils.18:08
ghostmansd[m]There it'd be damn good tricky I'd say.18:09
ghostmansd[m]Well, that's been already discussed, though.18:09
ghostmansd[m]Let me know if I should convert some code too, though.18:09
ghostmansd[m]For example, this good ol' mp3 code I broke... :-)18:10
lkclmhm :)18:10
lkclurrrr and documentation18:13
lkclghostmansd[m], can you find the IRC and mailing list links, do "edit" on comment 0 https://bugs.libre-soc.org/show_bug.cgi?id=884#c018:15
lkclghostmansd[m], https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=7bcec293f2761bed16e9f1fddf4469c7398cb32b18:23
ghostmansd[m]I put the link into "link" field of the task18:23
lkclthat *should* be sufficient, just checking it doesn't break anything18:23
ghostmansd[m]But let me also add it to the first comment18:23
lkclyes please18:24
ghostmansd[m]Actually there are more in binutils, they also provide these r, f, cr and similar notations.18:25
ghostmansd[m]Should we consider these too?18:25
lkclyes i know - no, keep it simple18:25
lkclotherwise it's necessary to have a decode_gpr_reg()18:25
lkcldecode_fp_reg()18:25
lkcldecode_cr_reg()18:25
ghostmansd[m]Ok fair enough yeah18:25
lkcland that's getting to be a handful18:25
lkclpysvp64asm is intended as "bare-bones and reasonably bloody obvious" :)18:26
lkclfor a given definition of "obvious"...18:26
lkclok i didn't break anything with python3 decoder/isa/test_caller_setvl.py >& /tmp/f18:26
ghostmansd[m]:-D18:27
lkcloctavius, "boring" as it is going to be, do you want to help going through unit tests searching for "N.v" and replacing them with "*N"?18:29
lkcli say boring, but actually it'll mean you get to run some of the unit tests which is always a good thing, and see what's in them18:29
lkclghostmansd[m], feel free to help with that not-entirely-mind-numbing task too18:29
lkclit's kinda useful as a "what the hell has actually been done" kindof way18:30
ghostmansd[m]Yes, sure18:32
lkcli'm doing test_caller_setvl.py18:33
ghostmansd[m]You'll start first, though: I'm still have some deeds to complete in scope of macros support.18:33
lkclack18:33
lkcli screwed it up already, decode_reg returned int(field), "vector"18:34
lkclnot "vector", int(field)18:34
lkclor...18:34
octaviusSo which ones should I do?18:39
lkclpick one :)18:41
lkclhttps://git.libre-soc.org/?p=openpower-isa.git;a=tree;f=src/openpower/decoder/isa;hb=HEAD18:41
lkcltest_caller_svp64_anything.py18:42
octaviusI'll do dct18:42
lkclack go for it18:42
lkcli'm gonna doo.... test_caller_svp64_mapreduce.py18:42
lkclmake sure it works first though!18:43
lkcldct's a fun one. i'm astonished by what transpired18:45
octaviusDiscrete Cosine Transform?18:46
lkclit's literally the world's only in-place Vector DCT algorithm18:46
lkclyes18:46
octaviusGot an "OK" at the end, so I guess it works. Now can start changing18:47
lkclyyep!18:49
lkclwhat the hell??18:49
lkclwhy am i only just hearing about this? https://github.com/hst10/pylog18:49
lkclhttps://ieeexplore.ieee.org/document/959145618:49
lkcloctavius, when committing make sure to put the bugreport in the commit message18:51
octaviusWhich bugreport?18:52
lkclthen put the commit diff link into the bugreport18:52
lkclhttps://bugs.libre-soc.org/show_bug.cgi?id=884#c018:52
octaviusok18:52
lkcldone, i'm using vim ":%s/N.v/*N" laboriously one register number N at a time18:54
lkclit's not quick but not slow either18:54
lkcltest_caller_setvl_fp.py....18:56
lkcldone18:57
octaviusAh, that's how you do it18:57
octaviusCould be done with regex :D, but I'm just going to copy you18:58
lkcllol18:58
lkcli hate regex's18:58
octaviusI'm starting to love them18:58
lkcland you have to watch out for matching against "svstate.vl = 5"18:58
octaviusBecause I set up a Pi-Hole DNS XD18:58
octaviusAh yeah18:59
lkcland you have to watch out for matching against "svstate>>>.v<<<<l = 5"18:59
lkclha, just doing matrix i ended up with 3*218:59
lkcland 1*618:59
lkclstarting again on that one, doh19:00
lkclmatrix done19:01
lkclok i'm bored of this now :)19:02
octaviusAlso have be careful with 8.v matching 48.v19:02
* lkcl need to go for a walk19:02
lkclyeah19:02
lkclit's why best not to do automated19:02
octaviusNo, this happens in vim too19:02
octaviusdoing " 0.v" works (with the space)19:03
lkclthat doesn't catch things with "sv.addi 0.v,1.v,2.v"19:06
octaviusTrue, which is why everyone should add a space :D19:06
octaviusDone dct, I'll get on with bc19:54
octaviusdone bc, going on to fft20:23
lkcloleee! tim pearson got libresoc.v working as a drop-in replacement for microwatt.v in kestrel.20:28
octaviusNice20:28
octaviusActually, that's *really* nice20:29
lkclerm... yes :)20:33
lkclit also means that if retrying the linux simulations, those now stand a good chance of succeeding as well20:34
lkcland also booting linux-5.7 on FPGAs20:34
octaviusdone fft, doing fp22:07
octaviusoops, fp already done22:11
octaviusldst it is22:12
octaviusdone, doing predication22:54

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