#milkymist IRC log for Sunday, 2013-03-17

--- Sun Mar 17 201300:00
GitHub191[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/JFsotQ13:29
GitHub191milkymist-ng/master 9f02ced Sebastien Bourdeauducq: dvisampler: add clocking and phase detector13:29
larscsb0: I added a print(sig.huid) to the loop, and they are always in the same order, so I guess it only worked because of some stange side effects.13:31
larscsb0: what isn't sorted the same way each time is the result of _bins()13:31
sb0ok, thanks for the heads-up... will continue a bit on the video mixer now, and then fix that, unless you beat me to it13:36
larscyou know the code much better than I do14:07
larscbut I sent you a pull request on github for some other things14:07
lekernelah14:22
lekernelfor some reason github doesn't send me notifications for those14:22
lekernelif (key < 0): ==> if key < 0:14:23
lekernelit's not C :)14:23
larscright14:27
Fallenou:)14:28
Fallenouhi !14:28
Fallenoudoes anyone here knows the difference-between/reason-for libgcc1 and libgcc2?14:28
Fallenouit (afaik) seems (obiously) undocumented anywhere14:29
lekernelbtw for shifting registers there is << and >>14:30
lekernelthey do arithmetic shifts though - your Cat(Replicate(0, n), reg[-n:]) does a logical shift14:31
GitHub47[migen] sbourdeauducq pushed 3 new commits to master: http://git.io/gfoRTg14:33
GitHub47migen/master 72579a6 Lars-Peter Clausen: Add support for negative slice indices...14:33
GitHub47migen/master dea4674 Lars-Peter Clausen: Allow SimActors to produce/consume a constant stream of tokens...14:33
GitHub47migen/master 2a4cc38 S├ębastien Bourdeauducq: Merge pull request #6 from larsclausen/master...14:33
lekernelthanks!14:34
GitHub105[migen] sbourdeauducq pushed 1 new commit to master: http://git.io/p7cIoQ14:34
GitHub105migen/master b6fe3ac Sebastien Bourdeauducq: fhdl/structure: style fix14:34
Fallenougcc is making me crazy14:38
antgreenFallenou: what's the problem?15:02
Fallenouwhen I'm compiling netbsd kernel, everything is fine while compiling each .c to .o object file15:07
Fallenouand then, at the end, for the final link, it blows15:07
Fallenougcc generates calls to _mulsi3 and such functions (which are additions/multiplications/divisions on integers and floating point numbers)15:08
Fallenoubut at the link time it seems gcc does not provide them15:08
Fallenouso I get a huge number of undefined symbols "__mulsi3" and others like this one15:08
larscthose are in libgcc15:08
Fallenouthat's what I thought15:09
larscsince the kernel is not linking against libgcc you wont see them15:09
Fallenouand indeed those are defined in libgcc/config/lm32/*.{c,S}15:09
larscin Linux we have a copy of those functions from libgcc15:09
Fallenouoh, right ok15:09
larscI bet other architectures on netbsd do the same15:09
larscjust grep for __mulsi315:09
FallenouI did that, a lot15:10
Fallenouit's hard to get a "general idea" about this issue15:10
Fallenouit seems each arch has its solution for this problem15:10
Fallenoush3 architecture seems to be doing what you say, define those symbols in the kernel source tree15:11
larscon Linux we just compile this file into the kernel https://github.com/milkymist/linux-milkymist/blob/ng/arch/lm32/lib/libgcc2.c15:11
Fallenousun68k seems to refer to those .c and .S files in its kernel Makefile by using relative paths15:11
larscwell and this one https://github.com/milkymist/linux-milkymist/blob/ng/arch/lm32/lib/arithmetic.c15:12
Fallenouah yes, mulsi3 is in the second one15:12
Fallenoubut indeed I get unknown symbols for all of this kind of functions15:13
FallenouI tried to add them in LIB2ADD in makefiles in gcc/config/lm32 ... but it didn't help15:13
FallenouI think I will add them in the kernel like in Linux (and like sh3 arch)15:13
Fallenoubut for the other archs, it remains mysterious for me how it works15:14
Fallenoufor m68k, x86, mips, arm etc15:14
FallenouI don't see those symbols referenced *at all* in the kernel source tree15:14
Fallenounot in Makefiles, not in .c or .S or any file15:14
Fallenouso they somehow are able to define them in gcc .... or maybe in libkern15:14
Fallenouthanks for the hint :)15:16
Action: Fallenou wanted to avoid duplicating those files from gcc tree to kernel tree15:16
Fallenoubut fighting against gcc makefiles is killing me15:16
Action: Fallenou will add those files to libkern.o15:19
lekernelFallenou, the milkymist lm32 implementation has a hardware multiplier, you don't need __mulsi315:23
lekernelif you do use __mulsi3 you will have a slow system15:23
lekernelmake sure you compile with --mmultiply-enabled (and the other similar flags)15:23
larscyea, that too15:24
larscon Linux we use -mmultiply-enabled -mdivide-enabled -mbarrel-shift-enabled -msign-extend-enabled15:24
FallenouI have this flag activated in my t-lm32 gcc file15:24
Fallenoularsc: ok your solution partially fixed my problem15:25
Fallenounow it does not complain anymore about mulsi3 since it's in libkern.o15:25
lekernelif you have -mmultiply-enabled, then gcc should never try to use multi315:25
lekernelmulsi315:25
lekernelare you sure you are passing the flags correctly?15:26
Fallenoubut it does complay about a few remaining symbols :15:26
Fallenoulekernel: maybe not, I will have a look15:27
Fallenouhttp://pastebin.com/ebtHHL4p15:27
Fallenoumutex_* it's my fault, I will need to define those15:27
Fallenoubut muldi ucmpdi2 etc15:27
Fallenou__ashrdi315:27
Fallenoulekernel: oh, maybe I should add those to kernel makefile "CFLAGS"15:28
larsc__ashrdi3, hu?15:28
Fallenou(-mmultiply-enabled etc)15:28
Fallenoularsc: yes it complains about this one15:28
Fallenoucf my pastebin15:29
larscsorry, mixed up left and right ;)15:29
lekernelthere are indeed some symbols that libgcc should define15:29
lekernelbtw in the bios etc. we are using compiler-rt instead of libgcc15:30
lekernelhttps://github.com/milkymist/milkymist-ng/blob/master/software/libcompiler-rt/Makefile15:30
Fallenoulekernel: the thing is the kernel does not link against libgcc :/15:31
lekernelthen make it link against libgcc or an equivalent library15:31
Fallenouand in libgcc anyway I don't have this symbol ()15:32
lekernelwhich one?15:32
antgreenfor my moxie kernel port I have copies of the libgcc routines in the kernel soruces15:32
Fallenou__ashrdi315:32
lekernel64-bit arithmetic shift right? it should be in libgcc15:33
larscI don't think it is15:33
Fallenouit's not, at least not in netbsd libgcc (which should be the 4.5.3 one)15:34
lekernelhttps://github.com/tycho/openbios/blob/master/libgcc/ashrdi3.c15:34
antgreenit is15:34
antgreenalso in kernel sources https://github.com/atgreen/linux-2.6-moxie/blob/master/arch/m68knommu/lib/ashrdi3.c15:34
lekernelcompiler-rt has it too15:35
Fallenouit was not in the "lm32 specific" directory of libgcc anyway15:35
Fallenouok so I can get a generic one15:35
Fallenoudist/gcc/libgcc2.c15:35
Fallenouok got it15:35
Fallenoucopy pastig those things really is not clean :(15:36
Fallenoubut that will do it ...15:36
lekernelanyone knows how to fix the fpga editor segfault at startup bug?15:43
lekernels/fix/work around15:44
lekernelwith a message15:44
lekernelWind/U Error (193): X-Resource: DefaultGUIFontSpec (-adobe-courier-medium-r-normal--12-*-*-*-p-*-*-*) does not fully specify a font set for this locale15:44
lekernelbut I'm not sure if that's related, the segfault happens several seconds later15:44
lekerneland it prints "Release 14.4 - fpga_editor P.49d (lin64)" after ...15:45
Fallenoucan you enable core dumps and get the dump (and then the stack trace) ?15:45
lekernelhttp://pastebin.com/ADLHD1eu15:46
Fallenoumaybe by miracle the binary is not stripped :)15:46
larschm, I get /opt/Xilinx/14.4/ISE_DS/ISE/bin/lin64/_fpga_editor: error while loading shared libraries: libXm.so.3: cannot open shared object file: No such file or directory15:48
lekernel0x00007fffe265c722 in wuGetTextExtent ()15:49
lekernel   from /opt/Xilinx/14.4/ISE_DS/ISE//lib/lin64/libgdi50.so15:49
lekernelmotif is already a steaming pile of crap... but wind/u + motif ... omg15:49
lekernellarsc, yeah you need to install openmotif ...15:50
Fallenoumaybe I'm terrible wrong here but, isn't it possible to use the 32 bit version, even on a 64 bit system ?15:50
lekernelhttp://pastebin.com/3sLvcWQL15:50
larscand libstdc++5...15:51
lekernelyes, welcome to the world of xilinx software15:51
Fallenouthe stack trace seems like a real evil bug15:52
Fallenounot sure if something can be done to improve the situation ...15:52
larscomg http://www.xilinx.com/support/answers/20172.htm15:52
Fallenouahah nice issue15:53
lekerneloh yeah, this one is famous15:53
lekernelhttp://www.research.ibm.com/people/g/gdittma/wisdom/xilinx.html15:53
lekernel"These messages are brought to you by a questionable toolkit called Wind/U that is used to port Windows software to operating systems. Most of these messages can be ignored without lasting effect on the quality of your life. The last line, however, is a real problem. As it turns out, the toolkit ports the deficiencies in standard conformance from the Microsoft world to the target system: It cannot handle the standard display coordinates15:54
lekernel of 0.0. "15:54
larscok, it took like half a minute to start, but it does not crash15:54
larscand no messages about missing fonts15:54
lekernelcan you trust user interface designers with a logo like that? http://www.opengroup.org/openmotif/banner3.jpg15:55
lekernelnow add a think layer of wind/u crap on top of that15:55
lekernelthick15:56
Fallenouomg15:56
Action: Fallenou got the -mbarrel-shift-enabled -mmultiply-enabled -mdivide-enabled -msign-extend-enabled to be added to CFLAGS |o/16:01
lekernelah, installing the old x11 bitmap fonts fixes it16:07
lekernelit starts now16:07
Fallenoupfew16:08
antgreenFallenou: you should probably just create an milkymist-elf toolchain configuration16:10
lekernelit doesn't exit without a signal 15 however, but that's a lesser problem16:10
Fallenouantgreen: I prefer keeping only one toolchain not to mess everything up16:13
Fallenouand then add my special flags etc in the netbsd build environment16:14
lekernelphew, 10.1ns routing delay with a fanout of 716:17
lekernelspartan6 silicon is so slow...16:17
Fallenouthe fanout of an element will increase the propagation delay?16:23
Fallenouhow does it affect timings?16:23
lekernelfanout makes routing more difficult, since the net has to reach many places, possibly spread all over the chip16:24
lekernelhere it has only to reach 7 places and it takes 10.1ns to reach them all16:31
lekernelRATP would love this16:31
Fallenou=)16:43
lekernelmeh, how come the output of a global clock buffer is unroutable to the CLK pins of IODELAY216:54
lekernelwtf16:54
lekernelWARNING:Route:436 - The router has detected an unroutable situation for one or more connections. The router will finish the rest of the16:54
lekernel   design and leave them as unrouted. The cause of this behavior is either an issue with the placement or unroutable placement constraints.16:54
lekernel   To allow you to use FPGA editor to isolate the problems, the following is a list of (up to 10) such unroutable connections:16:54
lekernel         Unroutable      signal: sys_clk         pin:  IODELAY2_1/CLK16:54
lekernelI did that on the old soc and it worked...16:55
lekernelah, seems it's because the placer messes up the bufg placements...17:10
lekernelright, let's move the bufgs around with fpga editor until it works...17:10
lekernelI don't understand why xilinx doesn't recommend using fpga editor. it seems you need it to get anything non-trivial done...17:10
Fallenoufpga editor lets you edit placement?17:12
Fallenouor even netlist?17:12
lekernelyes17:12
Fallenounice17:12
Fallenounever used it though, never had to deal with such complex things17:12
lekernelactually you can build complete designs with fpga editor, if you have patience (especially since it crashes every 30min on average)17:12
lekerneland the UI is horrid17:12
lekernelhttp://www.youtube.com/watch?v=wwkGmDaa4oM17:13
lekernelin part 2 he explains how to add logic elements and nets17:16
Fallenouthanks !17:20
lekernelmeh, it seems only a limited number of clocks may enter a IOB17:37
lekernelcan't find doc about that though17:37
lekernellet's see what xdl says17:38
lekerneland the IODELAY CLK is limited to 180MHz, which, if you are using the ISERDES in single ended mode, in turn limits your data rate to 720Mbps to be able to route all clocks17:39
lekernelwelcome to fpga slowland17:39
lekernelmeh, yes, if I read the xdl right there are only 2 local clock distribution networks in a IOB17:46
lekerneland if you use the IOSERDES, you use them all for CLK0 and CLKDIV...17:48
lekerneland if you want to use the variable IODELAY, then you must have CLK=CLKDIV, which limits it to 180MHz17:49
lekernelmeanwhile, NVIDIA ships GPUs with 5000+MHz IO...17:49
Fallenoubut they don't have useless routing switches and use 28 nm technology17:55
Fallenoularsc18:04
FallenouI can see in the linux file you linked :18:04
Fallenouextern UDWtype __umoddi3 (UDWtype, UDWtype);18:04
Fallenouextern DWtype __moddi3 (DWtype, DWtype);18:04
Fallenoudo you know where those are defined?18:04
Fallenounevermind, I have them anyway18:06
Fallenoumacbook is down, wont boot ...20:32
Fallenouand obviously weeks of headaches on netbsd still not pushed lying in the dead macbook20:36
Fallenouyay20:36
lekernelbut even apple uses standard hdd afaik...20:36
lekernelit might be a bit annoying to extract it from the laptop though20:37
Fallenoua few weeks ago I put a samsung 840 pro SSD inside the laptop20:37
FallenouI will try to extract it, connect it to another mac book and use the disk repair utility20:38
FallenouHope it will work20:38
balrogapple uses standard hdd in non-macbook airs and non-retina machines20:39
balrogmacbook airs and retina models use an ssd card20:39
FallenouI'm using macbook pro from late 201020:40
balrogfairly easy to extract the hard drive on unibody models20:40
FallenouI just need Torx T6 and another small screwdriver20:40
balrogremove the bottom cover, remove the phillips screws that hold the hard drive retainer20:40
balrogthe T6 is necessary to remove the four "anchor" screws that stay in the drive20:41
Fallenouyep, I know I already replaced the original HDD twice20:41
balrogaah ok20:41
lekerneljust stick it into a USB enclosure and you should be able to get your data back20:41
Fallenouat first I put a Crucial RealSSD C300, then a samsung 840 pro20:42
Fallenouyes, if I connect it to another mac20:42
Fallenousince it's UFS20:42
lekernelyou can mount it under linux I think20:42
lekernelat least read only20:42
Fallenouok I will try that20:44
balrogFallenou: UFS?21:00
balrogMacs use HFS+; Linux has a kernel driver for it21:00
balrogUFS hasn't been used for ages21:01
balrogit's archaic and strange :P21:01
FallenouHFS+**21:03
Fallenousorry typo21:03
FallenouLinux has a kernel driver for it < great !21:04
lekernelhttp://forums.xilinx.com/t5/Spartan-Family-FPGAs/BUFPLL-not-locking-despite-PLL-lock/m-p/244930#M1758722:02
lekernelcouldn't they think of a more confusing behaviour? just lost 2+ hours to this :(22:02
lekernel(what you connect at one *output* of BUFPLL alters what another output does)22:06
Fallenou...22:12
Fallenouisn't it that a part of the design is being optimized out ?22:14
Fallenoulike the lock signal22:14
lekernelit may optimize away the BUFPLL, but then it connects the LOCK signal to 022:17
lekernelin the end, what you see is if you disconnect the output of BUFPLL, what happens to another output changes22:17
lekernelif for whatever reason, they have to remove BUFPLLs with a disconnected output, it would have been much better to connect LOCK to the PLL LOCKED input instead of 0 ...22:20
Fallenouyes it would make more sens22:22
Fallenousense*22:22
azonenberglol, wow23:11
azonenbergAlso, i think i know that guy23:11
azonenberg(the OP)23:12
azonenberghe went to my school and was talking to me a year or so ago about doing HDMI on an Atlys23:12
--- Mon Mar 18 201300:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!