Thursday, 2022-05-05

*** tpb <[email protected]> has joined #litex00:00
*** cr1901_ is now known as cr190100:13
*** Degi_ <[email protected]> has joined #litex00:18
*** Degi <[email protected]> has quit IRC (Ping timeout: 256 seconds)00:19
*** Degi_ is now known as Degi00:19
jevinskie[m]Is there any reason I shouldn’t be able to run a no-mmu build of Linux with pretty much any litex supported risc-v core if I disable all the extensions in the kernel? Linux on LiteX SERV anyone? ;P02:35
cr1901Idk if it was w/ LiteX specifically, but gatecat did that once02:41
cr1901not on SERV, but noMMU linux running nextpnr on a softcore02:42
tntHe did ?05:07
tntAlso, even nommu might still require atomics support.05:08
*** indy <[email protected]> has quit IRC (Ping timeout: 248 seconds)06:18
*** indy <[email protected]> has joined #litex06:23
geertutnt: As long as it's not SMP, working around the lack of atomics shouldn't be too intrusive06:36
swetlandyeah, linux should be able to build on single processor platforms with atomic ops based around disabling interrupts.  or you could emulate the atomic ops in machine mode but that'd likely be much more overhead06:43
tntI know that I ended up using machine mode in my case, there didn't seem to be any "simple" way to have the kernel not generate the atomics instructions.06:51
tnt(but then serv won't do machine mode so defeats the original point)06:51
tntI'm sure you can modify the kernel so it emulates them fully but it's not just "flicking a switch", you'll have to actually code it.06:52
swetlandpossible. I'm used to the ARM support where they already had paths for machines/cpus without atomic ops06:52
tntriscv linux support is "relatively new", so it's definitely not quite to ARM level of feature/choice completeness.06:53
tntand they, quite logically, focus on what actually make sense to run linux on, rather than "cool proof of concept that are useless for any practical thing".06:54
swetlandI think it's great that people are getting linux booting on their soft cores. nice stress test.06:55
swetlandbut I also think it's sad that there's so much obsession with linux to the exclusion of all else at times06:55
swetlandmodern linux is a very heavy platform to run on a 50-100MHz core with memory measured in the 10s of MB06:55
tntMy personal opinion is that linux on fpga is pointless _unless_ you're specifically tryuing to test/prototype a heavy duty softcore you're targetting for a future ASIC or something.  Other than that you're better off with something more lightweight, or if you need linux, pick a FPGA with a hardcode.06:57
swetlandI'd agree with that06:58
tntThe rest is fun / cool hacks / learning / ... sure, enjoy the fun. But don't go to prod with that.06:58
swetlandworking with the integrated hard cores is fun.  I learned a lot about AXI3/4 last time I worked on a ZYNQ project.06:59
swetlandI'd love to see FPGA vendors start including RISCV hard cores.  A9 is a fussy cpu to work with.  And RV32/RV64 would save them a bunch of money that'd go to ARM otherwise ^^07:01
tntThe crosslink nx has a bit hybrid approach. It has a RISC-V ALU core and register files.07:03
tntNot a full risc-v but it can help making a core much lighter and faster.07:03
*** davebee <[email protected]> has joined #litex08:00
swetlandoh nifty. forgot about that. 08:06
*** tedh_ <[email protected]> has quit IRC (Remote host closed the connection)08:49
*** tedh <[email protected]> has joined #litex08:49
cr1901tnt: I found the article I was thinking of (atomic support w/o atomic insns) https://lwn.net/Articles/314561/09:36
tpbTitle: User space atomic ops on ARMv5 and earlier [LWN.net] (at lwn.net)09:36
cr1901They are called the "kernel user helpers". I suppose no reason to impl them for RV tho https://www.kernel.org/doc/Documentation/arm/kernel_user_helpers.txt09:37
tntcr1901: yeah for sure. I just wanted to point out it's not just a config option ATM. There is a bunch of them hardcoded in various piece of inline asm that will need to be dealt with.09:38
tntalthough that article seesm to be about providing atomics to user space. Not atomics used in the kernel itself.09:40
cr1901The term "atomic" is so severely overloaded that I can't tell from context typically09:40
cr1901Anyways, linking that was also partially for future-me when he forgets in 6 months again :P09:41
*** jdmux <[email protected]> has quit IRC (Quit: Connection closed)10:42
_florent_The interest I can see for Linux on FPGA is the flexibility it offers to control a system, when you don't want or can't use a Zynq, using a SoftCore with Linux can be interesting and with the size of current FPGAs, running Linux is relatively cheap in term of resources.10:59
_florent_So with on a standalone system using a large FPGA, where 90% of the processing in done pure logic and that just need simple external control/status, I found running running Linux interesting.10:59
_florent_With the chip shortage, I've also seen clients stuck because they were using Nios SOPC builder and the Intel chips they were using on their products was no longer available, similar things with Xilinx devices, etc... Running Linux on the FPGA even if using slower and using FPGA resources has also the advantage of being vendor agnostic, so can be and advantage over performance on some products.11:05
_florent_I also had different demands from industrials wanting to create Linux capable SoCs based on VexRiscv/LiteX for Efinix FPGAs to replace some ARM SoCs, so it seems pricing in quantity and performance of Efinix FPGAs make this interesting.11:17
_florent_But yes, that's still a very niche/specific market for now11:18
*** FabM <FabM!~FabM@2a03:d604:103:600:a394:911d:2827:60a1> has joined #litex11:48
*** jdmux <[email protected]> has joined #litex12:41
*** jdmux <[email protected]> has quit IRC (Quit: Connection closed)12:48
*** lexano <[email protected]> has quit IRC (Ping timeout: 246 seconds)14:51
*** lexano <[email protected]> has joined #litex15:03
*** davebee <[email protected]> has quit IRC (Quit: Leaving)15:15
*** lexano <[email protected]> has quit IRC (Ping timeout: 256 seconds)16:36
swetlandoh I think running an OS on a softcore is super useful.  I just think Linux is extremely heavy when you could use something lighter weight.16:40
*** lexano <[email protected]> has joined #litex16:49
_florent_funny test I did in 2020 on a big Ultrascale FPGA:16:54
_florent_https://twitter.com/enjoy_digital/status/132909199967733351016:54
_florent_It's also not that bad on the Acorn CLE215+:16:54
_florent_https://twitter.com/enjoy_digital/status/132913367037293773616:54
tntMy point wasn't so much that you don't need soft core ... but as swetland says is you don't needs linux capable ones.16:55
swetlandoh I'd say often you even want a linux capable one (MMU, etc)16:56
swetlandjust that you could run something much lighter weight than linux on it in many situations16:56
WolfvakIs the CLE215+ even available for purchase anywhere these days?16:56
swetlandjust the linux *kernel* is 10-20MB these days16:56
tntWolfvak: if you find them somehwere, let me know :)16:57
Wolfvaklooking for relatively cheap "big boy" fpga boards, I've kinda outgrown my ecp5-25f already lol16:57
swetlandnow if your software stack needs linux's complexity and it fits, great.  but for adding a software control layer you can often get by with a lot less bulk16:58
Wolfvaktnt, will do... after I buy their entire stock first /s16:58
tntWolfvak: blackmagic declinks16:58
tnthttps://www.blackmagicdesign.com/products/decklink/techspecs/W-DLK-3616:58
tpbTitle: DeckLink – Tech Specs | Blackmagic Design (at www.blackmagicdesign.com)16:58
tntUltrascale FPGA with 2 DDR3 banks and pcie 8x.16:59
tntfor like < 600$ off the shelf.16:59
Wolfvakfunnily enough my bottleneck is not ram, but you can never have enough of it anyway17:00
WolfvakI'll read up on the "homebrew" capabilities, thanks for the advice17:00
_florent_this Decklink is also interesting: XC7A100T / 2x 16-bit DDR3 / PCIe Gen2 X4 for 200$: https://www.blackmagicdesign.com/fr/products/decklink/techspecs/W-DLK-3217:49
tpbTitle: DeckLink – Spécifications | Blackmagic Design (at www.blackmagicdesign.com)17:49
*** josuah is now known as _-c-y-b-e-r-_18:27
*** _-c-y-b-e-r-_ is now known as josuah18:27
*** josuah <[email protected]> has quit IRC (Quit: WeeChat 3.4.1)18:30
*** josuah <[email protected]> has joined #litex18:30
*** josuah <[email protected]> has quit IRC (Client Quit)18:30
*** josuah <[email protected]> has joined #litex18:33
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Quit: Leaving)18:53
*** zjason` <zjason`[email protected]> has joined #litex19:34
*** zjason <[email protected]> has quit IRC (Ping timeout: 248 seconds)19:36
swetlandinteresting that it has a mini-usb port... what's that for?19:49
_florent_for SPI Flash programming (through a small atmel) 20:16
tnt(propriatary stuff though :/)20:23
jevinskie[m]I wish one of the light BSDs had good RISC V support but that doesn’t seem to be the case so I’m trying Linux. I’ve used zephyr before and enjoy it for microcontrollers but I have the ram for a shell and dammit I’m lazy and want one! :)22:30
swetlandif you want something *really* light (though more an educational tool than a production system): https://github.com/mit-pdos/xv6-riscv23:30
swetlandit's a reimplementation of UNIX v6 for RISCV. used for an os class at MIT23:30

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