Wednesday, 2022-01-26

octaviusDoes anyone know of any good linux/posix calendar applications that are lightweight?12:50
sadoon_albader[mI've been looking for one for a very long time and it's one of the main reasons that I unfortunately had to leave claws-mail for evolution13:03
sadoon_albader[mclaws-mail is lightweight and excellent but can only deal with email well13:04
sadoon_albader[mContacts and calendars are wonky13:04
octaviusThanks, also found a comparison article:
octaviusI'll try a few different option. I'd rather have something with text files or databases that I can easily backup13:12
sadoon_albader[mCan someone ping me when octavius joins again14:38
markoslkcl, sorry for being afk lately, it's been a very busy period, and the meetings are just a tad too late for me, I'm almost half asleep by then :)14:38
markosreg. sv64 code, I intend to start next week on this, once things come down to a normal pace14:40
markosnow, I would prefer to work directly on the actual code, writing documentation is not really my favourite part and I tend to take way too long to write docs :)14:40
lkclmarkos, no problem14:42
lkclha :)14:42
lkclwell, at least some brief notes would work. which to be honest is what a lot of the wiki already is14:43
markosok, I'll try to tackle it during the weekend14:45
lkclstar. welcome back btw14:56
markosI was never gone, just incredibly busy :)15:01
markosalso any chance of having the meetings a bit earlier?15:01
lkclmarkos, i'd love to (it would help me as well) but we have the possibility of people from Australia (GMT+10) joining, and anything earlier starts to get towards 6am for them.16:00
markosok I see16:01
markosmakes sense16:01
lkclplus, for cesar, it is "just outside of his work hours"16:01
markosI'll try next week, I'll be prepared with lots of coffee16:01
lkclit's a relaxed affair, no pressure / rush16:01
lkclthe bi-weekly one (which is an hour earlier, today) is the "official" one if like16:02
markosyeah, this is much easier to join16:03
lkclsame URL16:03
lkclsent you a calendar invite16:04
lkclwe usually have a lot to get through, and it even has an agenda (gosh)16:05
lkclChips4Makers[m], hi, you probably saw i added the options of pullup/pulldown and banksel to TAP.add_io(), and plan to add drivestrength-select as well, later16:42
tplatenI was able to build the kernel, its output is microwatt/arch/powerpc/boot/dtbImage.microwatt16:43
lkclwe're required by NGI POINTER under contract to add appropriate SPDX headers, which prompted me to look for the LICENSE file, and, doh, there isn't one!16:43
lkcli found our last discussion about it
lkcland am happy with that16:43
lkcltplaten, fantastic.  yes, that's the right file.16:44
tplatenThe next thing will be sdram_init.bin16:44
lkclah btw i did have to hand-patch the linux kernel so that it could create uncompressed images16:44
lkcli think i sent it to the mailing list(s) already16:45
lkclan uncompressed option is incredibly important because otherwise you will end up with 6+ HOURS of real-time just running the algorithm to uncompress16:46
lkcleven the memcpy for uncompressed kernel copy take ONE hour16:46
lkclthe changes to the device-tree clock-frequency and timebase-frequency are also critically important16:47
lkclbecause the clock speed of 50 mhz is hard-coded into the source code of sdram_init.bin, for the divider frequency on the 16550 UART16:48
lkclreally, the frequency should be read from a very early SYSCON read, but it isn't16:49
lkcl(SYSCON is an area of memory, a memory-mapped "peripheral", that contains HDL-specific parameters, like "what's the clock speed", and "do i have an SPI peripheral connected" and "how many UARTs do i have")16:50
tplatenpatching file arch/powerpc/boot/dts/microwatt.dts16:50
tplatenHunk #1 succeeded at 61 (offset -4 lines).16:50
tplatenHunk #2 FAILED at 120.16:50
tplatenmost likely I checked out the wrong revision16:50
tplatengit clone -b microwatt-5.7
lkclyou want - need the microwatt-5.7 branch16:51
lkclcommit abe0e1dab0a200a16:52
lkclvery strange, not being able to find that16:53
lkclwhere the hell did i get it from??16:55
tplatenmost likely this is an old one16:56
tplatenas there is no commit abe0e1dab0a200a16:56
* lkcl tracking it down16:57
lkclah ha!
lkcli think what i probably did was to take the original patch and use git am apply16:59
lkclwhich of course has completely different git commit nodes17:00
lkcloh well17:00
lkclyou should be able to repro the patches/changes needed, they should be pretty obvious/straightforward what to do17:01
tplatenIt works17:25
tplatenbut there is still no sdram_init.bin17:26
octaviussadoon_albader[m : I'm on again if you need me17:28
lkcltplaten: cd microwatt17:31
lkclcd ./litedram/gen-src/sdram_init17:32
lkclls -altr obj17:32
lkclfind . -name sdram_init.bin17:32
*** tplaten <tplaten!> has left #libre-soc17:43
sadoon_albader[m<octavius> "sadoon_albader : I'm on again if..." <- I wanted to say that you can backup and restore settings and data of evolution easily17:53
sadoon_albader[mThat's how I set it up to make all my machines on the same settings17:53
sadoon_albader[mThe data is in a tar.gz but I didn't look inside it17:54
octaviusOh nice, so it compresses it by default?17:54
sadoon_albader[mOh no, that's the backup file18:06
sadoon_albader[mI don't know how it stores it on disk regularly18:06
tplatenIn microwatt/litedram/gen-src/sdram_init I get cannot create directory ‘/obj’: Permission denied18:20
octaviusIs that just a use permission issue?18:22
octaviusls -ll18:22
tplatenIf I set BUILD_DIR, LXSRC_DIR and SRC_DIR I get main.c:8:10: fatal error: generated/git.h: No such file or directory18:27
tplatenThere is no git.h in the source tree18:28
lkclehhmmm... moo? :)18:35
* lkcl investigating18:35
lkclahh that'll be a missing envvar somewhere18:36
lkclhmmm, i wonder what it is...18:36
lkclah ha!18:36
lkclcreate a variables.mak file18:36
lkcllkcl@fizzy:~/src/libresoc/microwatt/litedram/gen-src/sdram_init$ ls -altr variables.mak18:37
lkcl-rw-r--r-- 1 lkcl lkcl 49 Jan  2 15:02 variables.mak18:37
lkclalthough, actually, the patches i added are supposed to kick in and "work"18:38
lkclhang on...18:38
lkcltplaten: git pull, i had the test of whether variables.mak existed or not the wrong way round18:43
lkcllkcl@fizzy:~/src/libresoc/microwatt/litedram$ !fi18:44
lkclfind . -name "git.h"18:45
tplatenI did git clone ssh:// -b verilator_trace, but <generated/git.h> does not exist on my machine, how do I generate it?19:05
lkcltplaten, i have no idea19:05
lkcllet me see if i can find out19:05
lkcltplaten, it's an empty file19:07
lkcltouch litedram/generated/git.h19:08
lkclthe cleaner way is of course to have some #ifdefs but this is 3rd party auto-generated code #including that19:09
tplatenThe next error here is #include "sdram.h" not found19:16
tplatenI saw there is STANDALONE_MINI_BIOS19:16
lkcltouch sdram.h19:17
lkclempty file, again19:17
lkclhmmm #ifdef STANDALONE_MINI_BIOS is supposed to cut those files out19:17
lkclah do you still have a file in the directory?19:18
lkclif so, delete it19:18
lkcltplaten, also git pull19:20
lkclbecause i just added EXTRA_CFLAGS to CFLAGS19:21
lkclwhich _should_ activate #ifndef STANDALONE_MINI_BIOS in main.c correctly19:21
tplatenNow it works, I have a file obj/sdram_init.bin19:21
lkclcopy that to somewhere convenient (i put it in the toplevel directory)19:22
lkclso i can do ./microwatt-verilator ./sdram_init.bin ./dtbImage.microwatt19:22
lkclare you compiling with EXTERNAL_CORE=false in the Makefile?19:22
lkcl# use an alternative core (in verilog)19:23
lkclif so that will generate then use microwatt.v19:23
lkcland you should be at a buildroot login prompt iiin... abouuut... 2 hours19:23
lkcltry running mmu.bin and helloworld.bin first, though19:24
lkcljust to make sure19:24
lkclcd tests/bin/mmu19:24
lkclcd ../hello_world19:24
lkclcd ../..19:24
lkcl./microwatt-verilator tests/mmu/mmu.bin19:24
lkclor quicker, ./microwatt-verilator tests/hello_world/hello_world.bin19:25
lkclbtw do keep an eye on the amount of files you get in the directory19:25
lkclthe snapshots stack up *real* fast19:26
tplatenI still need dtbImage.microwatt.hex when I run make in microwatt19:31
lkclehhmm... no absolutely not, don't do that19:34
lkcldon't run "make"19:34
lkclyou will end up with something like a 512 gigabyte executable if you try19:34
lkclthat's if you don't thrash your machine to oblivion trying19:34
lkclmake microwatt-verilator19:34
lkcl*NOT* "make"19:34
lkcl"make" tries to build-in the executable as a verilog static memory19:35
lkclthis is perfectly fine for small binaries like hello_world.bin19:36
lkclbut will literally cause a melt-down of your machine if you try it with a six megabyte binary19:36
lkclthe resultant microwatt.v will be something mad like a 450 megabyte verilog file - that's if your machine doesn't run out of virtual memory trying to create it in the first place19:37
tplatenI did make microwatt-verilator, when I got this message: No rule to make target 'dtbImage.microwatt.hex'19:37
lkcltry "touch dtbImage.microwatt.hex"19:38
lkcland don't worry about it19:38
lkclit shouldn't be being requested or included19:38
lkclbut obviously i haven't encountered the error because i had previously tried creating the .hex file19:39
tplatenmore weird things happen19:40
tplatenERROR: Can't load module `./': /usr/local/bin/../share/yosys/plugins/
lkclsigh yes, that's a bug in microwatt's makefile(s)19:40
lkclthey should have used "GHDLSYNTH ?= ghdl"19:41
lkclnot ghdl.so19:41
lkclyou can "fix" it in one of two ways19:41
lkcleither a symlink19:41
lkclor "export GHDLSYNTH=ghdl"19:41
lkclyou've build yosys-ghdl-plugin successfully, and installed it?19:43
tplatenYes I installed it in a chroot19:44
tplatenCannot find file containing module: 'external_core_top'19:44
tplatenexport GHDLSYNTH=ghdl is working19:45
lkclyou have "EXTERNAL_CORE=true"?19:46
lkclor "EXTERNAL_CORE=false"?19:46
lkcl# use an alternative core (in verilog)19:47
lkclifeq ($(EXTERNAL_CORE),false)19:47
lkclyou should only have that error if you have set EXTERNAL_CORE=true19:47
lkclotherwise it should use core_dummy.vhdl19:47
lkclbut hmmm just in case, run the build of external_core_top.v19:48
lkcllkcl@fizzy:~/src/libresoc/soc/src/soc$ python3 simple/ --microwatt-compat --enable-mmu  external_core_top.v19:48
lkcland obviously, copy that into the microwatt directory19:48
lkclit _shouldn't_ be used19:48
* lkcl just making supper19:49
tplatenI continue tomorrow19:57
*** tplaten <tplaten!> has left #libre-soc19:59
lkclok, nicely done, thank you for being so patient20:11
lkclprogrammerjake, octavius markos lxo toshywoshy meeting21:02
octaviusNew diagrams lkcl:22:30
lkcloctavius, i like it22:33
octaviusNow I just gotta throw a little hotrod red in there ;)22:45

Generated by 2.17.1 by Marius Gedminas - find it at!