*** tpb has joined #timvideos | 00:00 | |
cr1901_modern | mithro: Are you gonna be around tonight? | 00:15 |
---|---|---|
shorne | mithro: on litex qemu I see we map both CSR_SPIFLASH_BASE and SPIFLASH_BASE | 00:46 |
shorne | it seems CSR_SPIFLASH_BASE is for the bit banged spi flash controller | 00:46 |
shorne | then SPIFLASH_BASE is just for all of the flash contents | 00:46 |
shorne | is SPIFLASH_BASE, the flash contents being available in memory, really how its available in hardware? or is that just for debug? | 00:47 |
shorne | looking at hardware | 00:48 |
cr1901_modern | SPIFLASH_BASE is how the CPU should access flash memory | 00:51 |
cr1901_modern | CSR_SPIFLASH_BASE is for bitbanging writes | 00:51 |
shorne | cr1901_modern: I am not sure I get how it works at the hardware level | 01:01 |
shorne | I see something like | 01:01 |
shorne | [CPU]-->[SSI]-->[m25p80]-->[drive] | 01:01 |
shorne | I would think all interactions would be through the CSR_SPIFLASH_BASE register | 01:02 |
shorne | how the the CPU access as memory mapped data work? | 01:02 |
shorne | so... bad typing do you know how it works? | 01:03 |
cr1901_modern | shorne: All reads on the address bus that are within the region of SPIFLASH_BASE go to an SPI-flash gateware that converts the parallel address bus to the format the serial flash expects | 01:05 |
shorne | oh... I see its in the gateware / hdl | 01:05 |
cr1901_modern | yes | 01:05 |
xobs | Usually for that sort of thing you just mmap() the target file to SPIFLASH_BASE and be done with it. | 01:05 |
xobs | It's XIP stuff. | 01:06 |
xobs | Unless you feel like emulating read delays and caching. | 01:06 |
cr1901_modern | XIP? | 01:06 |
cr1901_modern | xobs: And I know plenty of ppl who would emulate delays and caching :) | 01:06 |
xobs | Execute-In-Place. Pointing the program counter directly at an offset in SPI, without first reading it into RAM and patching up offsets. | 01:07 |
cr1901_modern | ahhh | 01:07 |
shorne | xobs: when you say, "usually for that sort of thing..." you mean usually there is not a gateware? and you just have the kernel drivers take care of making it look like it in memory bia mmap? | 01:09 |
shorne | s/bia/via | 01:09 |
xobs | shorne: No, usually it's the hardware that takes care of it. | 01:09 |
xobs | So if you want to emulate it from a programmer's model, you'd do the same. | 01:10 |
shorne | ok, qemu is emulating it just fine It seems then | 01:11 |
shorne | xobs: I see you mean from programmers model perspective | 01:23 |
*** puck_ has quit IRC | 01:26 | |
*** futarisIRCcloud has joined #timvideos | 01:29 | |
*** puck_ has joined #timvideos | 01:30 | |
mithro | cr1901_modern: No, I'm at the RISC-V Meetup at the moment | 02:04 |
mithro | tinyfpga: Did I ever who you https://github.com/mithro/i2cslave/blob/shift_register_complex/i2cslave/targets/i2c_parts.py ? | 02:05 |
tpb | Title: i2cslave/i2c_parts.py at shift_register_complex · mithro/i2cslave · GitHub (at github.com) | 02:05 |
mithro | tinyfpga: Specifically the https://github.com/mithro/i2cslave/blob/shift_register_complex/i2cslave/targets/i2c_parts.py#L599-L688 - makes me think of your jk tests :-P | 02:06 |
tpb | Title: i2cslave/i2c_parts.py at shift_register_complex · mithro/i2cslave · GitHub (at github.com) | 02:06 |
shorne | ok... I figured something out with the qemu arguments (regarding deprecation of drive,serial) | 02:14 |
shorne | They recomment using '-device' instead, problem is -device is not initialized until after litex platform is initialized | 02:15 |
shorne | maybe '-device' is fine for things like ide drives, but not sure how we can do memory mapping ... | 02:17 |
CarlFK | oh oh :p | 02:26 |
shorne | CarlFK: yes, also serial was not even supposed to be used for a serial driver name, but more like the serial number of the ide drive | 02:46 |
shorne | I have some ideas | 02:46 |
mithro | shorne: I think that was just a hack :-P | 03:04 |
mithro | Be back later | 03:05 |
CarlFK | serial number?!! LOL that hilarious. | 03:11 |
shorne | my idea is we can use a global arg, i.e. --global driver=litex_ssi,spiflash=m25p80 | 03:27 |
shorne | mithro: thanks for confirming my suspision :) | 04:12 |
shorne | Have created, https://github.com/timvideos/litex-buildenv/pull/57 | 04:39 |
tpb | Title: qemu: Fix spiflash args as per deprecated args by stffrdhrn · Pull Request #57 · timvideos/litex-buildenv · GitHub (at github.com) | 04:39 |
shorne | in the end, the spiflash driver name could also be coming from devicetree | 04:40 |
*** cr1901_modern has quit IRC | 04:42 | |
*** cr1901_modern has joined #timvideos | 04:42 | |
shorne | CarlFK: would you like to try the patch? | 04:56 |
shorne | FYI, after I patched qemu and ran ./scripts/build-qemu.sh it didnt pick up my latest changes | 04:56 |
CarlFK | shorne: coming up... | 04:58 |
CarlFK | how handy - still on my screen: qemu-system-or1k: -drive if=mtd,format=qcow2,file=build/arty_net_or1k//qemu.qcow2,serial=n25q128a13: Block format 'qcow2' does not support the option 'serial' | 05:00 |
CarlFK | up-arrow enter and off it goes | 05:01 |
CarlFK | no help... does not support the option 'serial' | 05:01 |
shorne | oh.. did you get my litex-buildenv patch? | 05:03 |
CarlFK | oh, that's what was patched... | 05:03 |
CarlFK | derp. | 05:03 |
CarlFK | I was thinking qemu | 05:03 |
shorne | both | 05:03 |
CarlFK | qemu-system-or1k: can't apply global litex_ssi.spiflash=n25q128a13: Property '.spiflash' not found | 05:06 |
shorne | you have qemu patch too? | 05:06 |
CarlFK | I think so, but that's assuming all that repo/branch/fetch code does what we think it dose... | 05:06 |
shorne | I thought it would be ignored if the property was bad | 05:06 |
shorne | yeah, ... that didnt work for me | 05:07 |
CarlFK | let me rm the qemu source and pull a new copy - adds 20 seconds :p | 05:07 |
shorne | I did | 05:07 |
shorne | cd third_party/qemu-litex/ | 05:07 |
shorne | git pull timvideos-qemu-litex litex | 05:07 |
shorne | git log -n2 --oneline | 05:08 |
shorne | 92d6c11f7c (HEAD -> litex, timvideos-qemu-litex/litex) litex: Add support for specifying properties for litex_ssi | 05:08 |
shorne | CarlFK: maybe I should patch the git stuff too | 05:08 |
xobs | Let me jsut say: Litescope is so very cool. | 05:11 |
*** rohitksingh has joined #timvideos | 05:19 | |
*** rohitksingh has joined #timvideos | 05:21 | |
*** rohitksingh has quit IRC | 05:36 | |
*** rohitksingh has joined #timvideos | 05:36 | |
*** rohitksingh has quit IRC | 05:45 | |
*** rohitksingh has joined #timvideos | 05:53 | |
shorne | mithro: I think we should probably update the qemu-litex to my rebased version... but I did a rebase, not sure my pull request would look good | 05:55 |
shorne | what do you usually do for those? | 05:55 |
mithro | shorne: i have a solution, wait one moment | 05:56 |
mithro | shorne: you should have an invite now | 05:58 |
shorne | ok, now I can just force push my branch there | 05:59 |
shorne | are you ok with that? | 06:00 |
mithro | shorne: push the old branch to old-master or something, then force push away | 06:00 |
shorne | ok | 06:02 |
*** tvCommitBot has joined #timvideos | 06:04 | |
*** tvCommitBot has left #timvideos | 06:04 | |
*** rohitksingh has quit IRC | 06:07 | |
shorne | mithro: https://github.com/timvideos/qemu-litex/commits/master | 06:07 |
shorne | its done | 06:07 |
tpb | Title: Commits · timvideos/qemu-litex · GitHub (at github.com) | 06:07 |
mithro | it is yay! :-P | 06:08 |
shorne | ok, testing this out | 06:08 |
shorne | got some strange error | 06:08 |
mithro | shorne: https://github.com/timvideos/qemu-litex/issues | 06:08 |
tpb | Title: Issues · timvideos/qemu-litex · GitHub (at github.com) | 06:08 |
*** tvCommitBot has joined #timvideos | 06:08 | |
*** tvCommitBot has left #timvideos | 06:08 | |
shorne | warning: unable to rmdir 'capstone': Directory not empty | 06:08 |
*** rohitksingh has joined #timvideos | 06:08 | |
shorne | warning: unable to rmdir 'ui/keycodemapdb': Directory not empty | 06:08 |
shorne | its my git patches | 06:09 |
mithro | bed time for me | 06:10 |
mithro | shorne: get CarlFK to give it a try? | 06:10 |
shorne | mithro: CarlFK: might have gone to bed | 06:13 |
shorne | it works for me now | 06:14 |
shorne | something with my git patches, I might want to revoke my pr there | 06:14 |
CarlFK | I should be.. | 06:14 |
CarlFK | litex-buildenv$ make clean; rm build/arty_net_or1k/qemu/Makefile; ./scripts/build-qemu.sh | 06:18 |
* CarlFK does happy booted dance | 06:19 | |
CarlFK | HDMI2USB firmware booting... ... H2U 00:00:00> | 06:20 |
CarlFK | shorne: it works! | 06:20 |
shorne | CarlFK: nice | 06:20 |
shorne | it works here too | 06:20 |
shorne | whats next ? linux ... | 06:21 |
CarlFK | tac-tics: get to downloading vavado!!! | 06:21 |
tac-tics | Don't know what to download | 06:21 |
tac-tics | Have no computer to do it | 06:21 |
tac-tics | Literally I twiddle bits mid-air | 06:21 |
CarlFK | oh, no computer makes it hard | 06:22 |
shorne | todo next, cleanup & upstream the qemu patch , add some kind of config support (device tree), then cleanups & upstream link support | 06:22 |
shorne | link -> linux | 06:22 |
CarlFK | I'll start this, but I need to be up in 6 hours, so ... | 06:25 |
CarlFK | https://github.com/timvideos/litex-buildenv/wiki/HowTo-LCA2018-FPGA-Miniconf#try-downloading-and-building-linux-for-openrisc-1000 | 06:25 |
tpb | Title: HowTo LCA2018 FPGA Miniconf · timvideos/litex-buildenv Wiki · GitHub (at github.com) | 06:25 |
CarlFK | well pout. Makefile:146: recipe for target 'sub-make' failed | 06:35 |
CarlFK | /home/juser/litex-buildenv/third_party/linux/Makefile:576: recipe for target 'scripts' failed | 06:36 |
CarlFK | or1k-elf-newlib-gcc: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed. | 06:36 |
CarlFK | home/juser/litex-buildenv/third_party/linux/scripts/gcc-goto.sh: line 22: 7032 | 06:38 |
CarlFK | Broken pipe | 06:38 |
CarlFK | lots of broken stuff. | 06:38 |
shorne | ok, trye later | 06:50 |
*** rohitksingh has quit IRC | 06:55 | |
*** rohitksingh has joined #timvideos | 07:26 | |
*** rohitksingh has quit IRC | 07:47 | |
*** Shari2 has joined #timvideos | 07:58 | |
*** tac-tics has quit IRC | 08:09 | |
*** futarisIRCcloud has quit IRC | 08:58 | |
*** rohitksingh has joined #timvideos | 09:50 | |
*** mauz555 has joined #timvideos | 09:51 | |
*** mauz555 has quit IRC | 09:55 | |
*** mauz555 has joined #timvideos | 09:55 | |
*** mauz555 has quit IRC | 09:56 | |
*** ewen has joined #timvideos | 09:58 | |
ewen | CarlFK: Re your LC_TIME issue, this is caused by change in LC_TIME struct between libc in compiler and locale data on your disk. | 09:59 |
ewen | CarlFK: easiest work around I've found so far is "export LC_ALL=C" | 09:59 |
ewen | mithro: FYI LC_TIME structure changed early 2018. Latest glibc has a larger LC_TIME structure. And static linked compilers built against older glibc will fail with newer glibc compiled locales (and vice versa). We may yet need to add a work around for this. Possibly "export LC_ALL=C"? | 10:01 |
ewen | mithro: Main disadvantage is users lose translations of output messages / date/time/etc formats, etc. | 10:02 |
* ewen goes to bed, leaving these notes as hints for those whose morning is earlier... | 10:04 | |
*** ewen has quit IRC | 10:13 | |
*** mauz555 has joined #timvideos | 10:23 | |
*** rohitksingh has quit IRC | 10:32 | |
*** shorne has quit IRC | 10:57 | |
*** shorne has joined #timvideos | 10:59 | |
*** rohitksingh has joined #timvideos | 11:18 | |
*** rohitksingh has quit IRC | 11:46 | |
xobs | So ugly. Let's just do the Go thing and link against libmusl... | 11:55 |
xobs | In other news, I discovered this gpio block takes a lot longer to synthesize (but works much better) if I connect the CLK line to it. Also, I decided to write litegpio. We'll see how that goes... | 11:56 |
CarlFK | mithro: good morning! and linux build error -export LC_ALL=C ... http://paste.ubuntu.com/p/7HG4bCcRH2/ | 12:34 |
tpb | Title: Ubuntu Pastebin (at paste.ubuntu.com) | 12:34 |
*** rohitksingh has joined #timvideos | 12:34 | |
*** rohitksingh has quit IRC | 12:45 | |
*** mauz555 has quit IRC | 13:05 | |
*** mauz555 has joined #timvideos | 13:07 | |
*** Kripton has quit IRC | 14:25 | |
*** Kripton has joined #timvideos | 14:26 | |
Shari2 | CarlFK: I wrote a C++14 application to dump the raw ISO stream using libusb. How can get the code to you? | 14:58 |
CarlFK | Shari2: what's your gitjub username, and do you have your public keys there? | 14:58 |
Shari2 | CarlFK: i do not have a github account | 14:59 |
CarlFK | I'll put them onto the opsis host and you can ssh in | 14:59 |
CarlFK | how about launchpad? | 14:59 |
Shari2 | CarlFK: never used | 14:59 |
CarlFK | how about somewhere I can wget your public key? | 15:00 |
CarlFK | there is a script for importing keys from those two hosts | 15:00 |
*** mauz555 has quit IRC | 15:00 | |
Shari2 | CarlFK: I will create a github account, will need that anyway to send pull requests. | 15:11 |
CarlFK | heh | 15:11 |
mithro | I've been working on fixing the above issues -- but someone seems to have stolen August from me.... | 15:13 |
mithro | CarlFK: I can leave Nikita in your hands? | 15:22 |
CarlFK | mithro: yes - replying to her now - encouraging meeting me at ps1 soon to do the setup together | 15:23 |
CarlFK | mithro: I'll keep CCing you on stuff till you tell me to stop | 15:23 |
mithro | SGTM! | 15:23 |
Shari2 | CarlFK: Shari2 is my github account. Where should i put my public key? | 15:29 |
CarlFK | Shari2: look around for github instructions | 15:29 |
CarlFK | Shari2: it will be used to auth you when you push your work to your account | 15:29 |
Shari2 | CarlFK: auth with ssh is working | 15:37 |
CarlFK | k - sec... | 15:38 |
CarlFK | Shari2: did you get my /msg ? | 15:41 |
CarlFK | do whatever you want to that box - I install a new os/stuff often, so I completely don't care what is on the disk | 15:43 |
Shari2 | CarlFK: fragmentation fine with your opsis, every 1024 bytes is a payload header | 16:16 |
CarlFK | neat - that's good, .. right? | 16:17 |
Shari2 | yes the capture stream is correct | 16:17 |
Shari2 | my board produces a fragmentation header every 4079 to 4081 bytes | 16:18 |
Shari2 | and i have no clue why | 16:18 |
*** rohitksingh has joined #timvideos | 16:28 | |
*** Shari2 has quit IRC | 16:30 | |
*** rohitksingh1 has joined #timvideos | 16:34 | |
*** rohitksingh has quit IRC | 16:37 | |
*** Shari2 has joined #timvideos | 17:17 | |
*** tac-tics has joined #timvideos | 17:26 | |
tac-tics | see, CarlFK. It's in my autojoin list | 17:26 |
CarlFK | ha za! | 17:27 |
CarlFK | tac-tics: what's the situation on you downloading 25 gig? which I realize may not be realistic | 17:28 |
*** rohitksingh1 has quit IRC | 17:30 | |
tac-tics | Unless you send like a no-thinking-required direct link to a tarball, it will be on my "eventually" list. I had a two hour phone interview last night, and I don't have the brainspace for reading step-by-step instructions :( | 17:34 |
CarlFK | it is like those things you say | 17:35 |
CarlFK | but it is not those things you say. just like it. | 17:35 |
CarlFK | tac-tics: there are links to the 2 files https://github.com/timvideos/litex-buildenv/wiki/Xilinx-Vivado#option-1---offline-install | 17:40 |
tpb | Title: Xilinx Vivado · timvideos/litex-buildenv Wiki · GitHub (at github.com) | 17:40 |
CarlFK | but if you aren't logged in, you will be re-directed a login/create account page. | 17:40 |
tac-tics | yeah. | 17:41 |
tac-tics | annoying | 17:41 |
tac-tics | I would just wget it remotely at home if I could | 17:42 |
* tac-tics shakes fist at closed-source things. | 17:44 | |
* tac-tics (shakes other fist at open-source things) | 17:44 | |
CarlFK | lol | 17:44 |
tac-tics | I figure I've got two fists. I better shake at two things. | 17:46 |
CarlFK | good plan | 17:46 |
*** cr1901_modern has quit IRC | 19:40 | |
*** cr1901_modern has joined #timvideos | 19:46 | |
*** Shari2 has quit IRC | 20:29 | |
*** shorne has quit IRC | 21:33 | |
*** ewen has joined #timvideos | 21:36 | |
*** shorne has joined #timvideos | 21:36 | |
ewen | mithro: FTR, LC_TIME issue appears to be a flag day. In I think glibc 2.27. It appears both older static linked binaries with newer locales (eg, CarlFK) and newer static linked binaries with older locales trigger it. So we potentially need two cross compiler builds (old/new glibc). Or some other work around. | 21:38 |
ewen | mithro: FWIW, my notes on finding the root cause (for another context) are at http://git-annex.branchable.com/bugs/Synology_NAS__58___timer__95__create__58___Bad_address/#comment-c4046194ce3cb282790eaf54f7b5288a (currently the last couple of comments, on LC_TIME) | 21:38 |
tpb | Title: Synology NAS timercreate Bad address (at git-annex.branchable.com) | 21:38 |
ewen | CarlFK: Does "set | egrep 'LANG|LC_'" show anything else set other than LC_ALL for you? | 21:40 |
CarlFK | ewen: lots: http://paste.ubuntu.com/p/WyJnXnhw7c/ | 21:41 |
tpb | Title: Ubuntu Pastebin (at paste.ubuntu.com) | 21:41 |
ewen | CarlFK: Ah yes, all the Ubuntu shell function stuff. I've not figured out what that does (but 16.04 also looks similar). | 21:42 |
CarlFK | ewen: what's important is what is set after that all runs, right? | 21:43 |
CarlFK | er, no. | 21:43 |
CarlFK | I was thinking that was bashrc | 21:43 |
ewen | CarlFK: My Ubuntu 16.04 laptop has bits like that too. They're shell functions. But probably defined in/via bashrc | 21:45 |
ewen | Weirldly they seem to be things like _grub_mkimage(), which seems an odd thing to stick in all user shells. | 21:45 |
CarlFK | wow. | 21:46 |
ewen | I'm guessing *maybe* tab completion. But yuck. | 21:47 |
ewen | FWIW, some people seem to have also set LANG=C for this issue, eg, https://www.avrfreaks.net/forum/ubuntu-mate-1804-lts-issue-atmel-toolchains | 21:47 |
ewen | (but LC_ALL=C was sufficient on my Synology NAS. Unclear why.) | 21:48 |
ewen | And the one other thing that apparently worked for a few people was setting LANG=/path/to/locale/file, eg at https://unix.stackexchange.com/questions/444102/loadlocale-c-nl-intern-locale-data-assertion-error | 21:50 |
tpb | Title: debian - loadlocale.c _nl_intern_locale_data assertion error - Unix & Linux Stack Exchange (at unix.stackexchange.com) | 21:50 |
ewen | Eg, LANG=/usr/lib/locale/en_US | 21:50 |
ewen | Although I think in all these cases its just persuading glibc *not* to try loading the locale data, so it never finds out its the wrong size :-( | 21:50 |
CarlFK | this is for compiling Linux right? | 22:00 |
ewen | CarlFK: Linux or MicroPython. The problem is the cross compilers we ue are static linked against older glibc. And I'm assuming you're on a relatively modern Linux distro (to be seeing the issue). Eg, Ubuntu 18.04, recent Fedora, etc. | 22:02 |
ewen | (Interestingly I think this only happens with the compilers we're using for Linux / MicroPython, not the one we use for building the BIOS.) | 22:02 |
ewen | (And building cross compilers against newer libc will just produce issues for running on older Linux distros AFAICT :-( ) | 22:04 |
* ewen dislikes flag days | 22:04 | |
* tac-tics dislikes FLAGS | 22:20 | |
tac-tics | the register | 22:20 |
tac-tics | 'Tis a silly register | 22:20 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!