<lekernel> mwalle: again, it makes sense if you consider that GNU/Autocrap is a propaganda tool, not a build system
<lekernel> using --help would probably break when using non-GNU binutils which would format the help differently
<lekernel> so it's good for RMS
<mwalle> kristianpaul: flashmem? that command from urjtag? should be around 10s for the bitstream flashing
<mwalle> lekernel: .. :)
<mwalle> ok the workaround for this is disable fdpic support completely (hopefully!)
<mwalle> [mw@thanatos qemu-build]$ ./lm32-linux-user/qemu-lm32 ~/foo
<mwalle> Hello world!
<mwalle> yey!
<mwalle> with self compiled toolchain
<lekernel> congratz :)
<lekernel> so you modified the libc as well?
<mwalle> there is now libc yet :)
<mwalle> besides the theobromas crap
<mwalle> but, yes :)
<lekernel> mh, how do you relocate the "Hello world!" string then?
<mwalle> there are no relocations
<mwalle> static binaries yet
<lekernel> it's in a read-only section?
<mwalle>      140:       78 01 00 00     mvhi r1,0x0
<mwalle>      144:       38 21 19 50     ori r1,r1,0x1950
<mwalle>      148:       f8 00 00 06     calli 160 <puts>
<mwalle>   3 .rodata       00000044  00001950  00001950  00002950  2**2
<mwalle>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
<lekernel> puts? so there's a libc...
<mwalle> ahh, i meant theres no official libc
<mwalle> yes im using uclibc
<mwalle> but not theobromas one
<kristianpaul> what is splash.mcs ?
<kristianpaul> userfs.mcs = flickrnoise?
<lekernel> forget about those outdated files
<lekernel> there's no more userfs.mcs
<kristianpaul> argg
<lekernel> splash.mcs = boot splash screen
<lekernel> I recommend you use msd-dec2010 for flashing your board
<kristianpaul> so i just send the file _as_it_is_
<kristianpaul> ?
<lekernel> yeah, the msd archive contains raw binary images
<lekernel> mind that the bitstream is bit reversed, as discussed yesterday on irc
<kristianpaul> yes yes
<kristianpaul> good all is loged now
<kristianpaul> patent litigation..
<kristianpaul> reverser eng for competitive products, lol
<kristianpaul> oops sorry
<kristianpaul> (flash with ftdi_eeprom in linux) no will not, i dont have how to boostrap my jtag-serial board in the case something go wrong..
<lekernel> short pins 1-5 of eeprom, connect to usb, remove the short, reflash
<lekernel> simple
<lekernel> i do that with tweezers
<kristianpaul> lekernel: do you already reflashe on linux with no problem?
<kristianpaul> any way i dont see what do that
<lekernel> no, I didn't try
<kristianpaul> me either, lets adam or soembody with more than one pod do it first :-)
<kristianpaul> btw how do you built soc-1.0RC2.fpg?
<lekernel> oh, you shouldn't break it... worst case you have to plug it with the eeprom shorted
<kristianpaul> and why bios is bin and flickernoise  fbi..
<lekernel> bitgen -g Binary + bit reversal
<kristianpaul> ergg i will not brick my pod no, that not
<kristianpaul> k
<lekernel> because the bios has to know how many bytes to load into sdram, so it has a "fbi" header with that (and a crc)
<lekernel> the bios itself is executed in place and therefore does not need such a header
<kristianpaul> ok let me see if i recover my booting at least bios for now,
<mwalle> mh nios call instruction is a little bit fucked up.. call has a 26bit immediate the resulting pc is {pc[31:28], imm26, {0,0}}
<kristianpaul> i need to work later in a reduced version of rtems (not that i dint enjoy flickernoise) just i dont need all that audio/png/and other stuff for what i want from MM1 now
<lekernel> what do you want from mm1 now? :)
<kristianpaul> :D
<kristianpaul> Implement a GPS baseband processor in your SoC
<kristianpaul> check namuru project, is a posible starting point for some correlation stuff, if it works i can re-use mico32 may be add new instructions... well i dont know thats for later
<kristianpaul> larsc: can you upload your last *.bin files to somwhere i need compare something..
<kristianpaul> argg i still not getting boot :/
<lekernel> you can configure the fpga manually with "pld load"...
<kristianpaul> sure
<lekernel> then if you have a bios image, it should at least do something
<kristianpaul> he well pld load is ok if you are sure your bios is on the flash
<kristianpaul> also i dont want pld load always :-|
<larsc> kristianpaul: http://metafoo.de/milkymist/{bios.bin,bitstream.bin}
<lekernel> it'll help you with figuring out what is wrong with the flash
<lekernel> btw pld load expects a .bit file (i.e. with Xilinx header), it'd be nice to have .fpg file support (raw bitreversed bitstream) as well...
<kristianpaul> i myst confess i erased it first
<kristianpaul> hmm thats true
<kristianpaul> eraseflash i mean :-)
<lekernel> you erased the complete flash chip?
<kristianpaul> it seems
<lekernel> then you need to reflash the standby bitstream as well
<lekernel> and perhaps rescue partitions
<kristianpaul> standby bitstream > thats what power up the fpga?
<lekernel> yes
<kristianpaul> ah, i see then
<kristianpaul> do you have somwhere a memory map of flash?
<lekernel> not graphically, but just look at flash.h
<kristianpaul> k
<kristianpaul> make: /tools/byteswap: No se encontr el programa
<kristianpaul> ok i miss that
<larsc> you'll have to set MMDIR to your milkymist dir
<kristianpaul> oh why this take so long...
<kristianpaul> i wast that way before or is because i swiched to last ISE..
<lekernel> kristianpaul: it's always been like that. if you dislike ise, feel free to contribute to llhdl :)
<kristianpaul> I need a faster computer then ;-)
<kristianpaul> time relativity is hard when you need something NOW, just that :-)
<kristianpaul> infrared and nanonote is other interesting aprouch for comunication, now that LED can achieve wireless data tramission too
<larsc> lekernel: is navre/softuse fully ohci compliant?
<lekernel> no, it's not ohci compliant at all.. ohci is a major PITA and the current avr firmware only implements input device support with a special protocol
<lekernel> I wanted to have OHCI in the beginning, but the benefit/pain ratio turned out to be way too low
<larsc> ok
<kristianpaul> larsc: is it mandatory write again in flash  rescue*
<kristianpaul> lekernel: ^
<kristianpaul> i just worried about mac address
<wolfspraul> that would be my least concern :-)
<wolfspraul> just get it to boot first, who cares about mac address?
<wolfspraul> you only have 1 m1 there anyway, won't disturb anybody...
<kristianpaul> no no i dont care about mac it self
<kristianpaul> just missing this data will not bios to boot *may* *be*
<wolfspraul> I highly doubt that, but let's see.
<kristianpaul> k
<wolfspraul> it's just a unique id, that's all
<wolfspraul> it will boot no matter what the unique id is
<lekernel> kristianpaul: do you really think i'd have coded something to totally prevent booting if the mac address isn't set...?
<kristianpaul> yeah sure,
<kristianpaul> ok ok, no more dumb questions
<kristianpaul> hides
<kristianpaul> flashmem 0 bitstream.bin noverify
<kristianpaul> wiki said that^
<kristianpaul> but flash.h points REGULAR BITSTREAM  (0x006E0000)
<kristianpaul> what i missing to understand this..
<mwalle> wiki is wrong
<mwalle> mh, not exactly, the bitstream may be the standby one :)
<kristianpaul> yeah
<kristianpaul> let try again i follow flash.h and still not automatic boot..
<kristianpaul> not exactly <-- what about: flashmem 0x180000 bios.bin noverify != REGULAR BIOS       (0x00860000)
<mwalle> ok the wiki is wrong/old :)
<kristianpaul> argg but i still cannot boot automcatically :/
<kristianpaul> s/automcatically/automatically
<kristianpaul> hexdump -n 30 standby.fpg
<kristianpaul> 0000000 9000 0ff0 0ff0 0ff0 0ff0 0000 8680 a400
<kristianpaul> 0000010 2ece 7686 4626 b49e f64e 2eae 26a6
<lekernel> looks like a xilinx .bit header you need to strip
<mwalle> argh, gcc reorders splitted relocations?!
<kristianpaul> ah ,yes, i forgot bitgen and jump directly to byteswap
<kristianpaul> hexdump -n 30 build/standby.fpg
<kristianpaul> 0000000 ffff ffff ffff ffff ffff ffff ffff ffff
<kristianpaul> 0000010 9955 66aa 850c e000 0004 858c 1460
<kristianpaul> thats better !
<kristianpaul> this step is tricky, as there is no support for it in standby makefile
<kristianpaul> argg no boot..
<kristianpaul> lekernel: can you cofirm, the correct add for bios (no recue) is 0x860000?
<lekernel> check flash.h
<lekernel> in git
<kristianpaul> i did
<kristianpaul> REGULAR BIOS       (0x00860000) /* 128k */
<lekernel> ok
<kristianpaul> what do i need for booting flickernoise from flash? i guess just dd if=flickernoise.fbi of=boot.bin bs=1 skip=8
<kristianpaul> write to flash
<kristianpaul> pld load system.bit, and thats it?..
<lekernel> you need a working bios, and the complete fbi file (with header)
<kristianpaul> ahh
<kristianpaul> wait
<lekernel> wolfspraul: where is qi-bot putting the logs atm?
<wolfspraul> /home/eggdrop/milkymist-logs, I think
<wolfspraul> you have a root account on that server afaik
<lekernel> ok... and how to get that uploaded to milkymist.org?
<wolfspraul> my admin tasks are piling up everywhere, so I will be slow on anything.
<lekernel> how do you do for qi-hardware?
<wolfspraul> yeah well, many options
<wolfspraul> it's the same server
<wolfspraul> there are also come cgis you may want, for searching
<lekernel> there's already google indexing for that
<lekernel> keep it simple...
<wolfspraul> my setup is 100% documented, see http://en.qi-hardware.com/wiki/Server_setup
<wolfspraul> the milkymist logging is not documented, I just hacked it in yesterday because you asked
<lekernel> so maybe i'll just set up a cron job that uploads the logs to milkymist.org
<wolfspraul> sure, feel free
<wolfspraul> you have a root account
<wolfspraul> I cannot do everything, admin stuff is terribly time consuming.
<lekernel> it is...
<wolfspraul> somewhere on my admin todo list I had planned an upgrade for the irclog2html scripts, so it's better integrated into the qi-hardware look
<wolfspraul> also I need to look into some issues with utf-8 characters
<wolfspraul> when I get to that, and at that point I'm still logging #milkymist, I can think about how to sync that to your machine
<wolfspraul> if you get to it before - great! :-)
<lekernel> i'll just upload as plain text. afaik google also works with plain text
<lekernel> keep that simple...
<wolfspraul> do whatever you like
<wolfspraul> the logs are there, we can always improve later
<wolfspraul> you could also nfs-export that directory to your server's ip
<lekernel> I cannot mount nfs on my server...
<wolfspraul> but don't come back to me complaining when it doesn't work :-)
<lekernel> I don't have root
<wolfspraul> ah I see
<wolfspraul> cron job, scp
<lekernel> rsync maybe
<wolfspraul> try to do it as 'eggdrop' user please, not 'root'
<wolfspraul> I'll get to this at some point, but cannot do it right now, totally overloaded...
<lekernel> kristianpaul: do you like this color/font theme better? http://www.genode-labs.com/products/genode_fx_s3a
<wolfspraul> not sure how easy it is, but the reason it looks very geeky are the sharp edges and contrast, I think
<wolfspraul> people nowadays expect this smooth/milky/transparent/3Dish look
<wolfspraul> very soft
<wolfspraul> big buttons
<wolfspraul> the current GUI looks like in the 80's to me
<lekernel> rather 90's :)
<lekernel> but yes...
<lekernel> I should keep the current button/label font then
<lekernel> and not use the small one
<wolfspraul> for sure. everything bigger, if possible.
<wolfspraul> one problem is the low resolution
<wolfspraul> but we can't change that, so that's going to limit how good it can look
<wolfspraul> there's just not enough pixels for smooth transitions
<wolfspraul> maybe then rather turn it around, and instead of (badly) mimicking the soft looks, just go for hardcore rectangular buttons :-)
<lekernel> not sure how good of an example this is, but the olpc is also 640x480
<lekernel> it's particularly the "control panel" window that is noticeably ugly imo
<lekernel> in other parts of the GUI, there aren't that many sharp edges, except in some config windows that are seldom used
<lekernel> so, maybe replacing the control panel with a more discrete menu could already be much better
<lekernel> ah, and black buttons...
<kristianpaul> lekernel: i dont like
<kristianpaul> i  agree with wolfgang comments
<lekernel> what do you propose then ?
<kristianpaul> Sugar Interface is simple
<kristianpaul> s/is/looks
<kristianpaul> I mean the color
<kristianpaul> colors discuss is hard to concern, just let the user choice one :-)
<lekernel> color themes is additional work
<kristianpaul> i know
<lekernel> you need to have a proper dialog box to choose them
<lekernel> preview
<lekernel> and then refresh all applications without bugs when colors have changed
<lekernel> what a mess
<kristianpaul> ok, gray is not bad at all
<kristianpaul> but is my personal like about it
<lekernel> unless there are more developers I need to focus on the right areas
<lekernel> of course, color themes bring something, but is it worth it?
<kristianpaul> so no color choice for now, just that :-)
<kristianpaul> for Vj people i guess they like it..
<kristianpaul> besides that i dont see other reason
<lekernel> optimizing on one person's guesses isn't always the best either :)
<kristianpaul> yeap ;-)
<kristianpaul> You have wallpaper now, that _enought_ i think
<kristianpaul> s/that/that's
<lekernel> yeah, with a good wallpaper it actually looks a lot better :o)
<lekernel> the problem is both are very bright
<lekernel> maybe I should just darken them
<kristianpaul> ah, he is not here, where is DJ** ?..
<kristianpaul> is nice have a nick related with VJ around when discussing this :-)
<lekernel> the funny thing is no VJ/artist I know complained about the ugliness of the GUI buttons :)
<lekernel> but many geeks did :)
<kristianpaul> oh thats better !
<kristianpaul> we complain aout everything, at least i do ;-)
<kristianpaul> And think because that the less notisable part of a VJ Station,
<lekernel> maybe good wallpaper + replace the control panel with sugar-like menus should make it
<kristianpaul> is up to you, ask your VJ/Artstis comunity around before that, is my advice
<kristianpaul> wallpaper seems fast task, not UI re-design...
<kristianpaul> about bios splash i just pass it as .raw?
<kristianpaul> and i guess is okay if it is not present in flash
<kristianpaul> but dint get boot at leat bios yet :/
<kristianpaul> i'm using bios-1.0RC2.bin as it is
<larsc> kristianpaul: try the files i uploaded they work
<kristianpaul> larsc: yeah i'm just about do that
<kristianpaul> well in your case you dint erase the whole flash  either i guess ;-)
<larsc> i did not
<kristianpaul> i'll try the bios one
<kristianpaul> he, i took the rought way ;-)
<kristianpaul> larsc: what add did you usef for writing bios?
<kristianpaul> ha !
<kristianpaul> your bios seems help here
<kristianpaul> 0000000 9800 0000 d000 0000 7801 0086 3821 0000
<kristianpaul> 0000000 0098 0000 00d0 0000 0178 8600 2138 0000
<kristianpaul> mine is last
<kristianpaul> larsc: how u generated that bios ?
<kristianpaul> from the mcs one?
<kristianpaul> ok lets try byteswap
<larsc> kristianpaul: with the instructions from the wiki
<kristianpaul> ah??
<lekernel> kristianpaul: bit swapping obviously won't fix your problem. don't even try
<lekernel> this rather looks like an endianness problem. no idea how you managed to get that, though
<kristianpaul> no no,hmm
<lekernel> just use the msd image or recompile a bios
<lekernel> no need for any processing of it
<kristianpaul> btw ! last bios in thos lines above is  from MSD!!
<lekernel> huh?
<kristianpaul> hexdump -n 30 bios-1.0RC2.bin
<kristianpaul> 0000000 0098 0000 00d0 0000 0178 8600 2138 0000
<kristianpaul> 0000010 e1d0 0000 00f8 a408 4298 0010 00e0
<lekernel> ok, get yourself a better hexdump program
<kristianpaul> hexdump -n 30 /home/paul/Descargas/bios.bin
<kristianpaul> 0000000 9800 0000 d000 0000 7801 0086 3821 0000
<kristianpaul> ah?
<lekernel> don't know, ghex2 or okteta for example
<kristianpaul> i'll compile my bios then
<lekernel> or tell your hexdump not to swap bytes
<lekernel> the BIOS starts with 98 00 00 00. anything else is wrong.
<kristianpaul> lekernel: http://metafoo.de/milkymist/bios.bin
<kristianpaul> thats from lars
<kristianpaul> and it worked here i finally booted bios
<larsc> and it works for me too
<kristianpaul> ghex2 show same things as hexdump btw
<mwalle> kristianpaul: use hexdump -C, reads the file bytewise
<lekernel> from your description, it seems urjtag writes the flash in little-endian for some reason...
<kristianpaul> I just compiled urjtag from upstream yday, as it seems to not been in fedora
<kristianpaul> my locally compiled bios.bin begin with 98 00 00 00
<lekernel> good
<lekernel> now, the flash should also have 0x9800 at address 0 and 0x0000 at address 1
<lekernel> modify the urjtag code to get that to work and please send a patch
<larsc> i wonder why my bios is byteswapped
<kristianpaul> me too
<kristianpaul> jtag> endian
<kristianpaul> Endianess for external files: little
<lekernel> ah, ok
<kristianpaul> initbus fjmem opcode=000010
<kristianpaul> frequency 6000000
<kristianpaul> detectflash 0
<kristianpaul> oops
<kristianpaul> problem solved :-D
<kristianpaul> hey,  larsc is fast editing wiki  :-)
<kristianpaul> wee
<kristianpaul> the noise is back ;-)
<kristianpaul> now document all this
<kristianpaul> phew
<kristianpaul> is okay if i remove ALL mcs related isntruction from the  flashing page?
<kristianpaul> or should i create a new title there?
<lekernel> I think you can remove the mcs instructions
<lekernel> only the xilinx tools are using them, and we're moving away from them
<kristianpaul> yay !
<kristianpaul> is DHCP working?
<lekernel> in flickernoise yes
<kristianpaul> i'm getting  a BOOTP call failed conection timed out..
<kristianpaul> i'll re check all
<lekernel> will soon introduce LZMA-compressed flickernoise images. this promises a lot of fun ;)
<lekernel> where/what is that?
<kristianpaul> i'm just reading from rtems serial terminal from the MM1
<kristianpaul> after enable DHCP on flkrnoise
<lekernel> this means you don't get a dhcp reply
<lekernel> maybe it would have been a good idea to check with wireshark before...
<kristianpaul> it should
<kristianpaul> i'll try static ip
<kristianpaul> damn there is no ping???!!
<kristianpaul> :-|
<lekernel> works for me and on dozens of other boards...
<kristianpaul> yeah sure..
<lekernel> are your ethernet leds on?
<kristianpaul> of course
<kristianpaul> if i ping the board i got activity from the orange one
<lekernel> try without a switch, direct connection to pc...
<kristianpaul> hmm
<lekernel> and use wireshark
<kristianpaul> ok
<lekernel> that being said, the ethernet driver has tons of bugs that Fallenou never fixed...
<kristianpaul> seriouslly there is NO way of ping command in rtems?
<mwalle> imcp, or was that umon ?
<mwalle> icmp
<lekernel> i don't know... rtems has the bsd stack though, so it should be fairly complete
<lekernel> but the shell might not
<kristianpaul> oh dear, no binutils no ping, no netcat, :-|
<lekernel> those are useless on a VJ station
<kristianpaul> and rtems?
<kristianpaul> anyway
<kristianpaul> i'll starting more about rtems
<lekernel> and if you do need ping or netcat, it's shouldn't be a big deal to write them, if no one did it before
<kristianpaul> there is NFS support?
<lekernel> yes
<kristianpaul> grins
<lekernel> but it's sometimes instable... if I ever participate in GSoC again i'll have a totalitarian policy about testing and bugs
<larsc> hm, interressting. i have a 32bit constant. and instead of doing something like, mvhi r1, 0x1234; ori r1, r1, 0x5678 gcc puts it somewhere in the data section and does mvhi r1, hi(addr); ori r1, lo(addr); ldw r1, (r1+0)
<lekernel> how is that constant defined?
<lekernel> can you paste your code?
<larsc> #define USER_DS ((mm_segment_t) { (0xF0000000UL - 1) })
<larsc> and mm_segment_t is typedef union { unsigned long seg; } mm_segemnt_t;
<kristianpaul> lekernel: is okay if you upload to mm.org/somethng, the files fjmem.bit splash.raw standby.fpg, of course i'll document how get it but is easy have it around for a hurry
<lekernel> yeah...
<kristianpaul> wait i'll pass the tarrball link then
<lekernel> or just put them on your website
<lekernel> and link from the wiki
<kristianpaul> ah sure
<lekernel> maybe even simpler
<kristianpaul> i'll do that way then
<lekernel> i'll make proper binary releases later
<kristianpaul> ah, sure
<lekernel> i.e. for the next board batch :)
<lekernel> for standby.fpg: you used bit reverse, right?
<kristianpaul> any one can recommend a commad line tool for generating html index of a directory?
<lekernel> and put urjtag in big endian mode?
<kristianpaul> yes
<lekernel> ok, good
<lekernel> now we have that flashing part straight :)
<kristianpaul> a makefile will just take of that :-)
<lekernel> sometimes nice to have would be the ability to load *.fpg files with "pld load"... i'll have a look at this if no one does before
<kristianpaul> thats a good feature
<kristianpaul> lekernel: can you tell us a bit more about rescue mode workflow?
<lekernel> it's simple, the standby bitstream loads the backup bitstream, which in turns loads the backup bios which tries to boot the backup boot image...
<kristianpaul> how i do enter in rescue?
<lekernel> press PB1 when pressing PB2 to power the board
<kristianpaul> if i intetionally corrupt regular bios/bittstream it will jump to rescue as well?
<kristianpaul> k
<lekernel> no, rescue mode is only entered manually
<kristianpaul> i see
<larsc> lekernel: if I make the constant small enought to fit into 16bit it's loaded directly.
<lekernel> weird...
<lekernel> maybe you can try to e-mail Jon Beniston about that. he wrote the original lm32 support patch
<lekernel> you're using a vanilla elf compiler, right? no fdpic or anything?
<larsc> i tried to reproduce it in a standalone binary and it dodn't work
<kristianpaul> ah bad luck with the LG remote control
<lekernel> where does that happen?
<larsc> i'm building the kernel
<lekernel> what compiler are you using?
<larsc> gcc 4.5.2 from rtmes
<lekernel> the problem should already present in the unlinked .o file, so by running the exact same command and narrowing down code + compiler flags you should be able to reproduce it in a standalone piece of code I think
<lekernel> no?
<lekernel> ok, so no fdpic or other crazy things a priori
<larsc> ah it's -Os
<lekernel> yup. generating 4 words instead of 2 sure optimizes for size :)
<lekernel> argh...
<lekernel> and not using -Os crashes GCC, right? :)
<larsc> correct
<larsc> well, puts it into an endless loop
<lekernel> yeah, mail Jon Beniston and cross your fingers
<mwalle> maybe tomorrow we have bFLT support :)
<lekernel> no need to file a bug in the gcc database, the current maintainer doesn't look at them, and the other fsf people only care about fighting microsoft
<mwalle> at least for non shared, non PIC binaries
<larsc> mwalle: :)
<mwalle> gn8 :)
<kristianpaul> nite
<kristianpaul> lekernel: byteswap and bitgen for the standby.fpg
<kristianpaul> $ cat /etc/udev/rules.d/26-milkymist.rules
<kristianpaul> ATTRS{idVendor}=="20b7", ATTRS{idProduct}=="0713", MODE="0660"
<kristianpaul> so simple, now jtag no requires root privileges :-)
<larsc> so stupid: ioread32be is defined as be32_to_cpu(le32_to_cpu(*addr))
<kristianpaul> i wish i could understand you :-)
<larsc> it reads the value then converts it to little endian and then converts the result to big endian
<larsc> while just reading the value gives the same result
<larsc> it's easy to fix though
<larsc> we are the first big endian architecture to make use of the generic io accessor implementation
<kristianpaul> :-)
<kristianpaul> got it
<larsc> hm, i wanted to get up in 4h, i guess thats not going to happen
<kristianpaul> dhcp wasmy fault, but i dint get telnet responses..
<kristianpaul> ha next time i'll use readmem dump whole flash and then erase it :p