Thursday, 2022-06-30

openpowerbot[slack] <joel> @Jan Vrany Thanks for pointing out that glibc fix! I was the one that broke it with a patch to upstream buildroot, so I should have seen that coming 🤦‍♂️🏼04:42
openpowerbot[slack] <joel> @Jan Vrany @Boris Shingarov I have some prebuilt images you can experiment with here:04:51
openpowerbot[slack] <joel> 04:51
openpowerbot[slack] <joel>  https://github.com/shenki/linux-on-microwatt04:51
openpowerbot[slack] <joel> 04:51
openpowerbot[slack] <joel> Feel free to use the issue tracker to keep track of problems if you have any.04:51
openpowerbot[slack] <joel> Regarding your SIGILL, it looks like that's a FPU instruction that it's crashing on:07:39
openpowerbot[slack] <joel> ```$ disppc da0300c007:39
openpowerbot[slack] <joel>    0:da 03 00 c0 stfd    f16,192(r3)```07:39
openpowerbot[slack] <joel> Does your gateware have the FPU enabled?07:39
openpowerbot[slack] <Jan Vrany> @joel: OK, I'll open a PR against your repo with the glibc fix later today.08:33
openpowerbot[slack] <Jan Vrany> > Feel free to use the issue tracker08:33
openpowerbot[slack] <Jan Vrany> Sure, but your buildroot repo does not seem to have issues enabled.08:33
openpowerbot[slack] <Jan Vrany> 08:33
openpowerbot[slack] <Jan Vrany> > Regarding your SIGILL, it looks like that's a FPU08:33
openpowerbot[slack] <Jan Vrany> Good point. I've got the gateware from @Boris Shingarov - I assume it has FPU since he run linux on it at some point.08:33
openpowerbot[slack] <Jan Vrany> But let me double check.08:33
openpowerbot[slack] <Jan Vrany> 08:33
openpowerbot[slack] <Jan Vrany> Thanks!08:33
*** openpowerbot_ <openpowerbot_!~openpower@94-226-188-34.access.telenet.be> has joined #microwatt08:36
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has quit IRC08:37
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has joined #microwatt08:37
*** openpowerbot <openpowerbot!~openpower@94-226-188-34.access.telenet.be> has quit IRC08:38
openpowerbot_[slack] <joel> I didn't mean the buildroot repo, I mean the linux-on-microwatt one I linked to08:49
openpowerbot_[slack] <joel> I've updated the buildroot repo with a fix for the glibc issue08:49
openpowerbot_[slack] <joel> @Jan Vrany Which FPGA are you using?08:49
openpowerbot_[slack] <joel> The A7-35T or the 100T?08:49
openpowerbot_[slack] <joel> The fusesoc config for the 35T defaults to no FPU. I use the 100T so I didn't realise; I should update the Linux instructions to include `--has_fpu`08:51
openpowerbot_[slack] <Jan Vrany> A7-35T I believe. I'll double-check once I get to the office.09:10
openpowerbot_[slack] <Jan Vrany> Yes, it is 35T.09:48
openpowerbot_[slack] <Jan Vrany> I assume the gateware from https://github.com/shenki/linux-on-microwatt/tree/master/images is for 100T so it won't work on mine.10:04
openpowerbot_[slack] <Jan Vrany> I do not have Vivado so cannot build gatrware myself, but I'll ask @Boris Shingarov to build one for me.10:04
openpowerbot_[slack] <Jan Vrany> I'll get back once we try this - whether it works or not.10:04
openpowerbot_[slack] <Jan Vrany> Thanks again!10:04
openpowerbot_[slack] <Boris Shingarov> > The fusesoc config for the 35T defaults to no FPU. I use the 100T so I didn't realise10:43
openpowerbot_[slack] <Boris Shingarov> Ok that explains everything!!!  I didn't realise this and thought `fusesoc --target=arty_a7-100 microwatt` and `fusesoc --target=arty_a7-35 microwatt` would produce literally the same circuit just mapped to different devices.10:43
openpowerbot_[slack] <Boris Shingarov> @Jan Vrany I am rebuilding with FPU now!10:43
openpowerbot_[slack] <joel> Now I recall why it's disabled by default, the FPU doesn't fit on that one10:44
openpowerbot_[slack] <Boris Shingarov> Oh so one can't run microwatt-linux on 35T?10:44
openpowerbot_[slack] <joel> If you poke around in microwatt.core you can see the different configurations. The larger FPGAs default to using more resources, etc.10:45
openpowerbot_[slack] <joel> I'm not sure. @Paul Mackerras Is there anything we can trim out to get the FPU to fit on the 35T?10:45
openpowerbot_[slack] <Paul Mackerras> I have been trying to convert it to microprogrammed control with the idea of reducing the amount of logic, but I haven't completed that yet. It's a big job actually.10:47
openpowerbot_[slack] <Jan Vrany> OK, so IIUC the conclusion is that for now, there's no "easy" way to run linux on 35T - one needs 100T. That's good to know! : - ) Thanks!10:54
openpowerbot_[slack] <joel> Sorry to mislead. I should update the instructions to make that clear10:54
openpowerbot_[slack] <Jan Vrany> No problem at all!10:56
openpowerbot_[slack] <Paul Mackerras> You can enable the software FP emulation in the kernel, but it doesn't handle all the ISA v3.0b FP instructions unfortunately10:57
openpowerbot_[slack] <Jan Vrany> Good point, I can try that and see how far I go with it. Thanks!11:02
openpowerbot_[slack] <Paul Mackerras> From memory at least fctid is not implemented. You could have a look at extending the soft fp emulation; I started looking at that ages ago but it was more fun to design an FPU 🙂11:03
openpowerbot_[slack] <Boris Shingarov> On an unrelated subject:16:32
openpowerbot_[slack] <Boris Shingarov> What maps the DRAM at 0x40000000 to 0x00000000?16:32
openpowerbot_[slack] <Boris Shingarov> I am trying to place u-boot in BRAM (for a board where SPI flash is not [yet] accessible) and the constant 0x0c000000 is coded in a whole bunch of config places, which I find to be reasonable to assume that the main DRAM is mapped to 0x0.  `microwatt/include/microwatt_soc.h` represents this as16:32
openpowerbot_[slack] <Boris Shingarov> ```#define MEMORY_BASE     0x00000000  /* "Main" memory alias, either BRAM or DRAM */16:32
openpowerbot_[slack] <Boris Shingarov> #define DRAM_BASE       0x40000000  /* DRAM if present */16:32
openpowerbot_[slack] <Boris Shingarov> #define BRAM_BASE       0x80000000  /* Internal BRAM */```16:32
openpowerbot_[slack] <Boris Shingarov> but where in the gateware source is this alias?  It looks like when I have **both** DRAM and BRAM, both do work fine when I address them at the high addresses, but DRAM is not mapped to 0.  Perhaps this is a simple switch?16:32
*** openpowerbot_ <openpowerbot_!~openpower@94-226-188-34.access.telenet.be> has quit IRC22:36
*** openpowerbot <openpowerbot!~openpower@94-226-188-34.access.telenet.be> has joined #microwatt23:18

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