| terpstra | mwalle, yes - i made my own firmware loading and debugging tool using altera's tcl interpretter | 09:32 |
|---|---|---|
| terpstra | it speaks the JTAG to the cyclone3 for me | 09:32 |
| terpstra | however, i'm replacing that now with a modularized C++ program that connects all the components from USB->FTDI->USB-Blaster->JTAG state machine->Cyclone3 regmap->Altera SLD hub->LM32 remap->debug rom uart->RAM/CSR/GDB interface | 09:34 |
| terpstra | the idea being that you can plug the pieces together to support other devices | 09:34 |
| terpstra | if i had more time, i'd make it have a clicky-gui where you could drag and drop the components together and then double-click on things like a RAM/gdb interface in the picture to launch some interface to the chain you built | 09:35 |
| terpstra | the part i've been working on so far has been how to run messages inside the interconnection DAG whilst maximizing the size of buffer processed at a each step | 09:37 |
| Fallenou | lekernel: RMS is doing a talk in London this afternoon | 15:43 |
| Fallenou | do you want me to plant a bomb ? :p | 15:43 |
| lekernel | no but if you can talk him into supporting our stuff it'd be great | 15:47 |
| lekernel | we _need_ advertisement | 15:47 |
| Fallenou | what could I say for example ? | 15:48 |
| Fallenou | (I didn't plan on attending btw) | 15:48 |
| lekernel | I don't know, and it probably won't be easy since mm soc points out problems with the arbitrary hw/sw partitioning of the FSF | 15:53 |
| lekernel | iirc rms did try to make some free HDL designs at some point, you might want to read up on this | 15:53 |
| Fallenou | hooo didn't know | 15:54 |
| Fallenou | http://features.linuxtoday.com/news_story.php3?ltsn=1999-06-22-005-05-NW-LF | 15:56 |
| Fallenou | hum | 15:56 |
| lekernel | "Firmware such as programs for programmable logic devices or microcoded machines are software, and can be copylefted like any other software" | 16:00 |
| lekernel | yeah well | 16:00 |
| lekernel | you can start with that | 16:00 |
| lekernel | and mention LLHDL/Antares, since that's something Opencores never thought about doing (so he doesn't think we're the next openrisk) | 16:01 |
| kristianpaul | Fallenou may talk to him about copyleft ASICs but is kind of early for that | 16:03 |
| kristianpaul | Also point him how hardware is getting more close to be a lockware system, and how that can affect the free software that run on it. | 16:04 |
| kristianpaul | well just some random ideas.. | 16:04 |
| Fallenou | humm I guess he knows that | 16:06 |
| Fallenou | it's kind of in the text | 16:06 |
| kristianpaul | ah, let me read.. | 16:07 |
| Fallenou | I think I won't go | 16:07 |
| Action: kristianpaul stop reading | 16:07 | |
| Fallenou | I prefer taking the time to prepare the slides for OSHUG | 16:07 |
| kristianpaul | copying, he is very extremist on that part of course is not posible, but dunno what he things about manufacture | 16:08 |
| kristianpaul | Fallenou: if add a new driver to rtems bsdp for mm1 or just modify some lines in one, DO i need do the whole boostraping again? or it can be specific? | 16:27 |
| kristianpaul | for the part of the code changed | 16:27 |
| kristianpaul | the boostraping script detect that changes or i must tell it? | 16:27 |
| Fallenou | if you add C files | 16:30 |
| Fallenou | you have to redo the bootstrapping | 16:30 |
| Fallenou | but only for the subtree you modified | 16:30 |
| Fallenou | for example you could just redo the bootstrap from c/src/lib/libbsp/lm32/ | 16:30 |
| Fallenou | it is MUCH faster than redo the entire bootstrap | 16:31 |
| kristianpaul | ie boostrap last chnages Fallenou did on the ethernet driver | 16:31 |
| Fallenou | oh, if you just modified the content of an already existing C/H file | 16:31 |
| Fallenou | don't need to bootstrap | 16:31 |
| Fallenou | just type make | 16:31 |
| kristianpaul | but if i add a new driver, i need to do the _whole_ boostrap? | 16:32 |
| Fallenou | nop | 16:32 |
| Fallenou | just do the bootstrap for the subtree you modified | 16:32 |
| kristianpaul | just the tree | 16:32 |
| kristianpaul | ah ok | 16:32 |
| Fallenou | you can do like ../../../../bootstrap -option | 16:32 |
| Fallenou | I recommand doing the bootstrap -c then -p then without argument | 16:33 |
| Fallenou | to get everything cleaned up | 16:33 |
| Fallenou | but *from* the subtree | 16:33 |
| Fallenou | no the root of the tree | 16:33 |
| kristianpaul | hehe sure | 16:33 |
| kristianpaul | i dont want more coffe ;-) | 16:34 |
| Fallenou | if you add a driver do not forget to add it to the driver array in your application | 16:34 |
| kristianpaul | whats the driver array? an include? | 16:34 |
| Fallenou | and to add the c/h files to the bsp Makefile.am | 16:34 |
| kristianpaul | ok | 16:35 |
| Fallenou | well for some drivers you can just activate them using something like | 16:35 |
| Fallenou | #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER | 16:35 |
| Fallenou | #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER | 16:35 |
| Fallenou | #define CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER | 16:35 |
| Fallenou | it will add the driver to the driver array for you | 16:36 |
| Fallenou | but if you do a driver for something RTEMS does not have a macro like this for | 16:36 |
| Fallenou | you have to do the array yourself | 16:36 |
| Fallenou | like it is done in flickernoise | 16:36 |
| Fallenou | flickernoise/src/main.src | 16:36 |
| Fallenou | line 243 | 16:36 |
| Fallenou | #define CONFIGURE_APPLICATION_EXTRA_DRIVERS \ | 16:36 |
| Fallenou | to give the driver table entry | 16:37 |
| Fallenou | i.e the list of callback functions that your driver has | 16:37 |
| Fallenou | usually there is something like read() write() open() close() initialize() | 16:37 |
| Fallenou | IIRC | 16:38 |
| Action: kristianpaul save this chat | 16:38 | |
| kristianpaul | Fallenou: there is some recomendation for drivers related with DMA in rtems? | 16:39 |
| Fallenou | i don't know | 16:39 |
| Fallenou | maybe ask on RTEMS ML | 16:39 |
| kristianpaul | sure | 16:39 |
| kristianpaul | i was thiking in the rtems way.. asi i guess you should follow some coding standards toa void a bad driver could crash the ssytem.. | 16:40 |
| Fallenou | look there : http://www.rtems.com/onlinedocs/doc-current/share/rtems/html/c_user/c_user00417.html | 16:41 |
| Fallenou | oh and if you do so (putting your own device driver table) | 16:42 |
| Fallenou | you have to specify CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE | 16:43 |
| Fallenou | but I guess if you use "CONFIGURE_APPLICATION_EXTRA_DRIVERS" like in flickernoise you don't need that | 16:44 |
| Fallenou | you add *extra* device drivers, you do not specify the table yourself | 16:44 |
| Fallenou | if I'm not clear enough, tell me | 16:45 |
| Fallenou | (and specify the good CONFIGURE_MAXIMUM_DRIVERS) | 16:45 |
| Fallenou | but you can really take example on flickernoise | 16:53 |
| Fallenou | about the configuration for using extra drivers | 16:54 |
| Fallenou | or maybe if you don't want to get lost by the size of flickernoise, take example on the testsuites/samples/milkymist_gpio/init.c code | 16:54 |
| Fallenou | which is doing it another way, specifying all the driver address table itself | 16:55 |
| Fallenou | it's the other way of doing it :) | 16:55 |
| Fallenou | hum this code needs cleanup too | 16:56 |
| kristianpaul | haha | 16:56 |
| kristianpaul | :-) | 16:56 |
| Fallenou | the best is to take example on the flickernoise code, really | 16:57 |
| kristianpaul | Fallenou: sure, i already experimenting with flicernoise on a local branch | 17:04 |
| kristianpaul | not driver part yet | 17:04 |
| Fallenou | I was talking for the "adding extra driver" part | 17:05 |
| kristianpaul | yeah, thats on my TODO, thats i was asking before | 17:06 |
| CIA-82 | llhdl: Sebastien Bourdeauducq master * ra371227 / (9 files in 3 dirs): Netlist: Antares output - http://bit.ly/gzHE5H | 17:10 |
| CIA-82 | llhdl: Sebastien Bourdeauducq master * r3342089 / (3 files in 3 dirs): Netlist: DOT output - http://bit.ly/fK40AN | 17:10 |
| CIA-82 | llhdl: Sebastien Bourdeauducq master * r9399d89 / README : README: Update homepage - http://bit.ly/exo3Px | 17:10 |
| CIA-82 | antares: Sebastien Bourdeauducq master * rebf31a7 / (include/chip/db.h test-router/route.c): More performance - http://bit.ly/er1iB6 | 17:11 |
| CIA-82 | antares: Sebastien Bourdeauducq master * r7296607 / test-router/route.c : Print pips like in XDL - http://bit.ly/enLCro | 17:11 |
| CIA-82 | antares: Sebastien Bourdeauducq master * ra479a14 / (antares-mkdb/main.c include/chip/store.h libchip/store.c): mkdb: compress output - http://bit.ly/eri5tF | 17:11 |
| CIA-82 | antares: Sebastien Bourdeauducq master * r4289758 / antares-mkdb/main.c : Fix memory leak - http://bit.ly/fCepEb | 17:11 |
| CIA-82 | llhdl: Sebastien Bourdeauducq master * r265c35e / (libllhdl/CMakeLists.txt llhdl-spartan6-map/main.c): spartan6-map: fix memory leak - http://bit.ly/gwGouG | 17:12 |
| Action: kristianpaul check the early (08/2009) commits of milkymist | 18:29 | |
| Action: kristianpaul wonders how was milkymist soc in 2007 ;-) | 18:32 | |
| scrts | :) | 18:32 |
| scrts | the project is so old ? o_O | 18:32 |
| CIA-82 | llhdl: Sebastien Bourdeauducq master * r5768441 / (5 files in 5 dirs): Consistent getopt use - http://bit.ly/gOLcmx | 18:43 |
| CIA-82 | llhdl: Sebastien Bourdeauducq master * rde1fb3e / (16 files in 6 dirs): Consistent naming - http://bit.ly/ihNF5b | 18:57 |
| scrts | I see that milkymist has vga output.. was here a discusion to implement DVI or not? :) | 19:40 |
| lekernel | you're only seeing that now? | 19:41 |
| scrts | no | 19:41 |
| scrts | I saw that... would be a better beginning of the sentence? :) | 19:41 |
| Fallenou | lekernel: I don't understand in your slides of the 26C3 why the vga framebuffer would take only 900 Mbps and not 1800 Mbps | 19:45 |
| Fallenou | I guess it's because of the "double buffering" | 19:45 |
| lekernel | hm? | 19:45 |
| Fallenou | but I still don't understand why | 19:45 |
| lekernel | no, double buffering doesn't have anything to do with that | 19:45 |
| Fallenou | ok | 19:45 |
| Fallenou | so if we have a 3 MB framebuffer | 19:45 |
| Fallenou | and 75 MHz | 19:45 |
| Fallenou | or refresh rate | 19:45 |
| lekernel | formula is hres * vres * screen refresh rate * bits per pixel | 19:45 |
| scrts | emm, so why not DVI? expensive interface chips? harder to implement? | 19:46 |
| lekernel | scrts: because no one has DVI except for monitors | 19:46 |
| Fallenou | lekernel: ok so it's the 3 MB that I don"t understand | 19:47 |
| scrts | ah, didn't think that most projectors also use standard vga cable :) | 19:47 |
| Fallenou | 1024*768*2 ? | 19:47 |
| lekernel | I cannot count how many times I had to answer that question... should be in the faq | 19:47 |
| lekernel | damn this faq needs some update | 19:48 |
| Fallenou | I get 1.5 MB | 19:48 |
| Fallenou | just the half | 19:48 |
| lekernel | Fallenou: the size takes is impacted by the double buffer, but not the bandwidth | 19:49 |
| Fallenou | ok right | 19:49 |
| Fallenou | I get it now :) | 19:49 |
| Fallenou | sorry | 19:49 |
| Fallenou | and I guess distorsion is 1024*768*30*16*2 because it needs to read and to write | 19:51 |
| Fallenou | distortion* | 19:51 |
| lekernel | yes | 19:55 |
| Fallenou | lekernel: at page 24 (the two triangles and about cache and bursts), on the left triangle if I understand correctly you say that a pixel is at first a cache miss, then the next one is a cache hit (because of the burst+cache), right ? | 20:01 |
| lekernel | yes | 20:01 |
| Fallenou | and then what about the second triangle ? | 20:01 |
| Fallenou | and the fact that it's rotated | 20:01 |
| Fallenou | is there something to understand on this second triangle ? | 20:02 |
| Fallenou | and the scanlines | 20:02 |
| Fallenou | (sorry for all the questions but I'm just making sure I understand what I will be talking about :)) | 20:03 |
| lekernel | the second triangle is the triangle that is drawn | 20:07 |
| lekernel | as output | 20:07 |
| Fallenou | yes | 20:08 |
| Fallenou | no optimization to explain on the second one then ? | 20:08 |
| lekernel | huh? | 20:08 |
| lekernel | the point of the figure is to explain how a cache can improve memory read performance on this example | 20:09 |
| lekernel | so, no | 20:09 |
| Fallenou | ok so the main idea is presented by the triangle on the left | 20:09 |
| Fallenou | ok thanks :) | 20:09 |
| Fallenou | wanted to make sure I didn't miss something important | 20:10 |
| lekernel | yeah but the triangle on the right explains why the sequence of reads in the triangle on the left is like that | 20:10 |
| Fallenou | the sequence of read is always for left to right, no ? | 20:12 |
| Fallenou | form* | 20:12 |
| Fallenou | from* | 20:12 |
| lekernel | larsc: mwalle: do you want to mentor the linux port stuff? | 20:47 |
| lekernel | for gsoc | 20:47 |
| larsc | lekernel: at least not officially. i want to participate in gsoc as a student and you can't be mentor for one project and student at another one | 20:56 |
| CIA-82 | milkymist: Sebastien Bourdeauducq master * r2580940 / cores/csrbrg/rtl/csrbrg.v : typo - http://bit.ly/eN2gXR | 21:35 |
| CIA-82 | antares: Sebastien Bourdeauducq master * r323bdcb / (7 files in 5 dirs): Packer skeleton - http://bit.ly/gnoaF4 | 22:06 |
| Fallenou | http://opencores.org/project,plasma < sounds nice :) | 23:42 |
| Fallenou | a little bit slow but nice | 23:42 |
| Fallenou | found it looking at : http://www.youtube.com/watch?v=uINYeGkGkdE&feature=player_embedded#at=20 | 23:42 |
| --- Tue Mar 8 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!