Tuesday, 2022-01-18

programmerjaketurns out that pywriter actually doesn't ever run a nmigen Simulation, so trying to fix that was a dead-end01:06
programmerjakethe issue I was running into was the parser not being fully reset between parses01:06
programmerjakeso I added a `reset` method01:07
programmerjakeand called it right before calling yacc's parse01:07
sadoon_albader[m<lkcl> "oh btw do join #debian-ports and..." <- So I'm trying to join the channels but I can't find them on matrix's OFTC thing07:34
sadoon_albader[mDo I need to use IRC separately for those?07:35
programmerjakei'd expect there's just not a matrix room for the irc channel yet cuz no one tried to connect yet...try manually constructing the channel name and connecting to it...alternatively type the `!join #debianppc` command into the bridge bot's chat...sec07:38
markossadoon_albader[m, I've seen people using matrix-irc bridge on OFTC so it should be possible07:38
sadoon_albader[mI tried this kind of syntax which worked before but it didn't work here07:39
sadoon_albader[m #debian-ports:irc.oftc.net07:39
programmerjakefor libera, it's appservice07:39
programmerjakeoftc's matrix bridge uses a different syntax, like #_oftc_#libre-soc:matrix.org07:40
sadoon_albader[mI'll try that07:40
sadoon_albader[mWorked!07:41
sadoon_albader[mThanks07:41
programmerjakeyay!07:41
lkclprogrammerjake, regarding proposing adding log2 to the Power ISA Specification Working Group, i should not have to remind you that that needs discussion and proper tracking.11:58
lkcli'm barely keeping up with the technical issues involved in getting linux-5.7 working, i need you to take responsibility here for following the procedures/processes inherent in developing Standards.12:00
lkclespecially given that they're not our Standards and not our procedures, but those of the OpenPOWER Foundation12:01
lkcldrat, last verilator simulation run fixing hrfid didn't solve the DEC timer exception jumping to 0x8320 instead of 0xc000000000832012:54
lkcl0xcNNNNNNNNNNNNN is "relocatable" (virtual) kernel execution12:55
lkcli don't have enough information to go on and every time executing 30 million instructions is an EIGHT hour round-trip.12:55
lkcldamnit12:55
lkclwith no access to things like SRR0 and SRR1 this is damn difficult to track12:59
lkclarrgh it looks like exceptions don't preserve some of the bits of SRR1 that were already set13:06
lkclthis is code written 18+ months ago, we just never had anything run that actually used this "for real"13:13
lkclgah13:13
lkclpatience, patience...13:13
lkclone step at a time13:13
octaviusThat's why you have emphasis on unit tests, right? Or do they not cover your specific problem?13:14
lkclno chance13:16
lkclthe unit tests written so far only cover things that we have actually understood13:16
lkclslowly over time what i've been doing is extracting pieces of assembler from microwatt running things13:17
lkclbut only where and when i have had access to the signal traces and/or debug (DMI-interface) information to get all the registers in order to be *able* to write the unit test13:17
lkclrunning under verilator natively like this is completely new, so there *is* no infrastructure in microwatt-verilator to extract registers13:18
lkcltherefore i'm running blind13:19
lkcland i reaallly don't like "guessing" on an 8-hour round-trip13:19
lkclthis what we missed13:21
lkclhttps://git.libre-soc.org/?p=microwatt.git;a=blob;f=writeback.vhdl;h=65da537e19b3a05270c9b71efed215a669cdb9bb;hb=6d827b93580684e5977f5d7340ed128521161f42#l13213:21
lkcllines 132 and 13413:21
lkclwhich, on a TRAP/interrupt, copy MSR over into SRR1 (so it can be restored on return from interrupt)13:22
lkclbut the bit i missed was that bits 0-5 and 11-14 must come from the *original* SRR1.13:22
lkcljust realised i'm going to have to check that TRAP requests a read of the SRR1 register back in PowerDecoder213:23
lkclotherwise SRR1 will be zero on entry to the trap pipeline13:24
lkcldamn, nope, it wasn't being read. lucky i remembered that13:25
lkclthe fact that this kind of detail is buried in a paragraph somewhere in a 1,300 page manual isn't helping13:26
lkclfound the relevant section v3.0C p1063 Book III section 7.2.113:37
lkcland it's just as unhelpful/obscure as i was expecting it to be13:37
lkclit doesn't explicitly say "preserve these bits"13:37
lkclit gives a description of how to go about *working out* which bits should be preserved in SRR1, urrrr13:38
lkclyyyep, need to go back to DMI debug comparisons.17:00
lkclmeans adding read of SPRs through the DMI interface17:01
lkclprogrammerjake, nice find on dcbz, that means a hell of a lot less work for us18:32
programmerjake:)18:40
programmerjakethey likely figure that log2(x) (with subscript 2) is standard math notation so it doesn't need to be explained.18:41
lkclsigh, yehhh makes sense19:18
lkclwe're likely to encounter... resistance on that one (but not from Paul and Toshaan)19:18
lkcl"but but it's obvious!"19:18
* lkcl currently doing a slightly scary move of DEC and TB SPRs from FastRegs over to StateRegs19:19
lkclwhich is like, really intrusive.19:20
lkclSPRs are split now across *three* separate types of regfile19:21
lkclSlow, Fast, and STATE19:21
lkcloh, where DSISR and DAR are actually managed by LoadStore1, and PIDR and PGTBL by the MMU19:22
lkclfive frickin locations for MTSPR and MFMSPR to hunt through / redirect19:22
lkclthere's supposed to be 1024 SPRs so i created a map19:24
lkclbut now that map has to be not just between the 1024-SPRs-to-8-FASTregs19:25
lkclbut also between 1024-SPRs-to-STATE-regs (for DEC and TB)19:25
lkclreason being, i want to move SRR0/1 and others into FAST, for microwatt compatibility, and there's not enough room20:51
programmerjakelkcl toshywoshy etc. meeting in 3min21:57
programmerjakelkcl one other thing to work on, maybe after fosdem, is the new nlnet grant stuff...i'd like to be able to submit a rfp for ternlog23:42

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