2010-06-21T00:08:17 Is there an example project Makefile somewhere? It looks like the tests and samples all use automake... I just wanted something simple to get started with. 2010-06-21T00:48:35 *** backhappy has quit IRC 2010-06-21T01:24:31 *** arvind_khadri has joined #rtems 2010-06-21T01:55:16 *** sebhub has joined #rtems 2010-06-21T01:55:34 good morning 2010-06-21T02:05:17 *** mpanetta has quit IRC 2010-06-21T02:26:28 *** arvind_khadri has quit IRC 2010-06-21T02:28:40 *** mpanetta has joined #rtems 2010-06-21T02:38:07 *** arvind_khadri has joined #rtems 2010-06-21T03:13:25 *** madrazr has joined #rtems 2010-06-21T03:16:08 *** lekernel has quit IRC 2010-06-21T03:20:24 *** arvind_khadri has quit IRC 2010-06-21T03:32:50 *** arvind_khadri has joined #rtems 2010-06-21T03:39:13 *** kiwichris has joined #rtems 2010-06-21T04:19:06 *** Raj_ has joined #rtems 2010-06-21T04:19:12 DrJoel: hi 2010-06-21T04:26:38 *** Raj_ has quit IRC 2010-06-21T04:27:21 *** exception13 has joined #rtems 2010-06-21T04:54:35 *** cdcs has joined #rtems 2010-06-21T04:55:07 *** madrazr has quit IRC 2010-06-21T05:09:14 kiwichris, i sent you a mail yesterday (just to get sure the mail isn't in spam folder again :) 2010-06-21T05:29:07 *** arvind_khadri has quit IRC 2010-06-21T05:40:53 *** arvind_khadri has joined #rtems 2010-06-21T05:48:24 *** cdcs has quit IRC 2010-06-21T06:13:23 *** cdcs has joined #rtems 2010-06-21T06:24:38 *** tsm_ice9 has joined #rtems 2010-06-21T06:25:34 Hi, I'm having trouble with the sample applications for the Renesas sh/gensh2 bsp in rtems 4.10, does anybody here know anything about that one by chance? 2010-06-21T06:27:10 basically the simulator is apparently slightly broken, so I can't debug through that, and gdbstubs is also a little off somehow 2010-06-21T06:33:03 sry, never worked with this architecture 2010-06-21T06:34:16 ok, thanks.. maybe you might be able to provide some architecture independent clues that might get me in the right direction though? 2010-06-21T06:35:25 basically since the gdb stub did not work for me (I got it connected to the target, but it always hangs up when I try to load the code into SRAM) I decided that I would try compiling the app to run out of the chip's on board flash, and I just need to get the linker script sorted out for that 2010-06-21T06:36:03 I even tried looking at BSPs for other chips to see if some of them might be better documented and offer clues as to what I need to do but so far no luck 2010-06-21T06:36:19 what is the bsp name? 2010-06-21T06:36:27 gensh2 2010-06-21T06:36:43 it includes three linker scripts... linkcmd, linkcmd.ram and linkcmd.rom 2010-06-21T06:38:21 in the documentation, it says that if STANDALONE_EVF is defined, it will compile for execution from flash, but it doesn't say where to do it, and when I tried defining it in various places (the application C file, bspconf.h) the SREC file still came out with the text section in RAM 2010-06-21T06:38:27 *** kiwichris has quit IRC 2010-06-21T06:38:52 so, after that, for fun, I tried the brute force approach of backing up the linkcmd (the one that actually gets used at compile time) and copying linkcmd.rom to linkcmd 2010-06-21T06:38:58 unfortunately the gensh2 bsp is not in the sim-scripts directory 2010-06-21T06:39:01 that caused a compile error with one of the libraries 2010-06-21T06:39:35 yeah this chipset is not very well supported anymore it seems 2010-06-21T06:41:00 you have to set STANDALONE_EVB as a configure option 2010-06-21T06:41:18 c/src/lib/libbsp/sh/gensh2/configure --help 2010-06-21T06:41:38 yeah somewhere along the line today that occured to me 2010-06-21T06:42:01 and I did see the help output of that configure script 2010-06-21T06:42:52 but, if I run ./configure from that directory, I get 2010-06-21T06:42:52 add "STANDALONE_EVB=1" to your configure options, delete the build tree and rebuild it 2010-06-21T06:43:22 maybe you have to use "START_HW_INIT=1" as well 2010-06-21T06:43:39 yeah I was trying to figure out whether or not that one was necessary 2010-06-21T06:43:59 well, I tried setting both of those to 1 in the configure.ac file 2010-06-21T06:44:02 and ran autoconf 2010-06-21T06:44:09 that's supposed to do it right? 2010-06-21T06:44:24 er, setting them both to default to 1 rather 2010-06-21T06:44:39 why did you run autoconf? 2010-06-21T06:45:04 there is no need to touch the configure.ac file 2010-06-21T06:45:15 well I needed to do that anyway, in the gensh2 directory because I needed to change the CPU frequency, which was in the configure.ac file 2010-06-21T06:45:40 CPU_CLOCK_RATE_HZ? 2010-06-21T06:45:44 yes 2010-06-21T06:45:52 you can set this on the configure command line 2010-06-21T06:45:59 ok 2010-06-21T06:46:04 configure CPU_CLOCK_RATE_HZ=XXX etc. 2010-06-21T06:46:22 so, I should do this from the top level? 2010-06-21T06:46:28 yes 2010-06-21T06:46:49 where I do ../rtems/configure --enable-bsp=gensh2 blah blah 2010-06-21T06:46:56 yes 2010-06-21T06:46:58 ok 2010-06-21T06:47:07 I will try that 2010-06-21T06:48:58 I appreciate the help. This kind of stuff is a little cryptic to me still because I'm used to just compiling OS-less code and don't have to do any configure scripts or any of that 2010-06-21T06:49:05 i guess you will have to use an option to select the appropriate linkcmds file 2010-06-21T06:49:09 for gcc 2010-06-21T06:49:39 well I guess I can add -T linkcmds.rom to the Makefile for the application then? 2010-06-21T06:49:54 yes, this configure stuff is cryptic 2010-06-21T06:49:59 yes 2010-06-21T06:50:35 my familiarity with ./configure is in the context that it is almost always set up the way I need to begin with to install a package that's not in the repo.. ../configure, make, make install 2010-06-21T06:50:37 haha 2010-06-21T06:51:27 these bsp configure options are quite handy, but unfortunately it is not well documented (even their existence) 2010-06-21T06:52:02 yeah I had to do a lot of digging around to find out even what I have found so far 2010-06-21T06:53:02 I kind of like banging my head over this kind of thing though.. it's a nice distraction :) 2010-06-21T06:58:18 do you think I need to change the bsp_specs file to get the linker script that I want? 2010-06-21T06:59:03 no, the -T linkcmds.XXX should be sufficient 2010-06-21T06:59:23 ok, I will try that 2010-06-21T06:59:25 thanks! 2010-06-21T06:59:51 for which application do you want to use this bsp? 2010-06-21T07:00:36 well, an intern in my lab has been assigned the task of trying to get RTEMS up and running and use it to control a bunch of motors 2010-06-21T07:01:18 and I've been assigned to him as sort of a mentor because I am big on embedded systems and even though I've never touched RTEMS I could help him figure out how to get the development environment running and get code running on the chip 2010-06-21T07:02:17 I kind of don't see a particular reason to be using RTEMS for this application, but the prof and assistant prof here are interested in it because they went and met some people at another university who said they were using it 2010-06-21T07:02:47 and, they have this loyalty to the Renesas H8/300 and SH families, which I despise to no end 2010-06-21T07:02:56 rtems is a nice real time os 2010-06-21T07:03:15 do you use windows or linux for development? 2010-06-21T07:03:21 linux 2010-06-21T07:03:28 thats a lot easier 2010-06-21T07:03:45 personally I mainly do FPGA and OS-less CPU stuff, never tried any embedded OS except for a little bit of linux 2010-06-21T07:06:32 ok, so I deleted my build tree, re configured with those options, and tried adding -T linkcmds.rom to my LD_FLAGS of the hello sample app, but I got an error 2010-06-21T07:06:42 from LD 2010-06-21T07:06:55 hello.exe section .monvects is not within region rom 2010-06-21T07:06:56 can you post the message? 2010-06-21T07:07:19 maybe I need to add a nostartfiles option to the makefile? 2010-06-21T07:07:57 do you try to compile the standard samples? 2010-06-21T07:08:06 yes 2010-06-21T07:08:31 just the hello sample that's in testsuites/samples/hello 2010-06-21T07:08:43 and you set the LD_FLAGS environment variable? 2010-06-21T07:09:05 yeah I set LD_FLAGS = -T linkcmds.rom 2010-06-21T07:09:12 hm, one moment 2010-06-21T07:09:21 only for the Makefile in this directory 2010-06-21T07:09:46 ah ok, this should be right 2010-06-21T07:09:50 the make is split into two steps, one that makes init.o 2010-06-21T07:09:59 and the other that turns that into hello.exe I guess 2010-06-21T07:10:49 and, if I run make without setting the LD_FLAGS to that, then the srec shows text in the RAM where I don't want it 2010-06-21T07:11:59 this makefile is really big, it has a lot of stuff that I don't know what is necessary or not, so I think it would be hard to come up with a makefile from scratch for a new application 2010-06-21T07:12:23 this file is generated from autoconf/automake/configure 2010-06-21T07:12:37 so its ugly by concept 2010-06-21T07:14:00 OK, so in the regular linkcmds file 2010-06-21T07:14:05 the first thing I see in SECTIONS is 2010-06-21T07:14:23 .monvects 0x00400000 2010-06-21T07:14:28 (this is where external SRAM space is) 2010-06-21T07:14:40 in the .rom version, it's .monvects = 0x00000000 2010-06-21T07:14:53 er, without the equals sign 2010-06-21T07:15:16 and the full error is ld: address 0x400000 of hello.exe section .monvects is not within region rom 2010-06-21T07:15:55 ah and just before the error, there are a bunch of warnings about redeclarations of the memory regions 2010-06-21T07:16:14 that is usually bad 2010-06-21T07:16:31 -qnolinkcmds -T linkcmds.rom 2010-06-21T07:16:35 you should try this 2010-06-21T07:16:46 yeah, I had a suspicion about that, that was what I was thinking earlier 2010-06-21T07:16:57 when I asked if I needed a nostartfiles option 2010-06-21T07:17:41 the linkcmds stuff works differently now in newer bsps, so I forgot these options 2010-06-21T07:17:50 OK, now I have a different error. But I see that as progress maybe. 2010-06-21T07:18:17 ld: error: no memory region specified for loadable section `.rodata.str1.4' 2010-06-21T07:20:05 you have to add .rodata.* to the .rodata section 2010-06-21T07:20:24 *(.rodata .rodata.* .gnu.linkonce.r.*) 2010-06-21T07:22:40 tsm_ice9: there is no simulator to run gensh2 on. You have to use simsh2 and build for that BSP 2010-06-21T07:22:52 DrJoel, OK thanks.. good to know 2010-06-21T07:23:03 do you know why the gdbstubs might be not working? 2010-06-21T07:23:06 haha 2010-06-21T07:23:27 sebhub, I see this at the .rodata section: .rodata . : { *(.rodata) *(.gnu.linkonce.r*) } 2010-06-21T07:23:58 yes, replace the input sections with *(.rodata .rodata.* .gnu.linkonce.r.*) 2010-06-21T07:24:03 ok 2010-06-21T07:24:04 the content between the { } 2010-06-21T07:24:33 what does that extra entry mean? 2010-06-21T07:25:05 i don't know, the linkcmds tend to become out of data as gcc etc. makes progress 2010-06-21T07:26:19 alright.. it compiled!!! 2010-06-21T07:26:21 thank you :) 2010-06-21T07:27:01 tsm_ice9: FWIW we (being RTEMS Community) usually don't write the stubs. They are ported from another source. And I don't actually see any support for the SH architecture in our stubs. Where are you getting it? 2010-06-21T07:27:41 DrJoel, I tried sourceforge (that's what the bsp readme suggested) but that one is really old and not compliant with new GCC 2010-06-21T07:28:06 so, I also tried stubs from KPIT GNU Tools, which provides a nice binary distribution of the SH and H8/300 GCC 2010-06-21T07:28:37 ahhh ok.. so that is probably a good source. 2010-06-21T07:28:45 * DrJoel has an appt in 30 minutes bbl 2010-06-21T07:28:48 I'm wondering if maybe the protocol is a little off 2010-06-21T07:28:51 *** DrJoel has quit IRC 2010-06-21T07:29:11 hm, sebhub, it compiled, and the SREC is showing different addresses from before, which is good 2010-06-21T07:29:16 but still not the ones that I want haha 2010-06-21T07:29:38 what is still wrong? 2010-06-21T07:29:45 *** cdcs has quit IRC 2010-06-21T07:30:26 originally the code was appearing starting at address 0x00440000 2010-06-21T07:30:34 now it's moved to 0x00400000 2010-06-21T07:30:49 which is .monvects 2010-06-21T07:31:19 *** arvind_khadri has quit IRC 2010-06-21T07:31:30 no actually it's starting at 0x00404000 I think 2010-06-21T07:32:08 ahh that's where the linkcmds.rom seems to have the text section maybe 2010-06-21T07:33:44 strange 2010-06-21T07:35:02 ah there's a comment on this linkcmds.rom file.. "Sections are defined for RAM loading and monitor debugging" 2010-06-21T07:35:04 you can use objdump -h to see the sections 2010-06-21T07:35:15 so, I guess I need to rewrite the linkcmds file 2010-06-21T07:35:53 maybe you only have to adjust the MEMORY defines 2010-06-21T07:36:17 .text starts at 0x00404000 in objdump output 2010-06-21T07:36:33 MEMORY looks like: 2010-06-21T07:36:36 MEMORY 2010-06-21T07:36:36 { 2010-06-21T07:36:36 rom : o = 0x00000000, l = 0x00040000 2010-06-21T07:36:36 ram : o = 0x00400000, l = 0x00080000 2010-06-21T07:36:36 onchip_peri : o = 0xFFFF8000, l = 0x00000800 2010-06-21T07:36:37 onchip_ram : o = 0xFFFFF000, l = 0x00001000 2010-06-21T07:36:37 } 2010-06-21T07:36:42 and where should it be instead? 2010-06-21T07:36:53 I want it at 0 I think 2010-06-21T07:37:40 ah I see now I think 2010-06-21T07:38:05 there are sections called .monvects, .monram, and .vects and they all say (NOLOAD) 2010-06-21T07:38:15 and .monvects is the one that has > rom 2010-06-21T07:38:27 yes 2010-06-21T07:38:31 so I think I can just eliminate those sections, and point my text to .0 2010-06-21T07:39:24 i don't know what this mon stuff is 2010-06-21T07:39:31 well, I believe the idea is 2010-06-21T07:39:46 that this whole thing is meant to be loaded into RAM and then jumped to by a bootloader or monitor program 2010-06-21T07:40:06 and the movects and monram are "don't touch" areas, reserved for this supposed monitor that I don't have 2010-06-21T07:40:27 ah, so this monitor is something non-standard 2010-06-21T07:40:37 then your approach should work 2010-06-21T07:40:52 yeah.. the bsp readme gives instructions on how to load the code into RAM through GDB and gdbstubs 2010-06-21T07:41:17 but they don't document how to get the code to boot straight from flash 2010-06-21T07:41:28 but, I think I have it all now :) 2010-06-21T07:42:04 I don't know what that STANDALONE_EVB thing actually did then, other than change the startup file code 2010-06-21T07:43:20 well cool I think I'm almost there 2010-06-21T07:43:31 *** arvind_khadri has joined #rtems 2010-06-21T07:43:56 what's this _etext section? 2010-06-21T07:44:26 i have no idea 2010-06-21T07:45:01 these linkcmds files are a constant copy & paste nightmare 2010-06-21T07:48:27 yeah this thing is horrible haha 2010-06-21T07:48:37 but I'm learning from it, somewhat 2010-06-21T07:50:01 there are a lot more sections in this thing than I'm used to with other linker scripts 2010-06-21T07:50:06 this is becoming a hassle.. haha 2010-06-21T07:50:46 the input sections should be the same on all GNU tool chains more or less 2010-06-21T07:50:59 yeah the order of this is really weird though 2010-06-21T07:51:15 there are all these .rel and .rela things too 2010-06-21T07:51:20 which I've never seen before 2010-06-21T07:51:29 they are superfluous 2010-06-21T07:51:42 can I comment them out? 2010-06-21T07:51:51 needed for dynamic libraries and maybe PIC code 2010-06-21T07:51:59 ah 2010-06-21T07:52:18 i wound not touch this unless it makes problems 2010-06-21T07:52:24 ok.. can they be in the ROM? 2010-06-21T07:52:41 I guess they are supposed to be read only sections... so yeah they should be 2010-06-21T07:52:46 OK I see where my problem is now actually 2010-06-21T07:53:43 *** exception13 has left #rtems 2010-06-21T07:54:56 Nice! I got my .text section to address 0x0 where I want it... I think that's it :) 2010-06-21T07:55:26 I would contribute some documentation back to the bsp but I don't think anyone's ever going to use it really haha 2010-06-21T07:57:02 if you make more changes, you can make a patch and add a bugzilla entry 2010-06-21T07:58:05 OK 2010-06-21T07:58:32 well thanks again for the help 2010-06-21T07:58:56 no problem 2010-06-21T08:02:01 hm, there's still a large chunk of data in the s-record file that's going into RAM though... 2010-06-21T08:02:24 I guess it's rodata 2010-06-21T08:02:59 well I can figure that out 2010-06-21T08:05:37 yup, that was a matter of moving everything up to .rodata into rom.. piece of cake 2010-06-21T08:07:38 ah, and now I see why the .rom linker script was as it was 2010-06-21T08:08:11 the board that this bsp is designed for apparently came with some monitor program.. but this is more than ten years out of date, I'm pretty sure that board isn't even made anymore 2010-06-21T08:11:54 does this bsp still work with your hardware? 2010-06-21T08:14:05 it should, yes 2010-06-21T08:14:57 the bsp is for the sh 7045 chip, and we're using a 7145 which is the same except that it can run at a higher clock frequency, has more internal RAM, and more peripherals 2010-06-21T08:15:10 but the list of vectors for the peripheral registers is the same for the peripherals that are shared 2010-06-21T08:16:41 and the hardware we have is pretty much the smallest PCB possible, with just the chip, an oscillator, and external memory 2010-06-21T08:19:15 ok 2010-06-21T08:19:25 I think the external memory uses the same chip select and all that, and the memory bus width is hard coded by some jumpers, so there shouldn't be any need to change the external memory init either 2010-06-21T08:21:08 or, if it needs to be changed, it shouldn't be too hard to find where/what to change 2010-06-21T08:23:29 *** mpanetta has quit IRC 2010-06-21T08:25:19 *** mpanetta has joined #rtems 2010-06-21T08:58:38 *** cdcs has joined #rtems 2010-06-21T09:07:39 *** lekernel has joined #rtems 2010-06-21T09:08:49 *** bubaflub has joined #rtems 2010-06-21T09:19:20 *** tsm_ice9 has left #rtems 2010-06-21T09:29:40 *** lekernel has quit IRC 2010-06-21T09:33:16 *** lekernel has joined #rtems 2010-06-21T09:47:17 *** lekernel has quit IRC 2010-06-21T10:00:13 *** lekernel has joined #rtems 2010-06-21T10:21:41 *** DrJoel has joined #rtems 2010-06-21T10:21:41 *** ChanServ sets mode: +o DrJoel 2010-06-21T10:26:42 *** gedare has joined #rtems 2010-06-21T10:37:58 *** madrazr has joined #rtems 2010-06-21T10:43:50 *** madrazr has quit IRC 2010-06-21T10:45:44 *** sebhub has quit IRC 2010-06-21T11:16:56 *** bubaflub has quit IRC 2010-06-21T11:30:08 *** bubaflub has joined #rtems 2010-06-21T11:38:25 *** aniceberg has joined #rtems 2010-06-21T11:38:30 hello DrJoel 2010-06-21T11:39:42 hey! hope the trip was nice 2010-06-21T11:39:49 I was busy this weekend if you didn't notice :-D 2010-06-21T11:40:36 i was travelling almost the whole of the weekend. :( 2010-06-21T11:40:39 if got up to 37F here so a good weekend to stay inside 2010-06-21T11:41:49 I would appreciate you getting the spfifo tests running again with the new configure constants. And then adjusting spfifo08 which I think will generate all the semaphore/barrier create errors 2010-06-21T11:44:22 DrJoel, i had semaphore, barrier creation errors in spfifo2,3 and 5, but according to the previous config 2010-06-21T11:45:05 i think it is better to remove those, and keep the spfifo08, after i have get the issue solved 2010-06-21T11:48:19 37F?? 2010-06-21T11:48:27 37C .. sorry ~100F 2010-06-21T11:48:39 :) 2010-06-21T11:48:52 oppressive 2010-06-21T11:49:14 yeah. probably won't hit that here for another week or two 2010-06-21T12:29:15 aniceberg: Jennifer is in the process of adding a number of explanations. One category is going to be your name for all the FIFO/pipe so you can filter on it. :) 2010-06-21T12:32:15 ok DrJoel, i will look at those.sure will be helpful 2010-06-21T12:36:24 Just trying to sort through them. I am actually confused on which code is pipe and which is fifo LOL 2010-06-21T12:40:53 *** bubaflub has quit IRC 2010-06-21T12:48:30 :) 2010-06-21T12:49:10 now i am cleaning up the tests including the config changes 2010-06-21T12:49:16 DrJoel: have aminute? 2010-06-21T12:49:30 sure 2010-06-21T12:49:49 just thinking through the next phase of my gsoc plan, which is to capture the scheduling points 2010-06-21T12:50:28 and i'm slowly convincing myself that it isn't necessary! if the ready queue and priority handler are isolated, and with your changes for per_cpu structures 2010-06-21T12:52:06 anyway, i was thinking of making an _Scheduler_XXX( ) set of routines, and then basically re-write the associated _Thread_ routines that would correspond, but I'm not sure how much is actually gained doing that. 2010-06-21T12:52:39 I could spec this out on my project wiki page, and then you could give me perhaps some insight to what direction to go? 2010-06-21T12:53:55 DrJoel: I've found the ready queue refactoring seems to have captured a lot of the "scheduler" brains. 2010-06-21T12:54:03 if not all of it 2010-06-21T12:54:16 *** bubaflub has joined #rtems 2010-06-21T12:54:54 and any further changes I can think of amount to renaming the Thread interface. 2010-06-21T12:55:08 which if that is the right thing to do then so be it 2010-06-21T12:55:24 but I thought I'd share my current quandary :) 2010-06-21T13:00:01 sorry screwed up some paperwork and had to fix it.. back 2010-06-21T13:00:10 it's ok i left you an essay 2010-06-21T13:01:07 I think _Scheduler_XXX will make the code easier to read. 2010-06-21T13:01:18 But what does your EDF implementatino need in order to be able to plug in. 2010-06-21T13:01:31 FWIW I have gotten no comments on my per-cpu patch. :( 2010-06-21T13:01:55 chris said something, but basically was OK with it 2010-06-21T13:02:44 I spent most of the week suffering from the heat, fixing server upgrade issues from home, playing with some test code and chores around the hosue 2010-06-21T13:02:47 The EDF implementation is coded in to the various Thread functions, which I would separate out to some _Scheduler_schedule/dispatch/yield and maybe timeout/wake 2010-06-21T13:03:05 yeah, it happens 2010-06-21T13:03:30 and then I would update the rtems_task_XXX and posix_thread_XXX and whatever other functions directly invoke _Thread_XXX 2010-06-21T13:03:50 I think the goal should be to somehow make the EDF pluggable. Remember the ultimate goal is to have captured the scheduling points and encapsulated them where we can iterate over the per-CPU structures and decide which threads to put on which cores 2010-06-21T13:04:12 oh, and all of the cpu interrupt dispatching, which directly call thread_dispatch.. 2010-06-21T13:04:26 or I might leave the Thread functions in as stubs 2010-06-21T13:04:47 at least to start. mhm 2010-06-21T13:04:50 we need to (for SMP at least) have it as configure --enable-smp switchable. But ideally be able to switch between a set of schedulers via confdefs.h 2010-06-21T13:05:07 yeah. i used confdefs in my edf implementation 2010-06-21T13:05:11 so I have some clue how I would do that 2010-06-21T13:06:08 The cleaner the interface, the better for explaining it to people. Thinking of this in terms of what you would have REALLY wanted when you started the EDF. How easy can we make it so the next researcher has it easy? 2010-06-21T13:06:13 ok. i'll work on my design document then. just wanted to make sure that this is the right path. 2010-06-21T13:06:19 yeah 2010-06-21T13:06:24 that's a good way to think about it. :) 2010-06-21T13:07:03 first "researcher" will be me and you implementing SMP scheduling I hope :-D 2010-06-21T13:08:18 yeah... alright, I think I'm seeing the path. 2010-06-21T13:08:39 oh, FWIW, a lot of the ready queue re-implementing that I did was copying the threadq code, used for managing blocked threads 2010-06-21T13:08:53 someday it may be worth looking at merging those two, but for now I like the clarity 2010-06-21T13:09:03 Please at least comment and say my per-cpu patch looks OK. :) 2010-06-21T13:09:13 is it up on the bugzilla now ? 2010-06-21T13:09:37 i didn't see any notice on the mailing list .. 2010-06-21T13:09:40 * DrJoel noticed that we only have about 80 branch taken/not taken cases for -Os, posix disabled, core only. That's > 90% patch coverage. Feasible to push higher easily 2010-06-21T13:09:45 mailing list was done :( 2010-06-21T13:09:50 ooo 2010-06-21T13:09:54 what PR 2010-06-21T13:10:56 found it 1573 2010-06-21T13:13:47 Just sent an email to rtems-users 2010-06-21T13:16:41 +// typedef Thread_Control_struct Thread_Control; 2010-06-21T13:17:48 DrJoel: why was the define moved, and why is it commented still and not erased from thread.h 2010-06-21T13:18:04 grrr... 2010-06-21T13:18:06 :( 2010-06-21T13:18:10 need to fix and replace patch 2010-06-21T13:18:20 well, this is why you ask for eyes on it :) 2010-06-21T13:20:03 drjoel: also, does this break the sparc64? 2010-06-21T13:21:55 oh nvm, I see the change is made there too , yay 2010-06-21T13:23:13 although i didn't spot the change in the context switch code ... 2010-06-21T13:23:50 gedare: shouldn't I tried to fix it. let me know if I broke it 2010-06-21T13:24:02 If it is broken I'll submit a PR and fix it for you, np 2010-06-21T13:28:43 ok.. thanks 2010-06-21T13:29:15 i commented, and am taking lunch, thanks for the chat 2010-06-21T13:29:26 hopefully my design doc will be done by the end of today for the next refactoring. 2010-06-21T13:30:01 *** gedare has quit IRC 2010-06-21T14:24:51 *** exception13 has joined #rtems 2010-06-21T14:50:23 *** arvind_khadri has quit IRC 2010-06-21T15:44:03 *** gedare has joined #rtems 2010-06-21T16:11:04 *** bubaflub has quit IRC 2010-06-21T16:11:56 * gedare files a silly patch 2010-06-21T16:14:50 * DrJoel just did one too.. apparently an extra "*" was in a declaration .. fixed in 4.9 branch.. broken in head and 4.10.. must not have gotten propagated 2010-06-21T16:15:23 hm 2010-06-21T16:16:48 * DrJoel has a script called "try_patch" now which is pretty handy for propagating a patch 2010-06-21T16:16:54 Usage: /home/joel/bin/try_patch patchFile yes|no directories_to_try 2010-06-21T16:17:11 ah, nice idea. 2010-06-21T16:17:13 take the patch file, --dry-run or apply it.. to the list of directories 2010-06-21T16:17:37 I keep all the branches back to 4.6 checked out and if a PR comes in, I try the patch on all of them I think it applies .. 2010-06-21T16:18:44 i just spun the patch i submitted on my clean rtems, had to go back and delete the files i changed and re-update :) 2010-06-21T16:22:14 I need to look at the idea of getting rid of that method. It bothers me that it isn't used by ANYONE else. makes me suspicious someone should. 2010-06-21T16:22:32 Rather than a .inl file, can it be in the body of rtems_task_mode? 2010-06-21T16:22:48 still a separate method but at the top of the file? 2010-06-21T16:23:25 $ grep -rl rtems_task_mode */*scn 2010-06-21T16:23:25 sp04/sp04.scn 2010-06-21T16:23:25 sp08/sp08.scn 2010-06-21T16:23:25 sp09/sp09.scn 2010-06-21T16:23:25 sp14/sp14.scn 2010-06-21T16:23:27 I think that would be fine. 2010-06-21T16:23:30 I don't know how you missed them. :) 2010-06-21T16:23:34 probably a typo 2010-06-21T16:23:40 Coverage has me worried about big inlines 2010-06-21T16:24:24 oh, i typo'd rtems_test_mode :p 2010-06-21T16:24:44 LOL 2010-06-21T16:25:13 check out tm30. I added it while at the doctor this morning. Based upon a new idea of test templates. See rtems-testing/rtems-test-templates. 2010-06-21T16:26:57 interesting 2010-06-21T16:27:44 a good start to generating tests 2010-06-21T16:27:50 Most tests lately are small, trying to hit something specific. I added tm30, sp70, and malloc02 from them 2010-06-21T16:28:04 mktest is a script to help instantiate them. 2010-06-21T16:28:52 There are (I think) only two more patterns of tmtests. Once those are in place, I think a posix timing test suite is not an enormous amount of work. 2010-06-21T16:29:23 sounds good! 2010-06-21T16:29:52 Test generation is always a pain 2010-06-21T16:43:20 *** exception13 has left #rtems 2010-06-21T16:49:08 DrJoel: When you get a chance, please read http://code.google.com/p/rtems-sched/wiki/NewScheduler 2010-06-21T16:49:15 And send me comments you might have. 2010-06-21T16:49:43 This will roadmap my next round of coding. 2010-06-21T16:52:01 Do you see the Scheduler as the "plug-in point"? Or something lower than it? 2010-06-21T16:52:29 I ask because Dispatch does not know anything about scheduling.. i 2010-06-21T16:53:01 There is also a routine floating around like "dispatch from isr" which some ports use. That probably should be captured somehow 2010-06-21T16:53:20 *** aniceberg has quit IRC 2010-06-21T16:54:49 I include dispatch because it is the logical "mechanism" of the scheduling logic 2010-06-21T16:55:16 ok.. I wait to see how edf swaps in :) 2010-06-21T16:55:18 And the Scheduler might be a plug-in point, although in reality the readyq and priority are more likely the plugin locations 2010-06-21T16:55:55 except for SMP 2010-06-21T16:56:09 which I think will need to impose some extra changes in the Scheduler functions 2010-06-21T16:56:26 simply because the various scheduling algorithms might make assumptions about number of ready queues 2010-06-21T16:56:44 and i haven't even included/thought about migrating tasks :) 2010-06-21T16:57:53 I haven't either but it is mostly a "trigger" in my might. Scheduler sets dispatch needed on a CPU. If CPU # != me, then cause an interrupt on that CPU. 2010-06-21T16:57:53 DrJoel: Any idea which ports use dispatch from isr functionality? 2010-06-21T16:58:23 makes sense. 2010-06-21T16:58:42 I think PowerPC.. my patch touched them all which is why I remember. :) 2010-06-21T17:02:04 mmm. can't find it now, i'll have to look again. making a note of it for now. 2010-06-21T17:03:50 _ThreadProcessSignalsFromIrq and I deleted it as part of my patch. 2010-06-21T17:05:27 mmm.. well i'll keep my eye out then, if it disappears then no worries. :) 2010-06-21T17:24:52 *** gedare has quit IRC 2010-06-21T17:44:46 *** cdcs has quit IRC 2010-06-21T18:06:09 *** DrJoel has quit IRC 2010-06-21T19:17:43 *** DrJoel has joined #rtems 2010-06-21T19:17:43 *** ChanServ sets mode: +o DrJoel 2010-06-21T20:54:49 *** kiwichris has joined #rtems 2010-06-21T21:13:15 hey chris.. almost bed time here 2010-06-21T21:13:22 Hi. 2010-06-21T21:13:36 Just going over all the bugs I have and that is a few. 2010-06-21T21:14:25 I did a bit of that today.. and have some new "test templates" in rtems-testing. Making it short work to add simple tests 2010-06-21T21:14:40 Great. 2010-06-21T21:14:54 I am trying to get to the object bug to fix :) 2010-06-21T21:14:57 Nice test case. 2010-06-21T21:15:59 I am getting better at writing tiny test cases. :) 2010-06-21T21:16:42 I am itching to get rtems-testing autotool'ed and install'able with commands. 2010-06-21T21:16:51 to manage all the simulators. 2010-06-21T21:16:58 I have written 6 fatal error cases since 8pm.. plus a malloc dirty test case and a deferred free case today. so 7-8 new tests in a day 2010-06-21T21:17:43 This is becoming a major feature of RTEMS. "Don't trust what we say, run the tests yourself and check the results" !!!! 2010-06-21T21:18:21 I am amazed that for score, rtems, and sapi .. > 90% branch path coverage!! ~80 branch reports. 2010-06-21T21:18:26 "We have demos, but it is easier to run the full test suite and to check the results" 2010-06-21T21:18:41 Jennifer and I spotted a POSIX one that will eliminate ~15-20 branches 2010-06-21T21:18:49 Nice. 2010-06-21T21:20:00 It is a big issue for those who have taken say Linux a few years ago and as the kernel moves on are finding increasing costs in maintaining needed but larger and larger out of main line patches. 2010-06-21T21:20:25 I couldn't agree more. 2010-06-21T21:20:30 well off to bed here.. 2010-06-21T21:20:31 night 2010-06-21T21:20:34 *** DrJoel has quit IRC 2010-06-21T21:20:46 With full testing and the ability to accept patches we can keep more users in at the HEAD. 2010-06-21T22:52:14 *** kiwichris has quit IRC 2010-06-21T23:42:49 *** kiwichris has joined #rtems 2010-06-22T00:45:13 *** mpanetta has quit IRC 2010-06-22T00:46:20 *** mpanetta has joined #rtems 2010-06-22T02:33:32 *** sebhub has joined #rtems 2010-06-22T02:33:54 good morning 2010-06-22T04:09:16 *** sebhub has quit IRC 2010-06-22T04:24:01 *** exception13 has joined #rtems 2010-06-22T04:25:02 *** exception13 has left #rtems 2010-06-22T04:41:29 *** groleo has joined #rtems 2010-06-22T04:49:10 hi 2010-06-22T04:49:13 groleo, hi 2010-06-22T04:49:46 atm I'm having issues with the stepping functionality in BDm , as i said 2010-06-22T04:49:55 * kiwichris and groleo are chatting about bdm on Coldfire processors, not RTEMS 2010-06-22T04:50:11 Yes I see. What is going wrong > 2010-06-22T04:50:14 Yes I see. What is going wrong ? 2010-06-22T04:50:24 What version of BDM ? 2010-06-22T04:50:25 well, the bdmStep() never returns 2010-06-22T04:50:32 latest GIT 2010-06-22T04:50:46 I mean hardware ? eg A B C etc 2010-06-22T04:50:50 oh, D 2010-06-22T04:50:53 MMU extensions 2010-06-22T04:51:06 Great. Does it document the SSI bit ? 2010-06-22T04:51:49 Single step instruction ? 2010-06-22T04:51:58 it has SSM bit inside the CSR 2010-06-22T04:52:05 single step mode 2010-06-22T04:53:02 This is important. A version of BDM which I cannot remember did not have it. 2010-06-22T04:53:32 Debug module version is 3, 2010-06-22T04:53:44 and it's consistent with the HRL bits 2010-06-22T04:53:54 I've added code to bdm to make it work 2010-06-22T04:54:09 Just loading up a user manual. Hang on. 2010-06-22T04:54:29 k 2010-06-22T04:54:38 page 225 from mcf5485RM 2010-06-22T04:54:45 it's the debug support 2010-06-22T04:55:04 Ok. I need to locate the manual. It has been a while. 2010-06-22T04:55:25 www.phytec.com/pdf/datasheets/MCF5485_UM.pdf 2010-06-22T04:58:43 I need this. Mine is version C of BDM 2010-06-22T04:59:58 i could try to give you access to the board 2010-06-22T05:00:15 if that helps 2010-06-22T05:00:39 Not at the moment. I just need to get back up to speed with this. 2010-06-22T05:01:41 this is was I was telling you abt the PC 2010-06-22T05:01:43 Stepping code from PC:0xf3000000, size:164B 2010-06-22T05:01:51 first step is ok: 2010-06-22T05:01:53 Stepping, pc is 0xf3000000, csr = 0x01300000 2010-06-22T05:02:06 the second iteration goes wrong: 2010-06-22T05:02:07 Stepping, pc is 0x4ac82e7c, csr = 0x01300010 2010-06-22T05:02:26 You need to know the data is ok. 2010-06-22T05:02:37 the data inside the memory ? 2010-06-22T05:02:39 ie the code loaded is ok 2010-06-22T05:02:45 i did a memcmp 2010-06-22T05:02:53 between the written data and the read data 2010-06-22T05:03:09 If I remember correctly the sram is split to support the hardvard arch 2010-06-22T05:03:38 If you can read it you should be able to read it. 2010-06-22T05:03:50 *** lekernel has quit IRC 2010-06-22T05:04:02 to be sure it's the same data, i'll dump it to console 2010-06-22T05:04:22 I think the instructions load the registers. eg d0 with values. 2010-06-22T05:04:37 the data from *code ? 2010-06-22T05:04:38 yes 2010-06-22T05:04:39 Set the register to something else then step then check the value 2010-06-22T05:04:54 This proves the code is working ok. 2010-06-22T05:05:29 i tried HALT, instead of movel 2010-06-22T05:05:35 and it didn't halted the board 2010-06-22T05:05:36 Looking at the CSR the value should be 1 or 3 as you said in an email. I need to check the other versions. 2010-06-22T05:06:04 Sorry. When did you try this ? 2010-06-22T05:06:14 inside the chk.c 2010-06-22T05:06:48 Do you mean the a step starts the core but it does not stop ? 2010-06-22T05:07:34 i'll explain the steps 2010-06-22T05:07:43 Ok 2010-06-22T05:07:52 i did code[]="0x4ac8""0x4ac8" 2010-06-22T05:07:58 that's the opcode for halt 2010-06-22T05:08:03 ok 2010-06-22T05:08:22 then decreased the loop counter from 18 to 2 2010-06-22T05:08:32 ok 2010-06-22T05:08:37 the CSR should've been halted 2010-06-22T05:08:56 but it wasn't 2010-06-22T05:09:04 it printed CSR halt not set 2010-06-22T05:09:08 You bit 25 set ? 2010-06-22T05:09:13 in the CSR 2010-06-22T05:09:18 You mean bit 25 set ? 2010-06-22T05:09:26 if ((csr & 0x02000000) == 0) 2010-06-22T05:09:43 yep, 25 2010-06-22T05:10:00 Is that line of code in the driver or chk.c ? 2010-06-22T05:10:16 chk.c 2010-06-22T05:10:51 Is the processor actually running or stopped ? Can you tell via some hardware or led ? 2010-06-22T05:11:29 Whose pod do you have ? 2010-06-22T05:11:51 let me loko for the links 2010-06-22T05:12:07 look* 2010-06-22T05:12:53 http://www.logicpd.com/products/development-kits/freescale-zoom%E2%84%A2-coldfire-litekit 2010-06-22T05:12:57 this is the board 2010-06-22T05:13:04 now the BDM is a P&E 2010-06-22T05:13:25 http://www.pemicro.com/products/product_viewDetails.cfm?product_id=106&CFID=2993613&CFTOKEN=e9d2a5d4f94922b0-3BCE486B-9D5A-3C84-3B99BD081C200654 2010-06-22T05:13:26 What version of P&E ? 2010-06-22T05:13:48 These are good boards. 2010-06-22T05:13:57 Rev.F BDM 2010-06-22T05:14:10 i received the BDM with the EVB board 2010-06-22T05:14:11 Great. Have you opened it and set the jumpers ? 2010-06-22T05:14:20 i've unset the CLK jumper 2010-06-22T05:14:26 Great. 2010-06-22T05:14:26 the manual said so 2010-06-22T05:14:30 Yes. 2010-06-22T05:14:56 The original BDM, eg 5272, needed the clock and it had very silly timing to work. 2010-06-22T05:15:09 Freescale fixed this to make the clock more of an enable. 2010-06-22T05:15:33 i have a p&e on USB, but there is no support for it under linux 2010-06-22T05:15:47 *** lekernel has joined #rtems 2010-06-22T05:16:14 No. I would like to add it but need someone to support the effort. A solution is to write new code for the pod's processor :) 2010-06-22T05:16:48 I use the Amiom USB TBLFC pod. It how-ever need changes to support the v4e BDM additions. 2010-06-22T05:17:09 well, i wanted to write support for it, but the code wasn't crystal clear to me at that moment 2010-06-22T05:17:28 Do you have the P&E protocol ? 2010-06-22T05:17:32 nop 2010-06-22T05:17:52 i only have the freescale manuals 2010-06-22T05:17:55 The pods processor is HC12 2010-06-22T05:18:33 There is also OSBDM which maybe a better bet. 2010-06-22T05:18:46 Full code available. 2010-06-22T05:18:52 we're talking abt this, yes ? http://www.pemicro.com/products/product_viewDetails.cfm?product_id=163&CFID=2993613&CFTOKEN=e9d2a5d4f94922b0-3BCE486B-9D5A-3C84-3B99BD081C200654 2010-06-22T05:19:06 Yeap 2010-06-22T05:19:25 I think we could reprogram it with new code. 2010-06-22T05:19:37 the actual POD? 2010-06-22T05:19:41 Yeah 2010-06-22T05:19:51 that is S.F. for me 2010-06-22T05:19:52 :) 2010-06-22T05:20:00 S.F. ? 2010-06-22T05:20:06 science fiction 2010-06-22T05:20:31 Check out the TBLCF code base. It is for a similar micro. 2010-06-22T05:20:41 You get the pod's code. 2010-06-22T05:21:03 I think OSBDM is the same. You get the pod's code. 2010-06-22T05:21:27 So it is not a rewrite, rather a copy and hack. 2010-06-22T05:21:46 pretty close to what i'm doing :) 2010-06-22T05:22:05 Yes but on the host. Now back to your problem. 2010-06-22T05:22:15 i've printed the code inside chk.c 2010-06-22T05:22:18 looks ok 2010-06-22T05:22:32 Are the status signals hooked up ? 2010-06-22T05:23:10 don't know what are thos :| 2010-06-22T05:23:14 those* 2010-06-22T05:23:16 The BDM PST signals ? 2010-06-22T05:23:28 The driver can use them or the CSR. 2010-06-22T05:24:52 inside the bdm-cf-pe.c the cf_pe_get_direct_status uses the PST 2010-06-22T05:25:43 Ok. So these signals need to be connected and working ok or the halt is not seen. 2010-06-22T05:26:23 Can you see if they connected on the boards circuit ? 2010-06-22T05:26:44 on the schematics or the BDM pins ? 2010-06-22T05:26:49 or the BDM pod 2010-06-22T05:26:58 The processor board. 2010-06-22T05:27:02 The pod is ok. 2010-06-22T05:28:58 the PST0-PST2 are pin15 down to 13 on the LPT 2010-06-22T05:29:26 They maybe shared. Do they go to the BDM connector ? 2010-06-22T05:31:05 they go inside the BDM pod cpu 2010-06-22T05:31:27 BDM pod cpu ? 2010-06-22T05:31:46 im4a3-32/c611rr14 lattice 2010-06-22T05:31:53 that is what is says on it 2010-06-22T05:32:01 small cell on the BDM LPT pod 2010-06-22T05:32:20 Oh on the pod ? 2010-06-22T05:32:25 yes 2010-06-22T05:32:38 I am only talking about the processor board, not the pod. 2010-06-22T05:32:42 oh 2010-06-22T05:32:47 let me see that 2010-06-22T05:32:49 The pod is fine 2010-06-22T05:34:56 i'm looking at the BDM connector schematics 2010-06-22T05:34:57 *** lekernel has quit IRC 2010-06-22T05:35:09 it has PSTDATA0-7 2010-06-22T05:35:09 Great 2010-06-22T05:35:17 Great. 2010-06-22T05:35:23 *** lekernel has joined #rtems 2010-06-22T05:35:30 When halted these are all high. 2010-06-22T05:35:40 This is what the driver looks for. 2010-06-22T05:37:55 so i should check them to see if they're soldered ok ? or put a meter on them 2010-06-22T05:37:57 Hmmm, the 30 for the CSR is needed on other versions of BDM. It is the IPI bit 2010-06-22T05:38:03 Great. 2010-06-22T05:38:12 A scope is better if you have one. 2010-06-22T05:38:31 i'll put the 30 back in the CSR 2010-06-22T05:38:52 It is not needed on the v4e core. I will raise this issue with Freescale. 2010-06-22T05:39:18 good luck :) 2010-06-22T05:39:24 i've had my share with them :) 2010-06-22T05:41:10 brb 2010-06-22T05:56:37 groleo, not having an IPI means the driver needs to work extra hard to know if the processor has entered an interrupt. Maybe something is wrong with this code. 2010-06-22T05:56:54 *** exception13 has joined #rtems 2010-06-22T05:57:42 IPI ? 2010-06-22T05:58:01 Ignore Pending Interrupts 2010-06-22T05:58:33 It makes the processor mask against interrupts. It stops you going somewhere else. 2010-06-22T05:58:39 it can mask all interrupts with a level less than 6 2010-06-22T05:58:47 level 7 is NMI 2010-06-22T05:58:51 For example a 1msec tick make single stepping very difficult. 2010-06-22T05:59:23 auch, the linux kernel uses a slice timer for that 2010-06-22T05:59:23 But this means we need to read and write the SR register. This is all overhead. 2010-06-22T05:59:50 so i should write the sr each time ? 2010-06-22T06:00:00 and put the mask to B(111) ? 2010-06-22T06:00:12 Lets ignore Linux for the moment because this is different debugging model than BDM 2010-06-22T06:00:18 sure 2010-06-22T06:00:58 If you hit a break point by the time you notice the timer interrupt will be pending. 2010-06-22T06:01:22 You try to step an instruction and you get the timer interrupt. 2010-06-22T06:01:31 i see 2010-06-22T06:01:46 You step to the end and you exit and guess what, it is time to do it again. 2010-06-22T06:02:06 What did you mean by B(111) 2010-06-22T06:02:15 binary 2010-06-22T06:02:24 that will mask off all interupts 2010-06-22T06:02:29 in the status register 2010-06-22T06:02:39 Ah ok. Check the driver, there is code to read the PC and to see if it has moved. 2010-06-22T06:03:02 It then reads the stack and inserts a breakpoint. 2010-06-22T06:03:07 This is all yuck. 2010-06-22T06:03:57 would a go command be easier ? 2010-06-22T06:04:12 The go is always used. 2010-06-22T06:04:22 i'm thinking of placing the code in sram, issue a Go command, and wait until it hits the halt instruction 2010-06-22T06:05:05 Oh run. The SSM bit controls stepping with the go command. 2010-06-22T06:05:18 You either step or run 2010-06-22T06:05:36 i see 2010-06-22T06:26:12 regarding the Ignore Pending Interrupts 2010-06-22T06:26:21 if i zero out all the ICR registers 2010-06-22T06:26:48 wouldn't that disable all interrupts? 2010-06-22T06:27:25 I would have to add ICR registers to the BDM tools thougj 2010-06-22T06:27:27 though* 2010-06-22T06:38:32 *** aniceberg has joined #rtems 2010-06-22T06:45:29 And doing this is a hack. BDM should know nothing about ICRs. You can do it but I cannot accept it. I will see what Freescale have to day. 2010-06-22T06:46:42 I was thinking like this 2010-06-22T06:47:03 when the board starts, the software has to setup the registers 2010-06-22T06:47:12 cacr/acr/sp etc 2010-06-22T06:47:24 don't know if it's the case with the ICR 2010-06-22T06:47:51 CFInit has a sequence where it zeroes out the ICRs in order to disable them 2010-06-22T06:47:54 Yes the software does this but touching things ICR make the debugging become intrusive. 2010-06-22T06:49:04 indeed, that slipped my (tired,fullOfcoffee ) mind 2010-06-22T06:49:53 No probs. Not stopping is a different issue. This needs low level debugging and some hardware support. 2010-06-22T06:50:08 ok, another question 2010-06-22T06:50:12 in chk.c 2010-06-22T06:50:17 there is the stepping loop 2010-06-22T06:50:22 which iterates 18 times 2010-06-22T06:50:29 what does 18 stands for ? 2010-06-22T06:50:38 I think the number of instructions. 2010-06-22T06:50:43 load into the sram 2010-06-22T06:51:04 Stepping code from PC:0xf3001000, size:156B 2010-06-22T06:51:04 Stepping, pc is 0xf3001000, csr = 0x01300000 2010-06-22T06:51:04 Stepping, pc is 0xf3001002, csr = 0x01300030 2010-06-22T06:51:04 Stepping, pc is 0xf3001008, csr = 0x01300030 2010-06-22T06:51:04 Stepping, pc is 0xf300100a, csr = 0x01300030 2010-06-22T06:51:05 Stepping, pc is 0xf300100c, csr = 0x01300030 2010-06-22T06:51:07 Stepping, pc is 0xf300100e, csr = 0x01300030 2010-06-22T06:51:09 Stepping, pc is 0xf3001010, csr = 0x01300030 2010-06-22T06:51:11 Stepping, pc is 0xf3001012, csr = 0x01300030 2010-06-22T06:51:13 Stepping, pc is 0xf3001014, csr = 0x01300030 2010-06-22T06:51:15 Stepping, pc is 0xf3001016, csr = 0x01300030 2010-06-22T06:51:17 Stepping, pc is 0xf3001022, csr = 0x01300030 2010-06-22T06:51:19 Stepping, pc is 0xf3001024, csr = 0x01300030 2010-06-22T06:51:21 Stepping, pc is 0xf3001026, csr = 0x01300030 2010-06-22T06:51:23 Stepping, pc is 0xf3001028, csr = 0x01300030 2010-06-22T06:51:25 Stepping, pc is 0xf300102e, csr = 0x01300030 2010-06-22T06:51:27 Stepping, pc is 0xf3001034, csr = 0x01300030 2010-06-22T06:51:29 Stepping, pc is 0xf3001036, csr = 0x01300030 2010-06-22T06:51:33 Stepping, pc is 0xf3001038, csr = 0x01300030 2010-06-22T06:51:35 :D 2010-06-22T06:51:37 the PC looks ok 2010-06-22T06:51:39 i'll see if it really runs the expected code 2010-06-22T06:51:41 i've placed the code inside the RAMBAR1 2010-06-22T06:51:54 Yeah that looks ok. 2010-06-22T06:51:56 Nice. 2010-06-22T06:52:09 Is the change dependent on the v4e core being detected ? 2010-06-22T06:52:29 If you dump the registers they should all have the correct values. do they ? 2010-06-22T06:52:38 can i paste them here ? 2010-06-22T06:52:48 Please email them. 2010-06-22T06:52:48 may* :P 2010-06-22T06:52:50 ok 2010-06-22T06:54:11 sent 2010-06-22T06:54:35 the hex values printed before the stepping are the opcodes 2010-06-22T06:56:00 Check the README in test for the correct values. 2010-06-22T06:56:23 They are not correct. 2010-06-22T06:56:33 let me se 2010-06-22T06:56:34 see 2010-06-22T06:57:10 i've changed the location where the code is copied 2010-06-22T06:57:39 i'll see if I can make it work with the old location 2010-06-22T06:57:45 I mean the A0->A7 and D0->D7 registers. 2010-06-22T06:58:25 oh 2010-06-22T07:03:23 can i dump the memory location which PC point to, when stepping? 2010-06-22T07:03:52 bdmReadLongWord 2010-06-22T07:11:23 br 2010-06-22T07:11:24 brb 2010-06-22T07:11:30 In the SRAM I am not sure. 2010-06-22T07:13:11 I think the harvard memory architecture makes reading code to execute difficult. 2010-06-22T07:14:54 i can read it 2010-06-22T07:14:58 but seems strange to me 2010-06-22T07:15:24 Yes. I seem to remember you need to split the banks to get this to work. 2010-06-22T07:15:32 I cannot remember the detail. 2010-06-22T07:15:38 I am off for the night. 2010-06-22T07:15:41 *** kiwichris has quit IRC 2010-06-22T07:17:58 *** groleo has quit IRC 2010-06-22T07:33:08 *** arvind_khadri has joined #rtems 2010-06-22T07:39:47 *** cdcs has joined #rtems 2010-06-22T07:57:01 *** zwj has joined #rtems 2010-06-22T08:05:37 *** arvind_khadri has quit IRC 2010-06-22T08:17:43 *** aniceberg has quit IRC 2010-06-22T08:25:37 *** exception13 has left #rtems 2010-06-22T08:59:49 *** bubaflub has joined #rtems 2010-06-22T09:18:16 *** zwj has quit IRC 2010-06-22T10:02:11 *** zwj has joined #rtems 2010-06-22T10:13:21 *** exception13 has joined #rtems 2010-06-22T10:19:46 *** gedare has joined #rtems 2010-06-22T10:50:44 *** Raj_ has joined #rtems 2010-06-22T10:59:18 *** DrJoel has joined #rtems 2010-06-22T10:59:18 *** ChanServ sets mode: +o DrJoel 2010-06-22T11:16:39 Hi! stupid question... do i have to name every task i create? 2010-06-22T11:16:51 Hi, DrJoel 2010-06-22T11:17:37 cdcs: no .. but can't be 0. names should be somewhat meaningful since they show up in cpu usage and stack usage reports 2010-06-22T11:17:40 Hey Raj_ 2010-06-22T11:18:20 There is a small doubt regarding using a socket in place of pipes 2010-06-22T11:19:06 I saw.. hopefully someone like Eric Norum will answer. :D 2010-06-22T11:19:18 Ohh .. ok 2010-06-22T11:19:45 Well, how difficult are the other options by the way ? 2010-06-22T11:19:45 I saw the email but need to read and think.. pipes are supposed to work also 2010-06-22T11:20:00 adding socketpairs to RTEMS or making select work on file descriptors ? 2010-06-22T11:20:31 Pipes do work in RTEMS, but Go needs that pipe to wakeup Select 2010-06-22T11:21:03 ahhh.. check out Eric Norum's answer.. 2010-06-22T11:21:30 I would add socketpairs. (is there a standard API?).. making select work on fds is much harder. 2010-06-22T11:23:08 There is a stub implementation of socketpair right now, says something like that the functionality needed to implement socketpairs is not present 2010-06-22T11:23:15 in RTEMS at the moment 2010-06-22T11:24:00 *** gedare has quit IRC 2010-06-22T11:24:05 I wonder what that means.. Eric Norum is who ported the stack so explaining what you want to do to him from a Go perspective and letting him provide possible solutions to the big problem would be good 2010-06-22T11:25:02 Sure. Yes, depends on his answer to my next question 2010-06-22T11:25:25 Because if data corruption is the only problem, then we can just use sockets 2010-06-22T11:25:55 By the way, I guess we can use unix domain sockets in RTEMS ? 2010-06-22T11:27:16 *** zwj has quit IRC 2010-06-22T11:35:50 I think so. You can test them by modifying sample/loopback 2010-06-22T11:37:41 Great. Will do that. 2010-06-22T11:58:52 can i cast a string to rtems_name or is there a function for doing that? 2010-06-22T12:06:34 rtems_build_name( c1, c2, c3, c4 ) 2010-06-22T12:08:52 The length of 4 is fixed ? 2010-06-22T12:10:04 in the Classic API yes 2010-06-22T12:10:11 *** arvind_khadri has joined #rtems 2010-06-22T12:10:19 POSIX API objects with names can have strings. 2010-06-22T12:10:40 Ok. 2010-06-22T12:10:43 ok. 2010-06-22T12:11:11 *** cdcs is now known as cdcs_awy 2010-06-22T12:25:11 *** arvind_khadri has quit IRC 2010-06-22T13:03:01 *** bubaflub has quit IRC 2010-06-22T13:17:48 *** gedare has joined #rtems 2010-06-22T13:27:46 *** bubaflub has joined #rtems 2010-06-22T14:13:38 *** gedare has quit IRC 2010-06-22T15:50:15 *** exception13 has left #rtems 2010-06-22T15:50:18 *** exception13 has joined #rtems 2010-06-22T15:52:56 *** Raj_ has quit IRC 2010-06-22T15:56:22 *** DrJoel has quit IRC 2010-06-22T16:01:20 *** cdcs_awy is now known as cdcs 2010-06-22T16:05:27 *** cdcs_ has joined #rtems 2010-06-22T16:06:46 *** cdcs has quit IRC 2010-06-22T16:13:49 *** cdcs_ is now known as cdcs 2010-06-22T16:22:15 *** bubaflub has quit IRC 2010-06-22T17:03:00 *** exception13 has left #rtems 2010-06-22T17:13:45 *** bubaflub has joined #rtems 2010-06-22T17:14:52 *** mwalle has quit IRC 2010-06-22T17:26:22 *** cdcs has quit IRC 2010-06-22T18:40:26 *** kiwichris has joined #rtems 2010-06-22T18:45:36 hello kiwichris 2010-06-22T18:45:42 hi 2010-06-22T18:46:25 how ya doing? 2010-06-22T18:46:34 Not to bad 2010-06-22T18:47:04 Just looking over the standards for synchronous IO definitions 2010-06-22T18:48:16 sweet. i was thinking about how to solve the packaging problem with parrot+rtems 2010-06-22T18:48:35 Great. This is a difficult one 2010-06-22T18:48:36 and i think a permanent solution will be something akin to eggs in python or gems in ruby 2010-06-22T18:48:44 obviously not exactly the same 2010-06-22T18:48:52 i don't intend on dealing with major dependencies between them 2010-06-22T18:49:00 but i think i can craft a script to wrap everything up 2010-06-22T18:49:09 and have something that is deploy-able 2010-06-22T18:49:29 My thinking is the parrot exe built when building parrot is a test exe with the required tests built in 2010-06-22T18:49:52 yeah 2010-06-22T18:50:01 we can pre-compile the tests and then tar them all up 2010-06-22T18:50:07 Yes. 2010-06-22T18:50:30 ok, sweet. 2010-06-22T18:50:31 Then convert to a C file and then compile and link it. At runtime we untar into the IMFS 2010-06-22T18:50:37 exactly 2010-06-22T18:50:40 Cool 2010-06-22T18:50:43 so a script will manage taking care of all the nasty stuff 2010-06-22T18:50:49 then passing that off to a C file and tarring it 2010-06-22T18:51:11 What ever you decide. It could be Makefile rules. 2010-06-22T18:52:02 files.o: files.c ---> files.c: files.tar ---> files.tar: file1.pir etc 2010-06-22T18:52:11 yeah 2010-06-22T18:52:13 that makes sense 2010-06-22T18:52:20 great 2010-06-22T18:52:21 ok, so first step is for me to manually do this process 2010-06-22T18:52:29 hello_world.pir -> hello_world.pbc 2010-06-22T18:52:29 Sure. 2010-06-22T18:52:33 Yes 2010-06-22T18:52:58 then take the .pbc -> to .tar -> .c -> .o and compiled and biuld together, right? 2010-06-22T18:53:05 Yes. 2010-06-22T18:53:31 The .c file contain a symbol that you reference instead of the ones I had that do not link and that symbol is passed to untar 2010-06-22T18:54:19 ok, there is a utility script that converts the .tar to .c, right? 2010-06-22T18:54:34 Yeah. Hang on 2010-06-22T18:55:14 rtems-bin2c is the name. It is build when RTEMS is build and installed 2010-06-22T18:55:30 I would guess under $prefix/bin 2010-06-22T18:55:52 ok, i'm firing up my VM to take a look for it 2010-06-22T19:07:20 ok, i've got the hello.c and the hello.h 2010-06-22T19:07:32 Great. 2010-06-22T19:07:34 i need to add them to the Makefile to compile and link with main 2010-06-22T19:08:06 Then update your main where the untar call is made. 2010-06-22T19:16:05 ah, i need to change TARFILE_START and TARFILE_SIZE, right? 2010-06-22T19:16:27 Yes, to the array in hello.c 2010-06-22T19:16:52 Getting files into a base default file system is a pain in embedded applications. 2010-06-22T19:23:30 hmmm 2010-06-22T19:26:08 i get an error that it can't find my array and other stuff 2010-06-22T19:26:18 the problem line is: 2010-06-22T19:26:20 Link error ? 2010-06-22T19:26:27 sc = Untar_FromMemory(hello_tar, hello_tar_size); 2010-06-22T19:26:44 Compile error ? 2010-06-22T19:27:25 nah, i think it is a link error 2010-06-22T19:27:28 i'm rebuilding parrot 2010-06-22T19:29:36 i'm really itching to get this working... 2010-06-22T19:29:52 I am also hanging out for the news of it working. 2010-06-22T19:36:00 grrr, this is definitely a linking issue 2010-06-22T19:36:19 i need to make sure the actual src/main.c can link to my hello.o 2010-06-22T19:36:26 but getting the Makefile to do that is a little bit of work 2010-06-22T19:36:33 probably because i'm not so great with Makefiles 2010-06-22T19:40:28 ok, total newbie question: 2010-06-22T19:40:33 this is the line generated by the makefile 2010-06-22T19:41:14 i386-rtems4.10-gcc --pipe -B/opt/rtems-4.10/i386-rtems4.10/pc586/lib/ -specs bsp_specs -qrtems -I./include -I./includepmc -g -fPIC -Isrc -o src/main.o -c src/main.c 2010-06-22T19:41:27 how would i modify that to link hello.o? 2010-06-22T19:41:28 You cannot use -fPIC 2010-06-22T19:41:43 RTEMS does not support PIC code. 2010-06-22T19:42:38 You need a new line to compile hello.c to hello.o then hello.o is added to the parrot link dependents 2010-06-22T19:42:59 ok, lemme spelunk into this makefile again 2010-06-22T19:44:39 ok, found the place where -fPIC was getting set 2010-06-22T19:44:52 Cool 2010-06-22T19:50:55 ok, i've got a line that makes hello.o 2010-06-22T19:51:12 Oooh close now :) 2010-06-22T19:52:54 and make hello.o works 2010-06-22T20:03:32 so now i'm getting *crazy* linking errors 2010-06-22T20:03:55 Can you paste them somewhere ? 2010-06-22T20:04:14 gist.github.com/421722 2010-06-22T20:04:21 i thinkk i've seen this error before... forgot how i solved it 2010-06-22T20:04:24 or maybe i'm just going crazy 2010-06-22T20:09:24 Still crazy ? :) 2010-06-22T20:11:03 crazier 2010-06-22T20:21:49 man, i'm bummed 2010-06-22T20:21:52 i can't figure this out 2010-06-22T20:21:59 should i send you the generated makefile to peruse? 2010-06-22T20:22:09 And the errors you have 2010-06-22T20:25:13 sure 2010-06-22T20:29:09 ok, sent 2010-06-22T20:29:24 i'm going to retire for tonight, but i'll keep hacking on it this week and hopefully we'll figure out where i need the dependency 2010-06-22T20:29:40 ok 2010-06-22T20:30:26 You missed the command part of the link. I will need that. 2010-06-22T20:30:48 ah, one sec 2010-06-22T20:31:02 You are missing main. It is not part of the link. 2010-06-22T20:32:06 sent 2010-06-22T20:32:09 really, dah 2010-06-22T20:32:17 Thanks 2010-06-22T20:32:56 What happens if init.o is first ? 2010-06-22T20:33:00 in the command line ? 2010-06-22T20:34:13 lemme try that 2010-06-22T20:34:38 Also does 'nm main.o' show a main symbol ? 2010-06-22T20:35:12 the src/main.o file isn't building 2010-06-22T20:35:26 Ah ok. 2010-06-22T20:38:02 Does anyone know where I can get a hold of a minimum make file to build a hello world type thing against RTEMS? The examples in the samples dir all seem to use automake 2010-06-22T20:40:00 mpanetta, try http://www.rtems.org/ftp/pub/rtems/releases/4.9.4/examples-4.9.4.tar.bz2 2010-06-22T20:40:17 I cannot find a 4.10 set of files. 2010-06-22T20:40:38 Thank you 2010-06-22T20:40:52 It probably has not changed much I assume 2010-06-22T20:41:00 I agree 2010-06-22T20:41:21 Ok cool 2010-06-22T20:42:22 kiwichris: i'm going to retire for the night. thanks for all the help and lemme know if any egregious error in that makefile appears. i'll keep hacking at it 2010-06-22T20:42:56 Ok. It will be tricky with out everything else but I will look. 2010-06-22T20:43:36 yeah, i'm probably overlooking something stupid 2010-06-22T20:43:44 i'll save this diff and start the makefile from scratch 2010-06-22T20:43:46 that might work 2010-06-22T20:43:55 Makefiles are a pain. That is why I like things that make them for me. 2010-06-22T20:45:03 yeah, this one is generated from a template by a perl script 2010-06-22T20:45:12 but for the most part it's just variable replacement 2010-06-22T20:45:13 nothing fancy 2010-06-22T20:45:42 kiwichris: Thanks a bunch. I got it and compiled the hello world example so it is working great 2010-06-22T20:45:50 *** bubaflub has left #rtems 2010-06-22T20:46:03 mpanetta, great. 2010-06-22T22:27:57 *** exception13 has joined #rtems 2010-06-22T22:42:18 *** exception13 has left #rtems 2010-06-23T00:09:12 *** groleo has joined #rtems 2010-06-23T00:27:18 *** exception13 has joined #rtems 2010-06-23T00:47:49 *** groleo has quit IRC 2010-06-23T00:56:26 *** dr__house has joined #rtems 2010-06-23T00:59:25 *** groleo has joined #rtems 2010-06-23T01:08:48 *** groleo has quit IRC 2010-06-23T01:35:15 *** arvind_khadri has joined #rtems 2010-06-23T01:40:04 *** madrazr has joined #rtems 2010-06-23T01:54:22 *** sebhub has joined #rtems 2010-06-23T01:54:46 good morning 2010-06-23T01:59:01 *** groleo has joined #rtems 2010-06-23T02:38:25 *** arvind_khadri has quit IRC 2010-06-23T02:50:30 *** arvind_khadri has joined #rtems 2010-06-23T03:10:15 *** madrazr has quit IRC 2010-06-23T03:33:15 *** cdcs has joined #rtems 2010-06-23T03:37:58 hi kiwichris, 2010-06-23T05:00:31 hi 2010-06-23T05:06:57 *** madrazr has joined #rtems 2010-06-23T05:07:19 about ltsleep and wakeup 2010-06-23T05:08:26 the ident is the identifier for the condition, is like pthread_cond_t 2010-06-23T05:09:52 we can replace simple_lock for a binary semaphore 2010-06-23T05:10:31 Yeah I think so. The bdbuf.c code has the semaphore create for a simple binary mutex type lock 2010-06-23T05:10:49 so i think the best way to port this is make a chain that contains ident as is search parameter 2010-06-23T05:11:08 when we call ltsleep it calls rtems_task_suspend 2010-06-23T05:11:23 Could it be just an RTEMS id ? 2010-06-23T05:11:49 and adds the rtems_id of the thread suspended to the list os task suspended in a given ident 2010-06-23T05:12:36 when wakeup(ident) is called, it searches on the chain for ident 2010-06-23T05:12:54 and wakes all the threads that are suspended on that ident 2010-06-23T05:13:47 i didn't understand your question 2010-06-23T05:13:53 So this is the pool ? 2010-06-23T05:14:02 or the tsleep ? 2010-06-23T05:14:08 ltsleep 2010-06-23T05:15:02 Ok. I have the man page. Just looking 2010-06-23T05:16:05 I see the man page states these interfaces are going. Shame this has not happened :) 2010-06-23T05:17:38 yup 2010-06-23T05:19:04 Could more than one thread want to sleep on a resource ? 2010-06-23T05:19:14 yes i think so 2010-06-23T05:19:27 I think we need to implement this as barriers. 2010-06-23T05:19:58 http://rtems.org/onlinedocs/doc-current/share/rtems/html/c_user/c_user00359.html 2010-06-23T05:20:21 I would typedef the wchan_t to rtems_id. 2010-06-23T05:20:47 I would ignore the priority and optionally print the wmesg if debugging is on 2010-06-23T05:20:47 i thought to maintain a list of sleeping threads and rtems_task_resume them all when wake up was called 2010-06-23T05:21:00 This is called a barrier :) 2010-06-23T05:22:19 wchan_t is volatile const void * 2010-06-23T05:22:52 How is it allocated in structs etc ? 2010-06-23T05:23:58 Could we change it ? 2010-06-23T05:23:58 this an example ao ltsleep is called: 2010-06-23T05:23:59 ltsleep(&atabus_initq_head, PRIBIO, "ata_initq", 0, 2010-06-23T05:24:01 &atabus_interlock); 2010-06-23T05:24:46 atabus_initq_head is 2010-06-23T05:24:47 struct atabus_initq_head atabus_initq_head = 2010-06-23T05:24:48 TAILQ_HEAD_INITIALIZER(atabus_initq_head); 2010-06-23T05:25:06 Hmmm. 2010-06-23T05:25:25 So it is an address. 2010-06-23T05:26:29 it is defined as typedef "volatile const void *wchan_t;" in sys/syncobj.h, line 37 2010-06-23T05:27:25 i whink we should let it has wchan_t... 2010-06-23T05:28:22 Do you have a link to a web page of the source ? 2010-06-23T05:29:22 for wchan_t http://fxr.watson.org/fxr/source/sys/syncobj.h?v=NETBSD5;im=excerpts#L37 2010-06-23T05:29:35 for ltsleep: http://fxr.watson.org/fxr/source/kern/kern_synch.c?v=NETBSD4#L442 2010-06-23T05:29:50 I was after the ata code which makes the calls. 2010-06-23T05:30:20 ok.. a second 2010-06-23T05:30:29 Thanks 2010-06-23T05:30:55 http://fxr.watson.org/fxr/source/dev/ata/ata.c?v=NETBSD5#L208 2010-06-23T05:33:11 with a barrier i still have to maintain a linked list with ident and respecitve barrier id 2010-06-23T05:33:40 That may be correct. I am just looking. 2010-06-23T05:35:11 *** arvind_khadri has quit IRC 2010-06-23T05:41:47 I think this is the best way to handle it 2010-06-23T05:42:04 Have you taken a look at the implementation ? 2010-06-23T05:42:27 ltsleep 2010-06-23T05:42:33 yeah 2010-06-23T05:42:43 ? i gave a look... 2010-06-23T05:43:19 It has a table that is hashed and it a list. This can be done with chains in RTEMS 2010-06-23T05:45:42 I think you need to use events and not barriers. 2010-06-23T05:47:38 ok i wll read about them 2010-06-23T05:48:07 They are simple. The thread does a receive and you send to wake it. 2010-06-23T05:48:57 *** arvind_khadri has joined #rtems 2010-06-23T05:49:16 that way i will have to "send" to them all 2010-06-23T05:49:23 with a barrier is just a release 2010-06-23T05:49:30 I am about to head off. This one is a little tricky and will be a trail and error thing 2010-06-23T05:49:46 ok 2010-06-23T05:50:00 The problem with a barrier is you need to create it. With events do you not need to create anything. 2010-06-23T05:50:36 In this sort of thing you need to ask how many do you create ? 2010-06-23T05:51:13 the number of barriers is equal to the number of ident 2010-06-23T05:51:52 But that means the under side of the API has to be told. 2010-06-23T05:52:16 With task events you do not need this 2010-06-23T05:52:34 no, every time a new ident is found a new barrier is made 2010-06-23T05:52:54 Exactly this is costly. 2010-06-23T05:53:18 With events you do not need to do this. 2010-06-23T05:53:48 You need to locate the ident and therefore the task id so you may as well just send it an event 2010-06-23T05:55:21 ok 2010-06-23T05:56:57 Great. Events are nice like this. You will need to save the task ident. See rtems_task_self() call. 2010-06-23T05:57:50 ok i understood. rtems_taks_self != RTEMS_SELF? 2010-06-23T05:58:59 the call allows you to get the id of the executing task and save it with the ident. You can wake it with a send event given an ident. 2010-06-23T06:00:09 i thought the rtems_id of self was in RTEMS_SELF 2010-06-23T06:00:39 The RTEMS_SELF is a special id used in calls. 2010-06-23T06:01:11 If you saved RTEMS_SELF when you send the event you would wake yourself not the sleeping thread 2010-06-23T06:06:09 ok, i will grab lunch now...This afternoon i will implment that :) 2010-06-23T06:06:19 Fantastic, 2010-06-23T06:11:04 *** groleo has quit IRC 2010-06-23T06:19:51 *** arvind_khadri has quit IRC 2010-06-23T06:21:14 *** arvind_khadri has joined #rtems 2010-06-23T06:22:37 *** kiwichris has quit IRC 2010-06-23T06:43:53 *** arvind_k has joined #rtems 2010-06-23T06:45:11 *** arvind_khadri has quit IRC 2010-06-23T06:50:50 *** arvind_k has quit IRC 2010-06-23T06:57:55 *** arvind_khadri has joined #rtems 2010-06-23T06:57:58 *** dr__house has quit IRC 2010-06-23T07:11:49 *** DrJoel has joined #rtems 2010-06-23T07:11:49 *** ChanServ sets mode: +o DrJoel 2010-06-23T07:12:28 *** madrazr has quit IRC 2010-06-23T07:20:02 *** DrJoel has quit IRC 2010-06-23T07:45:17 *** mwalle has joined #rtems 2010-06-23T07:53:06 *** madrazr has joined #rtems 2010-06-23T08:06:04 *** cdcs has quit IRC 2010-06-23T08:21:10 *** exception13 has left #rtems 2010-06-23T08:40:00 *** backhappy has joined #rtems 2010-06-23T08:40:22 what's the meaning of Overall cleanup? 2010-06-23T08:48:45 in which context? 2010-06-23T08:49:09 4.10_Release_Notes 2010-06-23T08:49:29 SD Card Driver: Overall cleanup. 2010-06-23T08:50:37 delete or update? 2010-06-23T08:55:47 *** zwj has joined #rtems 2010-06-23T08:57:22 sebhub:hi, good evening 2010-06-23T08:59:45 *** bubaflub has joined #rtems 2010-06-23T09:13:40 hi 2010-06-23T09:14:05 blackhappy: update 2010-06-23T09:39:37 *** dr__house has joined #rtems 2010-06-23T09:52:20 *** aniceberg has joined #rtems 2010-06-23T10:26:24 sebhub:hi, in the two function _Sysinit_Iterate and _Sysinit_Iterate_reversed, we just call the init function in the link set, is there other features? 2010-06-23T10:29:00 where should be the error handler put? in the two functions or init functions? 2010-06-23T10:32:18 *** DrJoel has joined #rtems 2010-06-23T10:32:19 *** ChanServ sets mode: +o DrJoel 2010-06-23T10:36:53 *** lekernel has quit IRC 2010-06-23T10:37:14 *** lekernel has joined #rtems 2010-06-23T10:39:01 *** arvind_khadri has quit IRC 2010-06-23T10:50:32 *** arvind_khadri has joined #rtems 2010-06-23T10:57:53 *** cdcs has joined #rtems 2010-06-23T11:00:02 *** cdcs has quit IRC 2010-06-23T11:00:14 *** cdcs has joined #rtems 2010-06-23T11:09:33 *** exception13 has joined #rtems 2010-06-23T11:23:37 *** mpanetta has quit IRC 2010-06-23T11:24:51 *** mpanetta has joined #rtems 2010-06-23T11:27:11 *** backhappy has quit IRC 2010-06-23T11:38:42 *** zwj has quit IRC 2010-06-23T11:41:56 *** sebhub has quit IRC 2010-06-23T11:45:13 *** mpanetta has quit IRC 2010-06-23T11:46:04 *** mpanetta has joined #rtems 2010-06-23T12:00:35 *** mpanetta has quit IRC 2010-06-23T12:01:10 *** mpanetta has joined #rtems 2010-06-23T12:02:27 *** cdcs is now known as cdcs_awy 2010-06-23T12:21:17 * aniceberg waves at DrJoel 2010-06-23T12:21:46 howdy.. how's your day? 2010-06-23T12:22:33 i should say ok ok. ate too much. spending time digesting :D 2010-06-23T12:23:13 :D 2010-06-23T12:23:42 DrJoel, I am facing a problem. Could you please have a look at it? 2010-06-23T12:23:47 #0 0x0010ce16 in _Internal_error_Occurred (the_source=INTERNAL_ERROR_CORE, 2010-06-23T12:23:48 is_internal=1, the_error=6) 2010-06-23T12:23:48 at /home/bharath/rtems/rtems-4.11-i386/rtems/c/src/../../cpukit/score/src/interr.c:61 2010-06-23T12:23:48 #1 0x00112e87 in _Thread_Handler () 2010-06-23T12:23:48 at /home/bharath/rtems/rtems-4.11-i386/rtems/c/src/../../cpukit/score/src/threadhandler.c:184 2010-06-23T12:23:48 #2 0x75726700 in ?? () 2010-06-23T12:24:03 * DrJoel and Jennifer managed to do something yesterday that really changed the coverage. 2010-06-23T12:24:05 Bytes Analyzed : 120464 2010-06-23T12:24:05 Bytes Not Executed : 9860 2010-06-23T12:24:06 Percentage Executed : 91.81 2010-06-23T12:24:06 Percentage Not Executed : 8.185 2010-06-23T12:24:06 Uncovered ranges found : 322 2010-06-23T12:24:06 Total branches found : 2742 2010-06-23T12:24:08 Uncovered branches found : 626 2010-06-23T12:24:10 243 branches always taken 2010-06-23T12:24:12 383 branches never taken 2010-06-23T12:24:32 I have two tasks, when the child task terminates, the above is seen 2010-06-23T12:24:40 Jennifer noticed a macro that should have been a subroutine and I figured out why the stack check code wasn't getting executed even though we have 2 stack check tests 2010-06-23T12:24:40 oooh. nice numbers there 2010-06-23T12:24:56 Yep. And nothing we are doing is near you at all. :) 2010-06-23T12:25:22 I must pick up some speed 2010-06-23T12:25:24 you have returned from a thread body. It should either rtems_test_exit(0) or rtems_task_delete(RTEMS_SELF) 2010-06-23T12:25:27 and quick 2010-06-23T12:25:41 we need to get the FIFO wrapped up and killed 2010-06-23T12:26:43 I have raised another PR in fifo.c, which now blocks the fifo coverage 2010-06-23T12:27:39 do you have a number? Chris committed one and closed it 2010-06-23T12:27:42 PR 1585, and I am not so sure about the possible fix... so, couldn't do much about it 2010-06-23T12:28:24 Can you do a semaphore_flush before the delete? 2010-06-23T12:28:34 that should make the blocker return unsatisfied. 2010-06-23T12:31:01 semaphore_flush before delete at pipe_release? 2010-06-23T12:31:59 to get it right... 2010-06-23T12:32:08 as soon as the sem is created, it is locked 2010-06-23T12:32:19 and then pipe_release -> sem delete is called 2010-06-23T12:32:53 you suggest, sem flush should help us continue to delete the sem successfully 2010-06-23T12:36:10 yes.. that will flush all blocking tasks. 2010-06-23T12:36:36 ah, you mean which are waiting to obtain the sem 2010-06-23T12:40:32 yes.. it will return from the obtain call with RTEMS_UNSATISFIED. You probably should disable preemption around the flush and the delete 2010-06-23T12:41:20 sp04 shows how to use rtems_task_mode to disable preemption and then restore it 2010-06-23T12:42:35 got it. and i will have a look at sp04 2010-06-23T13:01:23 *** Raj_ has joined #rtems 2010-06-23T13:01:50 aniceberg: hmmm.. resource in use. flush won't take care of that 2010-06-23T13:02:02 DrJoel: I have a doubt 2010-06-23T13:02:14 aniceberg: what are the attributes on the create of that semaphore? 2010-06-23T13:02:27 Raj_: about what? 2010-06-23T13:02:32 Will RTEMS ever support fork/exec ? 2010-06-23T13:02:42 No. 2010-06-23T13:03:04 and socketpair is usually used across a fork/exec? 2010-06-23T13:03:28 No. socketpair is usually used with AF_UNIX/LOCAL 2010-06-23T13:03:30 a moment DrJoel 2010-06-23T13:03:37 RTEMS apparently doesn't support that :) 2010-06-23T13:04:53 the attributes of the sem created are RTEMS_BINARY_SEMAPHORE | RTEMS_FIFO 2010-06-23T13:05:00 It is in sys/socket.h 2010-06-23T13:05:03 fork/exec question was because, when creating sockets and stuff, Go does some synchronization concerned with the possibility of a fork at that point 2010-06-23T13:05:37 So I don't have to include all that in the code that I would be adding now 2010-06-23T13:06:02 DrJoel: "sys/socket.h" was that for me ? 2010-06-23T13:08:27 aniceberg: ok.. hhmmm.. what is the semaphore being used to protect? Is another thread holding it because they are using the pipe? Or should it have been released in pipe_new? 2010-06-23T13:08:32 Raj_: yes 2010-06-23T13:08:51 *** mpanetta has quit IRC 2010-06-23T13:09:34 Yea, it is in sys/socket.h, but I tried using AF_UNIX and it exits with "Unknown protocol" error 2010-06-23T13:09:44 and Eric Norum confirmed it 2010-06-23T13:10:45 ahhh.. ok.. then it isn't supported by the current TCP/IP source.. whatever doesn't work because of that in Go is just the way it is 2010-06-23T13:11:09 *** mpanetta has joined #rtems 2010-06-23T13:11:48 Yea, so that means I have to use tcp sockets for the current problem. that's all 2010-06-23T13:12:27 the current solution is not efficient I guess, using select and sockets on top of that, but that's the way it is I guess 2010-06-23T13:14:08 aniceberg: if another task is waiting on pipe->Semaphore then we be able to... disable preemption.. delete barriers, lock pipe->semaphore, delete semaphore, enable preemption 2010-06-23T13:14:08 DrJoel, few thing happening between the locking and unlocking... but none of this seem to operate on a shared resource, which would need the sem there... 2010-06-23T13:14:32 The key is that the the barrier_wait calls have to check for an error to know there is no data and return an error to the caller 2010-06-23T13:15:07 I think this is implementing a producer/consumer using a monitor like construct. That makes this semaphore important. :) 2010-06-23T13:15:23 So is there another task involved blocked on the fifo? 2010-06-23T13:16:20 one of the two: reader or writer will be blocked until the other opens the pipe 2010-06-23T13:18:54 about the producer/consumer problem, that would come into picture during read/write from/to the pipe. but the issue is while opening the pipe 2010-06-23T13:19:03 this, I am not sure 2010-06-23T13:20:53 *** mpanetta has quit IRC 2010-06-23T13:21:06 *** mpanetta has joined #rtems 2010-06-23T13:31:19 So is the other task blocked on a barrier while you are closing it? where in the code is the other thread? one is in pipe_free 2010-06-23T13:32:56 *** Raj_ has quit IRC 2010-06-23T13:34:28 this issue happens only with the writer IMO and it might be that the reader is blocked on the barrier 2010-06-23T13:35:01 and also might just have the pipe->Semaphore 2010-06-23T13:49:07 If you can delete the barriers first, the other threads will return with "object was deleted". Then block on the binary semaphore. When you obtain it, you can then delete it. (you probably have to release it yourself first) 2010-06-23T13:49:49 but all of that will need to be in a no-preempt section and the calls to barrier wait and sem obtain on both reader and writer have to detect object was deleted and return 2010-06-23T13:59:42 DrJoel, looking at the code, for this case, the writer will have the semaphore before calling the pipe_free / pipe_release 2010-06-23T14:07:47 what line of code is the writer at? 2010-06-23T14:09:03 just before calling the pipe_release, writer would be at 353 2010-06-23T14:09:35 what file? 2010-06-23T14:09:52 fifo.c 2010-06-23T14:11:43 can you send me the code so I can run it? :-D 2010-06-23T14:12:40 sure, a moment. :) 2010-06-23T14:20:20 DrJoel, I have sent the file alone. its the spfifo08 (changed to include few more tests) 2010-06-23T14:26:51 I have put it in spfifo02 locally to test 2010-06-23T14:28:08 the new spfifo02 or the old one :D and DrJoel, the possible solution for PR 1542? 2010-06-23T14:28:37 when this settles you will have to chat me through committing everything correctly. LOL 2010-06-23T14:30:27 LOL. sure i will. but with these what would remain pending are the error cases - error on obtaining a semaphore, error on waiting on a barrier 2010-06-23T14:30:37 those would be going to explanations.txt, right? 2010-06-23T14:30:45 24... Opening FIFO in non blocking WRONLY mode. Expect ENXIO 2010-06-23T14:30:46 status=-1 errno=6/(No such device or address) 2010-06-23T14:31:00 where in the output is the error I need to check for 2010-06-23T14:31:37 the one you got 2010-06-23T14:31:47 Opening FIFO in non blocking RDONLY mode. Expect OK 2010-06-23T14:31:47 status=3 errno=12/(Not enough space) 2010-06-23T14:31:53 That doesn't look OK either 2010-06-23T14:32:10 there are lots of places that say "Expect OK" but print an error on the next line 2010-06-23T14:32:31 FYI do not print "end of" when the test fails.. that's how we know it died 2010-06-23T14:36:01 there are 2 instances where Expect OK should be seen and the fd must satisfy fd != -1 2010-06-23T14:37:51 after that there must be quite a few opens, expecting OK (but not printed), and all these need to result in fd != -1 2010-06-23T14:38:25 and the last case, where the output is Opening FIFO in non blocking WRONLY mode. Expect ENXIO 2010-06-23T14:38:31 must result in the test failure 2010-06-23T14:39:09 Multiple opens 2010-06-23T14:39:09 1... 2... 3... 4... 5... 6... 7... 8... 9... 10... 11... 12... 13... 14... 15... 16... 17... 18... 19... 20... 21... 22... 23... 24... Opening FIFO in non blocking WRONLY mode. Expect ENXIO 2010-06-23T14:39:09 *** END OF TEST FIFO 08 *** 2010-06-23T14:39:26 I commented out the debug print in open_fifo and it looks like it works to me 2010-06-23T14:39:36 It would assert if you didn't get ENXIO 2010-06-23T14:41:14 aw 2010-06-23T14:41:18 drat. my bad... 2010-06-23T14:41:55 we get an ENXIO for that test, but that call to open does not delete the semaphore allotted 2010-06-23T14:42:33 now, if the last test is moved above the for loop (Multiple opens), we see a ENOMEM on first call to open inside the loop 2010-06-23T14:48:51 do you expect that last open_fifo call to create a new fifo or attach to an existing one? 2010-06-23T14:49:44 create a new one, all previous open fifos would be closed 2010-06-23T14:49:58 If I put an if 0 around all calls but that one, it fails 2010-06-23T14:50:04 ** TEST FIFO 08 *** 2010-06-23T14:50:04 Opening FIFO in non blocking WRONLY mode. Expect ENXIO 2010-06-23T14:50:05 status=-1 errno=2/(No such file or directory) 2010-06-23T14:50:05 ../../../../../../../rtems/c/src/../../testsuites/sptests/spfifo02/init.c: 121 errno == expected 2010-06-23T14:50:49 123 if ( !(flags & O_CREAT) ) { 2010-06-23T14:50:50 (gdb) 2010-06-23T14:50:50 195 if ( iop ) 2010-06-23T14:50:50 (gdb) 2010-06-23T14:50:50 196 rtems_libio_free( iop ); 2010-06-23T14:50:50 (gdb) 2010-06-23T14:50:52 197 if ( loc_to_free ) 2010-06-23T14:51:33 It needs to have O_CREAT on the flags I think 2010-06-23T14:52:15 i have managed to confuse you... i will try again :) 2010-06-23T14:52:51 all calls until the for loop run fine (as expected by the test) 2010-06-23T14:53:19 the test file i have sent you has the for loop for multiple opens first and then the O_WRONLY | O_NONBLOCK 2010-06-23T14:53:44 with this, the complete test will be a success 2010-06-23T14:54:36 do you mind cutting out all code that works and just send me the smallest broken case. 2010-06-23T14:54:38 :) 2010-06-23T14:54:56 having the O_WRONLY | O_NONBLOCK just before the for loop for multiple opens and retaining all the other parts as they are would result in the failure of the test 2010-06-23T14:55:09 ah. that should do 2010-06-23T14:58:39 check it to see if you are sure on your side and then send it to me again. 2010-06-23T14:59:56 ok. that should be better 2010-06-23T15:19:41 *** bubaflub has quit IRC 2010-06-23T15:21:30 posted some output .. I am just not seeing a failure.. added a printk on the status for the delete 2010-06-23T15:24:28 just completed a coverage run. now will run the spfifo02 which must result in a failure 2010-06-23T15:26:05 *** mpanetta has quit IRC 2010-06-23T15:28:02 *** mpanetta has joined #rtems 2010-06-23T15:30:46 *** dr__house has quit IRC 2010-06-23T15:32:32 DrJoel, posted the output from the test I ran now... 2010-06-23T15:32:47 the last run, where the assert fails 2010-06-23T15:33:18 should have resulted in an OK. 2010-06-23T15:33:59 but it results in a ENOMEM since the the call to fifo_open just before that O_WRONLY|O_NONBLOCK does not delete the semaphore 2010-06-23T15:34:26 you can use the file i sent 2010-06-23T15:34:34 the second one :) 2010-06-23T15:38:17 1098356543 5017 /home/joel/rtems-4.11-work/build/rtems/testsuites/sptests/spfifo02/init.c 2010-06-23T15:38:31 Does that match your "cksum". I am wondering if I am looking at the same file 2010-06-23T15:39:36 3731368483 4991 /home/bharath/Desktop/init.c 2010-06-23T15:39:40 thats what i have 2010-06-23T15:39:57 Send that again .. 2010-06-23T15:40:33 just did that :) 2010-06-23T15:45:22 I match your checksum and am not getting an assert. Are you completely up to date? 2010-06-23T15:45:42 Do you have local modifications to cpukit/libfs/src/pipe which might impact this? 2010-06-23T15:48:16 the changes proposed for 1542 are present in my tree 2010-06-23T15:48:30 for fifo.c 2010-06-23T15:49:20 ahh and not in mine.. 2010-06-23T15:49:20 DrJoel, http://pastebin.com/R8PVmwhQ are the changes 2010-06-23T15:49:55 DrJoel, the mail had a warning note :D 2010-06-23T15:57:12 *** cdcs_awy has quit IRC 2010-06-23T15:58:09 *** cdcs_awy has joined #rtems 2010-06-23T15:58:21 the issue aside, the coverage results, i now have show that there are 3 ranges left, with about 39 bytes 2010-06-23T15:58:52 with this issue solved, it would come down up to 19 bytes 2010-06-23T15:59:47 that's great! 2010-06-23T16:00:11 I have duplicated it but wonder if the binary semaphore has been locked multiple times and not unlocked 2010-06-23T16:00:14 enough 2010-06-23T16:00:29 I don't see another thread involved at this point so we are the holder :-D 2010-06-23T16:01:11 *** cdcs_awy is now known as cdcs 2010-06-23T16:02:37 DrJoel, How do i check if a rtems chain was initialized? 2010-06-23T16:02:45 in the debugger? 2010-06-23T16:03:09 no, in code 2010-06-23T16:03:48 You really can't 2010-06-23T16:04:15 no way to interpret the values.. no bool init flag 2010-06-23T16:04:21 easy to see pattern in debugger 2010-06-23T16:05:03 i wanted to do something like if rtems_chain_initialized = false... initialize chain 2010-06-23T16:05:39 do you have a driver initialize routine? It should go there 2010-06-23T16:06:47 it's not for the driver, its for a function named ltsleep that resembles itself with pthread_cond_wait 2010-06-23T16:07:11 aniceberg: the mutex is locked once more than it is unlocked on this particular sequence 2010-06-23T16:07:24 i need to maintain a chain of rtems_ids that are "sleeping" on the condition 2010-06-23T16:08:12 I broke at the open_fifo() call, then at fifo.c:267 and the "nest count" was 2. That means that unlock will take it to 1 and there is another one needed. 2010-06-23T16:13:30 is there any thing like a static initializer for rtems_chain? 2010-06-23T16:13:55 yes DrJoel, from what i could make out, when we open the file in the O_WRONLY | O_NONBLOCK mode, the pipe is allocated resources, and when the fifo_open realizes that the mode is non blocking write, it sets the errno to ENXIO and exits after releasing the pipe. But this release only deletes the barriers, but does not delete the sem, since it is still in use (obtained in pipe_new), is not release until inside the do-while loop under case LIBIO_FLAGS_WRIT 2010-06-23T16:13:55 E: 2010-06-23T16:16:20 DrJoel, its about 3 AM here. I will head for the bed. Will submit the spfifo patches tomorrow, first thing and move along 2010-06-23T16:16:29 Add PIPE_UNLOCK(pipe) at line 353 2010-06-23T16:16:46 that makes the test run for me (I think) 2010-06-23T16:17:38 then go to bed :-D 2010-06-23T16:17:41 DrJoel, could you please send me the file you are using. 2010-06-23T16:18:07 i will have a look at the file and then zzzzz :) 2010-06-23T16:18:26 on its way 2010-06-23T16:19:24 got it 2010-06-23T16:20:26 yes, that would get it working 2010-06-23T16:20:51 DrJoel, the UNLOCK, is it on the head? 2010-06-23T16:21:16 No.. just in my tree. Please keep testing with it that way. When you submit the new test code, I will merge it 2010-06-23T16:35:49 put most of the things in place and started a coverage run 2010-06-23T16:36:03 while that continues, i am heading off to bed. 2010-06-23T16:36:44 night.. I need to head home 2010-06-23T16:36:47 *** DrJoel has quit IRC 2010-06-23T16:36:52 *** aniceberg has quit IRC 2010-06-23T16:41:34 *** exception13 has left #rtems 2010-06-23T16:45:13 *** madrazr has quit IRC 2010-06-23T17:21:04 *** DrJoel has joined #rtems 2010-06-23T17:21:04 *** ChanServ sets mode: +o DrJoel 2010-06-23T17:21:18 *** DrJoel has quit IRC 2010-06-23T17:37:12 *** cdcs has quit IRC 2010-06-23T17:52:39 *** DrJoel has joined #rtems 2010-06-23T17:52:39 *** ChanServ sets mode: +o DrJoel 2010-06-23T18:21:33 *** kiwichris has joined #rtems 2010-06-23T18:50:15 *** mpanetta has quit IRC 2010-06-23T18:52:16 *** mpanetta has joined #rtems 2010-06-23T18:57:32 *** arvind_khadri has quit IRC 2010-06-23T20:11:41 kiwichris: hello? 2010-06-23T20:15:04 Hi JOel 2010-06-23T20:15:08 Just about to head out 2010-06-23T20:15:28 I am autotools'ing rtems-testing 2010-06-23T20:16:07 Just a heads up that Jennifer is going to make the changes so all the fs ops are required and provided stubs. Then move on to the file ops tables. This should shrink the code, ease testing and make things easier to read 2010-06-23T20:16:13 *** Fallenou has quit IRC 2010-06-23T20:16:24 Did you have any particular objections to it? 2010-06-23T20:21:23 Only that this changes the overhead on all file systems 2010-06-23T20:22:05 I need to watch the RFS overhead on a certain slow Coldfire :) 2010-06-23T20:22:11 must go 2010-06-23T20:22:12 We are going to check that. My believe is that it will shrink overall because the stubs are smaller than the checks 2010-06-23T20:22:13 night 2010-06-23T20:22:16 *** DrJoel has quit IRC 2010-06-23T20:22:24 *** kiwichris has quit IRC 2010-06-24T00:50:56 *** groleo has joined #rtems 2010-06-24T00:54:01 *** groleo has left #rtems 2010-06-24T01:09:28 *** mpanetta has quit IRC 2010-06-24T01:11:23 *** mpanetta has joined #rtems 2010-06-24T01:41:51 *** mpanetta has quit IRC 2010-06-24T02:02:37 *** madrazr has joined #rtems 2010-06-24T02:24:03 *** mpanetta has joined #rtems 2010-06-24T02:28:42 *** aniceberg has joined #rtems 2010-06-24T02:54:56 *** groleo has joined #rtems 2010-06-24T03:46:43 *** cdcs has joined #rtems 2010-06-24T04:34:46 *** exception13 has joined #rtems 2010-06-24T04:52:01 *** sebhub has joined #rtems 2010-06-24T04:52:06 good morning 2010-06-24T06:59:30 *** DrJoel has joined #rtems 2010-06-24T06:59:31 *** ChanServ sets mode: +o DrJoel 2010-06-24T07:02:58 *** DrJoel has quit IRC 2010-06-24T07:03:24 *** zwj has joined #rtems 2010-06-24T07:04:46 *** kiwichris has joined #rtems 2010-06-24T07:12:15 *** kuzew has quit IRC 2010-06-24T07:15:21 *** DrJoel has joined #rtems 2010-06-24T07:15:22 *** ChanServ sets mode: +o DrJoel 2010-06-24T07:20:58 *** DrJoel has quit IRC 2010-06-24T07:44:24 cdcs, still LOL about autoconf. I thought it was the configure tool we use. 2010-06-24T07:53:05 LOL... it's also called autoconf... :) 2010-06-24T07:53:56 Yeah it had me confused for a bit 2010-06-24T07:55:38 Just sent back an email about this. 2010-06-24T07:56:26 Ok, Thank You 2010-06-24T07:59:13 need to pop out for short while. 2010-06-24T08:00:29 ok i'm building a simple test suite for testing kthread and ltsleep 2010-06-24T08:06:58 kiwichris, i think there is a question for you on the mailing list :P 2010-06-24T08:12:26 Ah yes. Thanks 2010-06-24T08:12:52 *** exception13 has left #rtems 2010-06-24T08:25:34 kiwichris, "multiple definition of `wakeup'" from /rtems/i386-rtems4.11/pc586/lib/librtemscpu.a(libnetworking_a-rtems_glue.o) 2010-06-24T08:25:39 how do i removeit 2010-06-24T08:26:21 i have removed -lrtemscpu from linker options but the error remains. 2010-06-24T08:26:41 This remove RTEMS !! 2010-06-24T08:26:45 This removes RTEMS !! 2010-06-24T08:26:51 ok... 2010-06-24T08:27:24 Given the network stack go it first you will have to play macros to hide it. 2010-06-24T08:27:49 go -> got 2010-06-24T08:28:03 Do you know what I mean ? 2010-06-24T08:28:54 changing the function name...? 2010-06-24T08:34:04 i think he's trying to say to guard it somehow using ifdefs ? (sorry i bug in) 2010-06-24T08:34:58 Yeah this is correct. Before any references to wakeup you define wakeup to ata_wakeup 2010-06-24T08:37:04 ok 2010-06-24T08:47:07 chris, have you experience with the boost C++ library? 2010-06-24T08:47:18 Some parts of it. 2010-06-24T08:47:25 Which bit are you wanting to use ? 2010-06-24T08:47:38 the unit test framework 2010-06-24T08:48:01 the thread support worked pretty good on RTEMS 2010-06-24T08:48:02 I used the random number generator. 2010-06-24T08:48:07 It was a long time ago. 2010-06-24T08:48:18 Great. 2010-06-24T08:48:33 I found boost worked well. 2010-06-24T08:48:42 Have you used the thread support with RTEMS ? 2010-06-24T08:48:50 yes 2010-06-24T08:48:53 Cool 2010-06-24T08:48:59 Need much work to port ? 2010-06-24T08:49:15 virtually nothing to do 2010-06-24T08:49:35 only a problem with the non posix conform strerror_r 2010-06-24T08:49:49 You mean ours ? 2010-06-24T08:49:53 yes 2010-06-24T08:50:06 Is it a big problem ? 2010-06-24T08:50:10 no 2010-06-24T08:50:17 Is this a newlib fix ? 2010-06-24T08:50:31 most systems are not posix conform here it seems 2010-06-24T08:50:46 its the return value int vs char * 2010-06-24T08:51:09 Oh. Which is POSIX ? 2010-06-24T08:51:30 another problem was that sys/feature.h did not define a _XOPEN_VERSION 2010-06-24T08:51:53 Is this a newlib file ? 2010-06-24T08:51:57 int strerror_r(int errnum, char *strerrbuf, size_t buflen); 2010-06-24T08:51:59 is posix 2010-06-24T08:52:09 char *strerror_r(int errnum, char *buf, size_t buflen); 2010-06-24T08:52:12 is GNU 2010-06-24T08:52:18 yes it is a newlib file 2010-06-24T08:52:22 So how does boost work on Linux ? 2010-06-24T08:54:08 : unknown_err; 2010-06-24T08:54:09 # else // use strerror_r 2010-06-24T08:54:11 char buf[64]; 2010-06-24T08:54:12 char * bp = buf; 2010-06-24T08:54:14 std::size_t sz = sizeof(buf); 2010-06-24T08:54:15 # if defined(__CYGWIN__) || defined(__USE_GNU) || defined(__rtems__) 2010-06-24T08:54:17 // Oddball version of strerror_r 2010-06-24T08:54:18 const char * c_str = strerror_r( ev, bp, sz ); 2010-06-24T08:54:20 return c_str 2010-06-24T08:54:21 ? std::string( c_str ) 2010-06-24T08:54:23 : unknown_err; 2010-06-24T08:54:32 Ah ok. 2010-06-24T08:54:43 linux supports both version 2010-06-24T08:54:50 Should that be newlib ? 2010-06-24T08:55:04 How does it do that ? 2010-06-24T08:55:56 from the man page: 2010-06-24T08:56:00 The XSI-compliant version of strerror_r() is provided if: 2010-06-24T08:56:01 (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE 2010-06-24T08:56:03 Otherwise, the GNU-specific version is provided. 2010-06-24T08:56:09 Oh I see. 2010-06-24T08:56:52 Is the boost threads template based of derived from a base class ? 2010-06-24T08:57:02 of -> or 2010-06-24T08:57:17 no, it is the prototype implementation for the new C++ standard 2010-06-24T08:57:24 it uses callable objects 2010-06-24T08:58:03 Excellent. So template based where the object method is provided. 2010-06-24T08:59:13 oh the boost tags file is 718MBytes of size 2010-06-24T08:59:28 LOL tha is funny 2010-06-24T08:59:58 http://www.boost.org/doc/libs/1_43_0/doc/html/thread/thread_management.html 2010-06-24T09:00:30 *** bubaflub has joined #rtems 2010-06-24T09:04:46 Interesting idea to use the operator()(). 2010-06-24T09:06:25 yes 2010-06-24T09:07:16 It makes for the need for extra classes to handle more than one thread in an object. 2010-06-24T09:07:55 Consider a server object with socket. It is nice to have a thread reading and one writing. 2010-06-24T09:08:44 I implemented a template type solution that allowed any method in an object to be used as a thread entry point. 2010-06-24T09:09:14 You just added thread objects to a class and the thread methods and off you went. 2010-06-24T09:11:00 sounds easy 2010-06-24T09:12:53 Yes. I will find something and send to you. 2010-06-24T09:18:20 *** DrJoel has joined #rtems 2010-06-24T09:18:20 *** ChanServ sets mode: +o DrJoel 2010-06-24T09:19:00 hey chris.. 2010-06-24T09:19:10 hi 2010-06-24T09:20:06 I am about to file a PR with the patch to remove optional managers .. just testing the clean version now :D 2010-06-24T09:20:23 Any code reduction figures ? 2010-06-24T09:22:58 no.. it may go up slightly until the sequenced initialization is in place. A stub of a manager init is smaller than the real thing 2010-06-24T09:23:11 But I will grab minimum for comparison on two machines 2010-06-24T09:23:22 It is not important. 2010-06-24T09:24:01 i hope zwj will finish the api for the sequenced initialization soon 2010-06-24T09:24:22 :D 2010-06-24T09:27:43 looking at the code through the lens of testability and coverage really changes your coding 2010-06-24T09:27:49 *** gedare has joined #rtems 2010-06-24T09:28:41 I experiment with the boost unit test framework 2010-06-24T09:28:47 sebhub: I will include asm.h but the CPU->cpu isn't needed .. acronyms like ISR stay caps 2010-06-24T09:28:50 Joel, cygwin and mingw need special code for usleep. I have this code in BDM project 2010-06-24T09:29:36 kiwichris: ok.. I know most of the scripts work in cygwin. I used cvscommit and mkChangeLogList yesterday 2010-06-24T09:30:02 Great. I will keep moving forward. 2010-06-24T09:30:10 ok, but then use _Per_CPU_Information als well 2010-06-24T09:30:54 ahhh.. stupid .. stupid.. 2010-06-24T09:31:02 * DrJoel has too many large patches and changes outstanding 2010-06-24T09:31:07 need to get some committed. 2010-06-24T09:31:30 yes large outstanding patches are a nightmare 2010-06-24T09:33:36 morning 2010-06-24T09:43:24 sebhub: I have the per cpu, optional manager, a new test for untar, and more smp code after this 2010-06-24T09:43:52 kiwichris: I need some help deciding what to do with the RTEMS Scheduler Simulator. It is ready to be public after the per cpu patch is merged 2010-06-24T09:44:07 morning gedare 2010-06-24T09:46:12 *** madrazr has quit IRC 2010-06-24T09:57:54 *** kiwichris has quit IRC 2010-06-24T10:03:49 *** groleo has quit IRC 2010-06-24T10:08:39 *** cdcs is now known as cdcs_awy 2010-06-24T10:43:39 *** kuzew has joined #rtems 2010-06-24T10:44:39 *** dr__house has joined #rtems 2010-06-24T10:46:40 *** sebhub has quit IRC 2010-06-24T11:01:45 *** dr__house has quit IRC 2010-06-24T11:08:49 *** zwj has quit IRC 2010-06-24T11:09:39 *** madrazr has joined #rtems 2010-06-24T11:23:58 *** dr__house has joined #rtems 2010-06-24T11:24:01 *** dr__house has joined #rtems 2010-06-24T11:30:46 drjoel: i've changed my mind about placing dispatch in the scheduler. at least for the time being, it seems not necessary. 2010-06-24T11:31:50 OK. I think it needs to be contained.. maybe we need a scheduler and a dispatcher object 2010-06-24T11:32:18 Probably. I can see how it will become more complicated by SMP. But it should be "stupid" with respect to scheduling decisions. 2010-06-24T11:32:55 and putting dispatch in the scheduler object I could see people trying to implement decision logic in the dispatch routine. 2010-06-24T11:33:06 * gedare knows because he has done this ;) 2010-06-24T11:34:27 :) Easier to document and explain. The more time goes on, the more I want RTEMS to be a good example to analyze, understand, teach from and do research with research 2010-06-24T11:38:03 aniceberg: testing patch now.. hope to need ChangeLog entries shortly 2010-06-24T11:40:03 fwiw i hope to use rtems as a platform for teaching and researching :) 2010-06-24T11:40:15 and with any luck my days of hacking on it are numbered... 2010-06-24T11:40:19 *ducks* 2010-06-24T11:45:09 you better duck.. ;-D 2010-06-24T11:45:29 *** arvind_khadri has joined #rtems 2010-06-24T12:10:53 drjoel: was itron the only user of _Thread_Rotate_Ready_Queue? 2010-06-24T12:11:59 AFAIK yes.. it was conditionally compiled on ITRON right? 2010-06-24T12:12:36 it's in cpukit/itron/src/rot_rdq.c 2010-06-24T12:12:51 that's the only call to it I could find 2010-06-24T12:13:36 just curious. 2010-06-24T12:15:50 itron was removed and that should be gone on the head 2010-06-24T12:16:32 my cvs update doesn't prune files for whatever reason :p 2010-06-24T12:16:50 i should probably figure that out 2010-06-24T12:16:59 I update with "cvs up -Pd 2>&1 | grep -v ^cvs" 2010-06-24T12:17:17 that prunes, adds directories and throws away a lot of noisy output 2010-06-24T12:17:24 hrm, i have the same thing 2010-06-24T12:17:44 maybe cvs isn't updating fully, does it abort on a conflict? 2010-06-24T12:18:11 i don't know about aborting. but if you have changed something, it won't remove it 2010-06-24T12:24:11 _Thread_Reset_timeslice doesn't appear to reset a timeslice... 2010-06-24T12:40:51 yeah.. poorly named. It handles the end of the timeslice processing.. 2010-06-24T12:41:33 i'm going to submit a PR 2010-06-24T12:41:41 it should just call Thread_Yield_processor 2010-06-24T12:41:50 instead of Thread_Reset_timeslice 2010-06-24T12:42:07 they are nearly functionally equivalent. there is some little issue with the heir, so you can look when I file the patch 2010-06-24T12:42:38 aniceberg: ping.. changelog please so I can close the prs ... 2010-06-24T12:48:07 *** Fallenou has joined #rtems 2010-06-24T12:50:18 * gedare submits patches without testing them 2010-06-24T12:50:21 *ducks* 2010-06-24T12:53:00 oops. should have uploaded the Changelog as a file. oh wells 2010-06-24T12:53:10 at least i put one up!! 2010-06-24T12:53:25 i need to stop being distracted by these little things i find 2010-06-24T13:07:00 mmm... this would be easier if the percpu patch is already applied 2010-06-24T13:07:07 getting header file dependency problems 2010-06-24T13:08:11 maybe a fake dependency 2010-06-24T13:32:48 *** exception13 has joined #rtems 2010-06-24T13:53:41 *** dr__house has quit IRC 2010-06-24T14:18:05 hello DrJoel 2010-06-24T14:18:56 just in. 2010-06-24T14:19:07 will provide the changelog asap, now 2010-06-24T14:25:42 ahh.. I thought you were sleeping at the keyboard 2010-06-24T14:26:28 was at a friend's marriage. and its already 1 AM 25th June. aw. 2010-06-24T14:26:43 writing the changelog now.. should be on its way in a while 2010-06-24T14:28:46 we have a wedding this weekend. Hawaiian theme with rock band and party Saturday night. I have my "Wedding Crashers" t-shirt I found at a thrift store to wear to help setup :0D 2010-06-24T14:29:08 im in a wedding next weekend 2010-06-24T14:29:26 Nice!! 2010-06-24T14:29:32 i had my wedding in sept... i don't like hot weather so much 2010-06-24T14:29:50 Is it usually that there is a theme in weddings? 2010-06-24T14:32:56 i think it is not that usual, traditional church weddings typically disallow anything outside the doctrine 2010-06-24T14:33:34 *** gedare has quit IRC 2010-06-24T14:42:03 gedare is right.. you wouldn't see a Catholic couple do this and a lot of other religious denominations wouldn't approve of this. I know the Catholic rule is that it has to occur in a church or you haev to get special permission from a bishop or higher 2010-06-24T14:42:16 but non-religious ceremonies are often just a big party 2010-06-24T14:42:43 religious ceremonies wouldn't happen like this but would have a big party somewhere besides the church 2010-06-24T14:43:01 probably the same whether you are Christian, Hundu, Islamist, Jewish, etc\ 2010-06-24T14:43:39 the parties would be real fun. :) 2010-06-24T14:47:59 does the change to fifo.c need to be committed to 4.10 also? 2010-06-24T14:49:36 in terms of the severity of the bug and importance of changes done? 2010-06-24T14:50:11 i mean i am not too sure about the criteria to push into a released version 2010-06-24T14:52:43 well it isn't released now and if it applies we committ to the branch :-D 2010-06-24T14:53:05 no real thought this early. But after 4.10.0, then we think and say "real bug", yes.. commit improvement no 2010-06-24T14:54:13 that way, i think it does apply to 4.10 :) 2010-06-24T14:58:04 done 2010-06-24T14:58:50 I am not sure about the usage of mkChangeLogList DrJoel 2010-06-24T14:59:48 it helps you write a ChangeLog entry in proper format 2010-06-24T15:00:27 mkChangeLogList -n -U "Bharath Suri " -p 1542/filesystem -m "Fix something." 2010-06-24T15:00:41 -n says include the date/name line. -U is your name :) -p XXX is optional and pr. -m "Message" 2010-06-24T15:00:50 2010-06-24 Bharath Suri 2010-06-24T15:00:50 PR 1542/filesystem 2010-06-24T15:00:50 PR 1585/filesystem 2010-06-24T15:00:50 * libfs/src/pipe/fifo.c: pipe_control_t was not deallocated if 2010-06-24T15:00:50 fifo_open() was attempted with (O_WRONLY|O_NONBLOCK). 2010-06-24T15:00:51 Mutex was locked too many times on this path and we needed an unlock. 2010-06-24T15:01:08 well it looks better in real life. That's how I write all changelog entries in rtems 2010-06-24T15:02:27 I was manually editing the ChangeLog. Does that produce some extra spaces? 2010-06-24T15:02:44 but this method seems easy and quick :) 2010-06-24T15:03:12 It is just harder to be sure you are formatting it correctly. This is simple. Handles wrapping, etc 2010-06-24T15:03:26 so what's the next area to look at? I suppose we need a coverage run 2010-06-24T15:03:54 the next big thing in the list seems to be the termios 2010-06-24T15:04:18 don't go there.. what's after that 2010-06-24T15:04:36 termios will need a special device driver and testing framework added 2010-06-24T15:05:09 I can try to write on it this weekend in the car .. but it will be hard infrastructure to get correct even for me 2010-06-24T15:05:31 in terms of sizes, there is error.c::rtems_verror 2010-06-24T15:06:28 there are a few more in fifo/pipe near the read/write... 2010-06-24T15:06:32 but not huge ones 2010-06-24T15:07:40 the easier ones are like the _realloc_r 2010-06-24T15:09:20 work on error.c first.. most of that can be hit by calling rtems_error and not causing a panic 2010-06-24T15:09:31 or abort'ing 2010-06-24T15:10:33 end one test with an abort and a second with a panic since those modes exit the application. I think this one will be easy for you 2010-06-24T15:10:53 You took enough beating with fifo, let's do some easy ones :-D 2010-06-24T15:11:11 okie :) 2010-06-24T15:11:24 DrJoel, question about using cvs... 2010-06-24T15:11:55 now i have my tree with a few changes, the best way to get the head of the tree is delete this and get a new one or just cvs update? 2010-06-24T15:12:15 I would just throw it away. You have enough changes. :) 2010-06-24T15:12:50 you mean get a new one after removing the old copy 2010-06-24T15:13:39 rtems_io_lookup_name looks easy also.. probably can be added to an existing IO test 2010-06-24T15:13:44 yes on rm 2010-06-24T15:14:32 also if you look at all of the uncovered ranges in getpwent.c, you will see a lot 2010-06-24T15:15:37 okay. shall i update the wiki page? http://www.rtems.org/wiki/index.php/RTEMS_Coverage_Analysis#Current_Status 2010-06-24T15:16:24 getpwent.c has 864 bytes uncovered so a fairly large set .. 2010-06-24T15:16:28 yes.. please do. 2010-06-24T15:17:31 I will put out a new erc32 coverage run when it finishes and I review it :_ 2010-06-24T15:20:58 *** arvind_khadri has quit IRC 2010-06-24T15:28:10 DrJoel, is it possible that I add comments to code as and when I understand? 2010-06-24T15:29:55 sure. That is very much appreciated 2010-06-24T15:30:03 did you see the comment earlier I made to gedare 2010-06-24T15:30:34 :) Easier to document and explain. The more time goes on, the more I want RTEMS to be a good example to analyze, understand, teach from and do research with research 2010-06-24T15:33:21 documentation would surely help. i would get myself involved in scribbling my understanding in comments. i could start using doxygen too 2010-06-24T15:33:32 *** arvind_khadri has joined #rtems 2010-06-24T15:33:33 where ever possible 2010-06-24T15:33:52 *** madrazr has quit IRC 2010-06-24T15:39:40 *** lekernel has quit IRC 2010-06-24T15:42:14 *** arvind_khadri has quit IRC 2010-06-24T15:48:35 DrJoel, I am leaving for today. will start with error and a few other wrapper functions tomorrow 2010-06-24T15:49:08 aniceberg: Improving the doxygen comments is a nice help. Doxygen is way newer than RTEMS and a lot of the Doxygen is manually converted from older docs 2010-06-24T15:49:12 night 2010-06-24T15:49:53 sure. that way there is a learning for me too and for the understanding too 2010-06-24T15:49:58 night... 2010-06-24T15:50:04 *** aniceberg has quit IRC 2010-06-24T16:10:36 *** exception13 has left #rtems 2010-06-24T16:56:01 *** cdcs_awy is now known as cdcs 2010-06-24T17:08:03 *** bubaflub has quit IRC 2010-06-24T17:12:26 * cdcs thinks printf debugging rules... 2010-06-24T17:13:59 it works some of the time... yesterday with aniceberg, I really had to use gdb to figure out that a mutex was locked twice but only unlocked once 2010-06-24T17:20:02 it works! 2010-06-24T17:21:57 what works? :-D How far have you gotten? 2010-06-24T17:23:04 no its not the driver...yet! :) 2010-06-24T17:23:48 just some NetBSD functions that are needed 2010-06-24T17:24:46 That's a great step! 2010-06-24T17:25:30 now heading for pool.h... http://netbsd.gw.com/cgi-bin/man-cgi?pool++NetBSD-current 2010-06-24T17:26:21 so i now have to learn rtems partitions... 2010-06-24T17:27:20 a partition is just a chain with an id.. use rtems_chain_XXX directly in what you are doing. Lowers requirements 2010-06-24T17:36:57 there is no way of increasing a partition length? Because pool.h and rtems partition are almost equivalent 2010-06-24T17:37:21 but netbsd pool is not static in number of buffers 2010-06-24T17:41:43 no.. you really want a chain and add elements to it. I think. Does memory ever get freed to the heap (e.g. free()) once it is placed into a pool? 2010-06-24T17:45:54 yes, it does. If the number of free elements is above a user defined number, the excess items will be returned to the system 2010-06-24T17:47:30 are they allocated one at a time? or in blocks? 2010-06-24T17:47:39 really still sounds like an rtems_chain is the solution 2010-06-24T17:48:11 Can you just port pool.h with minimal changes? BSD have their own chain code which is portable 2010-06-24T17:49:05 i have pool.h, but now i need to port_init, pool_get and pool_put 2010-06-24T17:49:23 working* 2010-06-24T17:49:48 * cdcs has a oversensitive Enter key 2010-06-24T17:51:52 ok.. 2010-06-24T17:54:19 but i agree with you, the best solution is rtems_chain 2010-06-24T18:03:13 * cdcs needs to go to sleep...Bye 2010-06-24T18:03:21 night 2010-06-24T18:03:42 *** cdcs has quit IRC 2010-06-24T18:07:44 *** DrJoel has quit IRC 2010-06-24T18:08:14 *** DrJoel has joined #rtems 2010-06-24T18:08:14 *** ChanServ sets mode: +o DrJoel 2010-06-24T19:34:17 *** n3oo3n_ has joined #rtems 2010-06-24T19:34:56 *** mwalle has quit IRC 2010-06-24T19:34:56 *** n3oo3n has quit IRC 2010-06-24T19:46:36 *** mwalle has joined #rtems 2010-06-24T23:41:34 *** groleo has joined #rtems 2010-06-24T23:50:16 *** dr__house has joined #rtems 2010-06-24T23:52:24 *** aniceberg has joined #rtems 2010-06-24T23:52:47 *** mpanetta has quit IRC 2010-06-24T23:54:32 *** mpanetta has joined #rtems 2010-06-24T23:59:14 *** mpanetta has quit IRC 2010-06-25T00:06:09 *** mpanetta has joined #rtems 2010-06-25T00:15:22 *** groleo has quit IRC 2010-06-25T00:45:30 *** aniceberg has quit IRC 2010-06-25T01:00:17 *** groleo has joined #rtems 2010-06-25T01:00:17 *** aniceberg has joined #rtems 2010-06-25T01:20:26 *** madrazr has joined #rtems 2010-06-25T01:21:52 *** tsm_ice9 has joined #rtems 2010-06-25T01:22:22 Hi, does anybody know whether RTEMS apps are in elf or coff format? Does it differ from arch to arch? 2010-06-25T01:26:23 n/m, it looks like elf is assumed for my target, so that is fine.. 2010-06-25T02:22:11 *** kiwichris has joined #rtems 2010-06-25T02:40:46 *** sebhub has joined #rtems 2010-06-25T02:41:11 good morning 2010-06-25T02:44:35 Hi Seb 2010-06-25T02:44:43 Love the malloc detector. 2010-06-25T02:50:42 yes, i was so plagued with bugs during usb testing that I needed to write this one 2010-06-25T02:51:31 Can the header be moved by an offset to allow for the marker with it appearing in the struct ? 2010-06-25T02:51:35 so, I am trying to run the hello.exe sample through gdb/gdbstubs, I can get the program code loaded into RAM just fine, but when I try to run, I get an illegal instruction signal at the very first address of program code (sh architecture)... is there any reason why that should be? 2010-06-25T02:51:49 I mean without it appearing 2010-06-25T02:52:09 This would make the helper plugable and very cool. 2010-06-25T02:52:24 rather than just cool :) 2010-06-25T02:52:43 for fun, I tried using sh-elf-gdb instead of sh-rtems-gdb to run the code, and no illegal instruction, but I got a seg fault somewhere... 2010-06-25T02:54:55 I am off out for the night. Seb, best of luck with the assert chat 2010-06-25T02:54:57 *** kiwichris has quit IRC 2010-06-25T02:59:52 *** groleo has quit IRC 2010-06-25T03:11:02 *** madrazr has quit IRC 2010-06-25T03:43:54 *** madrazr has joined #rtems 2010-06-25T03:56:08 *** aniceberg has quit IRC 2010-06-25T05:05:43 *** exception13 has joined #rtems 2010-06-25T05:16:08 *** lekernel has joined #rtems 2010-06-25T05:52:58 *** cdcs has joined #rtems 2010-06-25T05:54:06 *** madrazr has quit IRC 2010-06-25T05:54:55 *** madrazr has joined #rtems 2010-06-25T06:02:00 *** lekernel has quit IRC 2010-06-25T06:08:25 *** lekernel has joined #rtems 2010-06-25T07:05:19 *** joel_ has joined #rtems 2010-06-25T07:12:31 *** zwj has joined #rtems 2010-06-25T07:13:07 *** mpanetta has quit IRC 2010-06-25T07:15:03 *** mpanetta has joined #rtems 2010-06-25T07:19:52 *** joel_ has quit IRC 2010-06-25T07:30:08 *** mpanetta has quit IRC 2010-06-25T07:31:09 *** mpanetta has joined #rtems 2010-06-25T07:43:35 *** exception13 has left #rtems 2010-06-25T07:50:14 *** kv has joined #rtems 2010-06-25T07:57:12 *** zhangwenjie has joined #rtems 2010-06-25T07:57:13 *** zwj has quit IRC 2010-06-25T08:13:05 *** zhangwenjie is now known as zwj 2010-06-25T08:17:09 tsm_ice9: can you run a non-RTEMS program compiled with the other toolset on your hardware? Can you debug with their tools? 2010-06-25T08:18:04 zwj: how is the sequenced initialization going? 2010-06-25T08:18:23 DrJoel, yes I have gotten bare sh code to run on my hardware. I haven't tried using gdb with it though. 2010-06-25T08:19:25 tsm_ice9: what I do in these cases is compare the crt0 with our start.S for the board, the linkcmds they use with the one we use. The tools should be equivalent since sh-rtems is a small wrap around sh-elf in the config files 2010-06-25T08:20:03 What Ralf said is true except that I don't think it should be removed and it is tested regularly on the simulator in gdb. We even run the gcc testsuite on it. 2010-06-25T08:20:16 the linker script on the debug stub is a little different from the RTEMS one 2010-06-25T08:20:28 DrJoel: i have make a sequenced initialization api patch and let sebhub comment. now i am going to creat PR for it 2010-06-25T08:20:44 the debug stub doesn't have the external SRAM defined at all in the linker script (though that doesn't prevent me from loading the program code into that region) 2010-06-25T08:20:55 and the stacks are at slightly different addresses, though both in on-chip RAM 2010-06-25T08:21:03 zwj: :D so many big patches outstanding that need community review (my per cpu and opt man removal at the top of the list) 2010-06-25T08:22:02 what about the crt0 they provide vs the start.S used by RTEMS. 2010-06-25T08:22:13 I will check that 2010-06-25T08:23:02 It is possible that the linkcmds isn't quite right with the relatively recent changes where every BSP uses the same code to split the free RAM into workspace and C program heap. Look very carefully at the linkcmds and compare it to the one for shsim 2010-06-25T08:23:02 hmm, I don't see a crt0 in the source of the debug stub 2010-06-25T08:23:26 shsim runs on the simulator in gdb. Your program might run there also. Compare against it also 2010-06-25T08:23:51 the readme for shsim says that anything that tries to read/write the SH internal registers won't work though 2010-06-25T08:24:04 so beyond the "hello" program, shsim seems not useful to us 2010-06-25T08:24:47 except that it does work. So the linkcmds is right. :D One line out of order or misaligned, etc could cause a failure 2010-06-25T08:25:25 so, with kpit's debug stub, the startup code appears to be in one of the c files instead of a crt0 2010-06-25T08:28:59 *** _Lucretia_ has quit IRC 2010-06-25T08:30:30 well, the addresses are different between shsim and gensh2 linkcmds 2010-06-25T08:32:04 ah OK the stuff about heap start and heap end, workspace start... let me see 2010-06-25T08:32:23 *** _Lucretia_ has joined #rtems 2010-06-25T08:33:16 in the shsim version, the line after _WorkspaceStart = . ; ' 2010-06-25T08:33:20 is commented out 2010-06-25T08:36:36 so it looks like _WorkSpaceStart = . ; followed directly by PROVIDE(_WorkSpaceEnd = .); 2010-06-25T08:40:40 I don't quite understand that because it looks to me like it's putting the workspace start and end in the same place? 2010-06-25T08:44:45 which version of RTEMS are you using? That looks old 2010-06-25T08:44:50 4.9 2010-06-25T08:45:21 That is a bug .. but the 4.10 and CVS head version will likely work better and you will be in a better position to report issues 2010-06-25T08:45:45 It is now based on_WorkAreaBase and RamSize 2010-06-25T08:46:41 I switched to 4.9 because I had a program that I had compiled at home on 4.9 that had an error on 4.10 when I tried it out on my colleague's machine 2010-06-25T08:47:46 now I think I have an idea of why all that is true though.. 2010-06-25T08:50:17 OK, on monday morning I will try everything again with 4.10 2010-06-25T08:51:13 *** cdcs is now known as cdcs_awy 2010-06-25T08:51:18 thanks so much for the help :) it's the end of the day here so I am headed home for now.. 2010-06-25T08:52:29 *** tsm_ice9 has left #rtems 2010-06-25T09:00:32 *** kv has quit IRC 2010-06-25T09:01:16 *** bubaflub has joined #rtems 2010-06-25T09:02:59 *** madrazr has quit IRC 2010-06-25T09:39:32 *** sebhub has quit IRC 2010-06-25T10:11:34 *** madrazr has joined #rtems 2010-06-25T10:15:40 *** madrazr has quit IRC 2010-06-25T10:16:26 *** madrazr has joined #rtems 2010-06-25T10:58:05 *** gedare has joined #rtems 2010-06-25T11:05:30 bubaflub: how's parrot going? 2010-06-25T11:05:37 * DrJoel waves at gedare 2010-06-25T11:06:02 hey drjoel 2010-06-25T11:06:11 DrJoel: pretty good... just working on a linking problem to load parrot in QEMU 2010-06-25T11:06:23 bubaflub: getting closer. :) 2010-06-25T11:06:37 gedare: I think I merged all of your PRs 2010-06-25T11:06:48 yeah looks like it, good deal 2010-06-25T11:07:00 mostly little nits, but helps me to focus on what i really want to get out of thread 2010-06-25T11:07:46 that's why I was trying to get them merged... I know how things like that build up and confuse things 2010-06-25T11:08:00 *nod* i hope your percpu gets in soon 2010-06-25T11:08:20 because i will probably end up moving the Thread_Heir/Executing out of that header and into the scheduler header 2010-06-25T11:08:38 I was going to send a ping on it. I think unless someone comments negatively by Monday, I should merge it 2010-06-25T11:08:48 ok that sounds great! 2010-06-25T11:09:42 i'm closing in on a workable refactoring (without configuration) that can support the existing scheduling policy 2010-06-25T11:10:01 I can't wait to see it. 2010-06-25T11:10:17 I think it is cool that we have your work and the Portugese? students to push at it. 2010-06-25T11:10:21 i feel pretty good about it, it seems to be coming together cleanly. 2010-06-25T11:10:38 Yeah he's from Portugal, his code isn't actually too bad 2010-06-25T11:10:57 he has two versions of it, so I got confused because one is a simple binary search tree for a ready quuee 2010-06-25T11:11:11 I mispelt it, but somehow that makes more sense than queue :p 2010-06-25T11:11:59 I'm hoping it is actually decently fun to implement schedulers after this, hopefully I don't get carried away with it though :) 2010-06-25T11:12:39 that reminds me... is there a good place to put "data structure" implementations like search trees etc 2010-06-25T11:12:41 *** cdcs_awy is now known as cdcs 2010-06-25T11:13:03 including rtems chains, also, I suppose 2010-06-25T11:14:08 Does it make sense to have code outside of the SCORE being used inside the SCORE? or does using a data structure in SCORE mean the implementation has to live there too 2010-06-25T11:14:21 there are no standard ones now 2010-06-25T11:14:29 I think it is something we should consider 2010-06-25T11:14:31 it means its implemeentation should be there also. self-contained 2010-06-25T11:14:41 That's what I was concerned about :) 2010-06-25T11:14:46 yes.. it does make sense for scheduler implementations 2010-06-25T11:15:00 well, maybe we can create a separate subdirectory for them to live in 2010-06-25T11:15:06 I think it would make the source tree cleaner 2010-06-25T11:15:20 otherwise, we will end up with chainXXX, rbtreeXXX, and who knows what else 2010-06-25T11:15:39 but maybe it won't be a big deal either... guess we can deal with it when it happens 2010-06-25T11:16:03 (I would also then try to separate the priority bitmap implementation as its own data structure) 2010-06-25T11:16:20 be warned ... the filenames in the cpukit have to be unique because they all get merged into a single .a . 2010-06-25T11:16:34 I think a separate handler for that would be great 2010-06-25T11:17:44 Alright. Something I'll keep in my head for awhile. 2010-06-25T11:18:22 FWIW, I copied the threadq (block chain) code for the readyq, so we will get FIFO ready queue for free (for TinyRTEMS project) 2010-06-25T11:18:57 you mean one single chain for all priorities? 2010-06-25T11:19:12 yeah I think that's how it would work, I haven't really played with it though 2010-06-25T11:19:31 there is a "discipline" associated with any readyq 2010-06-25T11:19:36 and it can be FIFO or Priority 2010-06-25T11:19:48 I will have to see code :-D 2010-06-25T11:19:54 yeah 2010-06-25T11:20:28 we'll get there. :) 2010-06-25T11:20:38 you have another class coming up, i saw! 2010-06-25T11:21:00 right around the time for midterm evaluations 2010-06-25T11:23:07 * DrJoel thinks the evaluations won't be a problem 2010-06-25T11:23:40 yeah. 2010-06-25T11:25:14 *** zwj has quit IRC 2010-06-25T11:31:04 the more i think about it, separating the data structures in score would probably help the code in general... including timestamps, msgs, etc... ambitious though :) 2010-06-25T11:31:52 beyond the scope of your project :-D 2010-06-25T11:31:54 ya 2010-06-25T11:32:13 speaking of which... *back to work* 2010-06-25T11:49:12 *** DrJoel has quit IRC 2010-06-25T12:17:20 *** groleo has joined #rtems 2010-06-25T12:18:46 *** groleo has joined #rtems 2010-06-25T12:52:11 *** groleo has quit IRC 2010-06-25T13:15:54 *** gedare has quit IRC 2010-06-25T13:28:41 *** exception13 has joined #rtems 2010-06-25T13:51:57 *** aniceberg has joined #rtems 2010-06-25T14:05:31 *** bubaflub has quit IRC 2010-06-25T14:17:32 *** bubaflub has joined #rtems 2010-06-25T14:17:47 *** lekernel has quit IRC 2010-06-25T14:28:45 *** lekernel has joined #rtems 2010-06-25T14:53:21 *** tuxmaniac has joined #rtems 2010-06-25T15:02:20 *** methril_work has joined #rtems 2010-06-25T15:03:12 hi!! someone using Colfire boards? 2010-06-25T15:22:11 *** aniceberg has quit IRC 2010-06-25T15:33:25 *** lekernel has quit IRC 2010-06-25T15:36:58 *** tuxmaniac has quit IRC 2010-06-25T15:39:44 *** lekernel has joined #rtems 2010-06-25T15:58:06 *** lekernel has quit IRC 2010-06-25T15:59:38 *** bubaflub has quit IRC 2010-06-25T16:00:33 *** lekernel has joined #rtems 2010-06-25T16:02:40 *** cdcs has quit IRC 2010-06-25T16:19:27 *** madrazr has quit IRC 2010-06-25T16:49:24 *** dr__house has quit IRC 2010-06-25T17:34:32 *** exception13 has left #rtems 2010-06-25T17:35:29 *** methril_work has quit IRC 2010-06-25T20:03:02 *** methril_ has joined #rtems 2010-06-25T22:08:46 *** kiwichris has joined #rtems 2010-06-26T02:05:21 *** zwj has joined #rtems 2010-06-26T02:14:27 *** zwj has quit IRC 2010-06-26T02:53:08 *** kiwichris has quit IRC 2010-06-26T03:04:05 *** madrazr has joined #rtems 2010-06-26T03:38:00 *** methril_ has quit IRC 2010-06-26T03:53:15 *** exception13 has joined #rtems 2010-06-26T03:54:23 *** methril_ has joined #rtems 2010-06-26T05:12:19 *** madrazr has left #rtems 2010-06-26T05:13:58 *** exception13 has left #rtems 2010-06-26T05:23:48 *** groleo has joined #rtems 2010-06-26T05:42:41 *** dr__house has joined #rtems 2010-06-26T07:14:33 *** tsm_ice9 has joined #rtems 2010-06-26T08:31:58 *** madrazr has joined #rtems 2010-06-26T08:50:02 *** dr__house has quit IRC 2010-06-26T09:03:13 *** dr__house has joined #rtems 2010-06-26T09:12:51 *** tsm_ice9 has quit IRC 2010-06-26T09:32:13 *** gedare has joined #rtems 2010-06-26T10:13:56 *** madrazr has quit IRC 2010-06-26T10:25:57 *** gedare has quit IRC 2010-06-26T10:49:28 *** groleo has quit IRC 2010-06-26T10:55:58 *** gedare has joined #rtems 2010-06-26T11:16:52 *** kuzew has quit IRC 2010-06-26T11:17:49 *** kuzew has joined #rtems 2010-06-26T11:19:13 *** gedare has quit IRC 2010-06-26T11:24:31 *** arvind_khadri has joined #rtems 2010-06-26T11:51:17 *** arvind_khadri has quit IRC 2010-06-26T11:54:10 *** arvind_khadri has joined #rtems 2010-06-26T12:02:51 *** madrazr has joined #rtems 2010-06-26T13:00:19 *** lekernel has quit IRC 2010-06-26T13:56:19 *** lekernel has joined #rtems 2010-06-26T16:09:17 *** dr__house has quit IRC 2010-06-26T17:30:33 *** madrazr has quit IRC 2010-06-26T18:20:33 *** exception13 has joined #rtems 2010-06-26T18:22:33 *** exception13 has left #rtems 2010-06-26T21:24:31 *** zwj has joined #rtems 2010-06-26T21:25:13 *** mpanetta has quit IRC 2010-06-26T21:27:01 *** mpanetta has joined #rtems 2010-06-26T22:51:18 *** dr__house has joined #rtems 2010-06-27T00:35:27 *** arvind_khadri has quit IRC 2010-06-27T01:24:50 *** madrazr has joined #rtems 2010-06-27T02:17:42 *** lekernel has quit IRC 2010-06-27T02:18:07 *** lekernel has joined #rtems 2010-06-27T02:29:12 *** lekernel has quit IRC 2010-06-27T03:04:52 *** lekernel has joined #rtems 2010-06-27T03:37:13 *** madrazr has quit IRC 2010-06-27T04:46:00 *** madrazr has joined #rtems 2010-06-27T04:56:10 *** mpanetta has quit IRC 2010-06-27T04:57:18 *** mpanetta has joined #rtems 2010-06-27T05:13:25 *** mpanetta has quit IRC 2010-06-27T05:14:27 *** mpanetta has joined #rtems 2010-06-27T06:47:59 *** lekernel has quit IRC 2010-06-27T07:17:04 *** exception13 has joined #rtems 2010-06-27T07:44:40 *** lekernel has joined #rtems 2010-06-27T08:05:20 *** exception13 has left #rtems 2010-06-27T08:05:22 *** exception13 has joined #rtems 2010-06-27T08:34:56 *** madrazr has quit IRC 2010-06-27T08:48:50 *** madrazr has joined #rtems 2010-06-27T09:30:35 *** madrazr has quit IRC 2010-06-27T10:00:49 *** backhappy has joined #rtems 2010-06-27T12:00:01 *** madrazr has joined #rtems 2010-06-27T12:10:31 *** arvind_khadri has joined #rtems 2010-06-27T13:13:16 *** alinrus has joined #rtems 2010-06-27T14:16:40 *** mpanetta has quit IRC 2010-06-27T14:18:14 *** mpanetta has joined #rtems 2010-06-27T14:39:32 *** zwj has quit IRC 2010-06-27T14:55:33 *** tuxmaniac has joined #rtems 2010-06-27T14:59:24 *** dr__house has quit IRC 2010-06-27T15:48:55 *** madrazr has quit IRC 2010-06-27T16:08:20 *** exception13 has left #rtems 2010-06-27T16:11:39 *** groleo has joined #rtems 2010-06-27T16:24:28 *** tuxmaniac has quit IRC 2010-06-27T16:29:10 *** groleo has quit IRC 2010-06-27T17:09:39 hi guys 2010-06-27T17:09:46 is this normal that the POSIX api does not compile ? 2010-06-27T17:10:09 i got this : ../../../../../../rtems/c/src/../../cpukit/posix/src/pthread.c:82: error: 'struct sched_param' has no member named 'sched_ss_init_budget' 2010-06-27T17:13:49 works for me but it's a couple of weeks old 2010-06-27T17:15:23 it's the first time a compile with the posix 2010-06-27T17:15:28 i always did --disable-posix 2010-06-27T17:15:48 i'm working with posix for gsoc and didn't have any issues 2010-06-27T17:15:49 i'm doing --disable-itron, is it ok ? 2010-06-27T17:16:08 i don't think you need itron 2010-06-27T17:16:18 is there a reason you use posix? 2010-06-27T17:16:24 maybe i'm doing it wrong :) do i have to put something special in the end-user application ? 2010-06-27T17:16:33 like APPLICATION_NEEDS_POSIX stuff ? 2010-06-27T17:18:12 you'll need to have the POSIX_Init and have at least one thread 2010-06-27T17:18:35 #define CONFIGURE_MAXIMUM_POSIX_THREADS 2 2010-06-27T17:18:44 #define CONFIGURE_POSIX_INIT_THREAD_TABLE 2010-06-27T17:18:49 oh ok i didn't put that ! 2010-06-27T17:19:05 but i don't think it's related to the error 2010-06-27T17:20:09 i need to do a POSIX_Init(); at the start of my application ? 2010-06-27T17:24:06 rtems/testsuites/psxtests/ 2010-06-27T17:24:12 there are a lot of examples there 2010-06-27T17:24:36 try psx07 2010-06-27T17:25:27 oh i see 2010-06-27T17:25:35 that changes the basis of the application 2010-06-27T17:25:49 there are 3 api's you can use 2010-06-27T17:25:57 i can now longer use rtems_task Init( 2010-06-27T17:25:57 posix, classic rtems, and itron 2010-06-27T17:26:00 if i understand correctly 2010-06-27T17:26:06 no longer* 2010-06-27T17:26:39 the online documentation specifies that you can use these api's simultaniously 2010-06-27T17:26:53 but I thing you can have only one init task 2010-06-27T17:27:02 think 2010-06-27T17:27:32 actually i was trying to compile some code using the Framebuffer api 2010-06-27T17:27:54 and i have pthread_mutex_lock() inside the framebuffer driver 2010-06-27T17:28:07 so, correctly if i'm wrong, i must use the POSIX api 2010-06-27T17:28:56 and now that i enable the posix api, i do not have anymore the "pthread_mutex_lock undefined function" error, but the one i pasted 2010-06-27T17:29:30 strange since there are no updates to ptheread.c since april 25 2010-06-27T17:30:18 and i'm using cvs head as of june 06 2010-06-27T17:30:43 hum my cvs head is a little more recent i think 2010-06-27T17:31:15 i'm searching for the place where the sched_param struct is declared 2010-06-27T17:31:20 to see if there isn't some #ifdef 2010-06-27T17:35:18 i cannot find the declaration of this struct ... 2010-06-27T17:37:34 struct sched_param 2010-06-27T17:37:34 { 2010-06-27T17:37:34 int __sched_priority; 2010-06-27T17:37:34 }; 2010-06-27T17:38:36 oh good you found it :) 2010-06-27T17:38:38 where is it ? 2010-06-27T17:42:18 ok i think i need _POSIX_SPORADIC_SERVER 2010-06-27T17:44:05 it seems so 2010-06-27T17:44:27 do you know what it means ? 2010-06-27T17:45:35 have no idea :) 2010-06-27T17:45:48 ok thanks anyway :p 2010-06-27T17:46:09 is your gsoc going ok ? 2010-06-27T17:47:28 the only problem is i haven't received a response from my mentor in about 3 weeks 2010-06-27T17:47:33 :) 2010-06-27T17:47:59 aouch 2010-06-27T17:48:10 is he in hollydays ?^^ 2010-06-27T17:48:37 if you're doing ok without your mentor that's even better ! :p 2010-06-27T17:48:46 don't know, last time he said something about taxes forms and a 2 days vacation 2010-06-27T17:49:10 he'll probably catch up pretty soon, i hope :D 2010-06-27T17:50:33 hope too :) 2010-06-27T17:50:39 it seems i'm doing it wrong 2010-06-27T17:50:56 i put the #define _POSIX_SPORADIC_SERVER at the beginning of the application 2010-06-27T17:51:02 it hasn't change anything 2010-06-27T17:51:08 so i guess i have to enable it another way 2010-06-27T17:51:17 but how ... 2010-06-27T17:52:36 i'm looking at the default values and it seems that you have to define it as #define _POSIX_SPORADIC_SERVER 1 2010-06-27T17:52:47 hum ok i think i understand, sporadic is a scheduler 2010-06-27T17:53:05 since it's defined by default as -1 and by default it's disabled 2010-06-27T17:53:21 it seems really weird that i have to use a special scheduler just to use POSIX api 2010-06-27T17:53:25 i must have somethign wrong .. 2010-06-27T17:54:33 i think the /cpukit/posix/src/pthread.c line 8Ã2 just needs a #ifdef 2010-06-27T17:54:40 line 82* 2010-06-27T17:55:16 do you have ifdefs in your /cpukit/posix/src/pthread.c around line 8Ã2 ? 2010-06-27T17:55:32 no 2010-06-27T17:56:00 the thing is sched_param is a struct containing an int 2010-06-27T17:56:38 http://cygwin.ru/ml/newlib/2000/msg00414.html 2010-06-27T17:56:40 look at this 2010-06-27T17:56:57 the struct may contain a little more with some #defines 2010-06-27T17:58:29 i know 2010-06-27T17:59:00 i'm putting #ifdefs around the sporadic specific functions 2010-06-27T17:59:03 maybe it will help 2010-06-27T18:00:29 http://www.rtems.org/irclogs/html/2010/rtems-18.html 2010-06-27T18:00:33 someone already had this problem 2010-06-27T18:02:25 of course there's no member sched_initial_budget 2010-06-27T18:02:31 it's called ss_initial_budget 2010-06-27T18:04:06 hummmm ok 2010-06-27T18:05:02 change that to ss_initial_budget at line 82 2010-06-27T18:05:08 that would be the error i guess :) 2010-06-27T18:05:08 thanks 2010-06-27T18:05:19 and let's see if it's compiling 2010-06-27T18:05:21 strange that there is such a big error 2010-06-27T18:07:19 if it works send a bug report to bugzilla and a patch 2010-06-27T18:07:55 yes it compiles better :) 2010-06-27T18:08:04 there is another error of the same type somewhere else 2010-06-27T18:08:11 there are a loooot 2010-06-27T18:08:23 i just grep-ed the whole source tree of rtems 2010-06-27T18:08:30 and this is everywhere 2010-06-27T18:08:33 :( 2010-06-27T18:08:44 that's strange that you can compile posix while i can't 2010-06-27T18:08:59 on the bright side, we just fixed a bug :)) 2010-06-27T18:09:06 yes that's good :) 2010-06-27T18:10:28 it appears 38 times throughout the tree 2010-06-27T18:11:54 /home/fallen/toolchains/lm32-rtems/rtems-4.10/bin/../lib/gcc/lm32-rtems4.10/4.4.3/../../../../lm32-rtems4.10/include/sys/types.h:351: error: field 'schedparam' has incomplete type 2010-06-27T18:12:05 hum hum it appears to be a toolchain error too 2010-06-27T18:17:33 you should be using the rtems-4.11 toolchain 2010-06-27T18:17:34 http://www.rtems.org/irclogs/html/2010/rtems-18.html 2010-06-27T18:18:11 even if i'm working on rtems 4.10 ? 2010-06-27T18:18:26 in that case no 2010-06-27T18:18:57 are you using fedora 2010-06-27T18:18:57 ? 2010-06-27T18:21:20 nop :/ 2010-06-27T18:21:23 ubuntu 2010-06-27T18:21:40 that's not very easy to get the toolchain on ubuntu 2010-06-27T18:22:01 last time i got mad with the rpm and cpio lzma stuff 2010-06-27T18:22:24 lekernel sent me a tar.gz of the toolchain uncompressed ^^ 2010-06-27T18:23:03 ok i think i figured it out 2010-06-27T18:23:26 i see that in newlib 1.18 they replaced ss_initial_budget with sched_ss_init_budget 2010-06-27T18:24:22 so you need to have gcc built with newlib 1.18 2010-06-27T18:24:40 yes i'm just out dated, that seems more logical than rtems having a bloated posix api :) 2010-06-27T18:24:42 in order for your toolchain to build that application of yours 2010-06-27T18:25:33 last time i checked you could build .deb packages from the rpms provided with alien 2010-06-27T18:25:38 on lucid lynx 2010-06-27T18:26:53 should i get an updated version of toolchain 4.10 ? or the 4.11 ? 2010-06-27T18:27:05 i would go for 4.11 2010-06-27T18:27:25 because as far as i know you should pretty much keep in touch with rtems-head 2010-06-27T18:27:26 ok i'm gonna check maybe this time i won't become mad with alien 2010-06-27T18:27:30 for your gsoc project 2010-06-27T18:27:59 yes i guess you're right :) 2010-06-27T18:28:08 if you can't get alien working ping me and i'll send you my toolchain from ubuntu 2010-06-27T18:29:41 ok thanks a lot :) 2010-06-27T18:30:09 no problem 2010-06-27T18:31:30 *** arvind_khadri has quit IRC 2010-06-27T18:39:49 sudo alien -k *.rpm seems to be working 2010-06-27T18:40:50 could you list the rpms you downloaded 2010-06-27T18:40:52 ? 2010-06-27T18:41:37 just to be sure 2010-06-27T18:41:53 ftp://ftp.rtems.org/pub/rtems/linux/4.11/fedora/13/i386/ 2010-06-27T18:41:58 the ones from there 2010-06-27T18:42:05 rtems-4.11-lm32****** 2010-06-27T18:43:03 you also need ftp://ftp.rtems.org/pub/rtems/linux/4.11/fedora/13/i386/rtems-4.11-autoconf-2.65-1.fc13.noarch.rpm 2010-06-27T18:43:07 ftp://ftp.rtems.org/pub/rtems/linux/4.11/fedora/13/i386/rtems-4.11-automake-1.11.1-1.fc13.noarch.rpm 2010-06-27T18:43:14 ok toolchain installed :) 2010-06-27T18:43:36 i don't know the f*** i did last time but it was really simple this time 2010-06-27T18:43:37 *** arvind_khadri has joined #rtems 2010-06-27T18:43:42 ftp://ftp.rtems.org/pub/rtems/linux/4.11/fedora/13/i386/rtems-4.11-binutils-common-2.20.1-2.fc13.noarch.rpm 2010-06-27T18:43:45 oh yes i almost forget about them thx :) 2010-06-27T18:43:53 ftp://ftp.rtems.org/pub/rtems/linux/4.11/fedora/13/i386/rtems-4.11-gcc-common-4.5.0-14.fc13.noarch.rpm 2010-06-27T18:44:01 ftp://ftp.rtems.org/pub/rtems/linux/4.11/fedora/13/i386/rtems-4.11-gdb-common-7.1-2.fc13.noarch.rpm 2010-06-27T18:44:17 ftp://ftp.rtems.org/pub/rtems/linux/4.11/fedora/13/i386/rtems-4.11-newlib-common-1.18.0-14.fc13.noarch.rpm 2010-06-27T18:44:30 are you sure i need the common ? :o 2010-06-27T18:44:59 pretty sure as far as i remember 2010-06-27T18:45:11 there's no harm done either way 2010-06-27T18:45:16 hum ok ! 2010-06-27T18:45:27 will do it 2010-06-27T18:47:13 after that you just need to export the path 2010-06-27T18:48:06 yes 2010-06-27T18:48:15 i get an error with alien -k on the autoconf rpm :/ 2010-06-27T18:48:42 i think you're safe anyway with autoconf on ubuntu 10.04 2010-06-27T18:48:46 *** methril_ has quit IRC 2010-06-27T18:48:49 just check if it's 2.65 2010-06-27T18:48:57 as far as i remember it is 2010-06-27T18:49:01 yes it is 2010-06-27T18:49:11 there are no rtems specific patches to that 2010-06-27T18:49:21 chown: cannot reach `rtems-4.11-autoconf-2.65//opt/rtems-4.11/share/info/dir': no such file or directory 2010-06-27T18:49:32 don't worry 2010-06-27T18:49:40 you don't need that anyway 2010-06-27T18:49:54 yes but it failed to produce a .deb 2010-06-27T18:50:09 you already have autoconf 2.65 installed on ubuntu 2010-06-27T18:50:15 oh ok :) 2010-06-27T18:50:16 good ! 2010-06-27T18:50:33 and autoconf has no rtems specific patches applied 2010-06-27T18:50:33 yes i have it 2010-06-27T18:50:39 ok excellent 2010-06-27T18:50:54 they just provide the full toolchain in case you run 9.10 for example 2010-06-27T18:51:28 btw, on what project are you working this summer? 2010-06-27T18:51:33 same error for automake but i already have the same version 2010-06-27T18:51:45 i'm porting RTEMS on the Milkymist System-on-Chip :) 2010-06-27T18:51:48 which is lm32 arch 2010-06-27T18:51:54 (a softcore on FPGA) 2010-06-27T18:52:23 i just used a basis spartan3 a few times 2010-06-27T18:52:33 basys 2010-06-27T18:53:12 i have one :) 2010-06-27T18:53:29 me too but i haven't used it in about 2 years :)) 2010-06-27T18:53:32 hehe 2010-06-27T18:53:40 it's a small board but nice to begin with 2010-06-27T18:55:00 i cannot produce .deb for gcc/gdb/binutils commons 2010-06-27T18:55:32 just forget about them 2010-06-27T18:55:33 and newlib-common 2010-06-27T18:55:59 just use the ones you managed to build and see if you can build your project 2010-06-27T18:56:19 they're probably not important, we'll see :)) 2010-06-27T18:56:53 checking whether the C compiler works... no 2010-06-27T18:56:53 configure: error: in `/home/fallen/bsp-lm32-milkymist/lm32-rtems4.11/c/lm32_milkymist': 2010-06-27T18:56:56 configure: error: C compiler cannot create executables 2010-06-27T18:57:30 did you checkout rtems-head from cvs 2010-06-27T18:57:42 nop 2010-06-27T18:57:53 that may be the problem 2010-06-27T18:57:53 it's probably not a good idea to use 4.10 with the 4.11 toolchain 2010-06-27T18:58:11 yes i just wanted to avoid destroying my entire git repo :p 2010-06-27T18:58:36 i think rtems had a git repo 2010-06-27T18:58:57 not sure if it still works 2010-06-27T19:00:57 before ruining your git repo just checkout rtems-head and do a build with your toolchain, just to check everything is ok 2010-06-27T19:01:57 yes :) 2010-06-27T19:02:13 do yuo know how to tell cvs to checkout somewhere alinrus ? 2010-06-27T19:02:31 what do you mean by that? 2010-06-27T19:02:45 to tell cvs to put the files not in `pwd` 2010-06-27T19:05:03 i'm not a cvs guy, I use git :) 2010-06-27T19:05:06 whatever i will do a mkdir before 2010-06-27T19:05:08 me too :p 2010-06-27T19:05:16 *** methril_ has joined #rtems 2010-06-27T19:06:01 *** arvind_khadri has quit IRC 2010-06-27T19:06:42 humm i tried this : cvs -d :pserver:anoncvs@www.rtems.com:/usr1/CVS -z 9 co -rrtems-4-11-branch rtems 2010-06-27T19:06:49 but it just waits and outputs nothing 2010-06-27T19:09:08 ok the cvs seems to be down 2010-06-27T19:09:51 cvs -d :pserver:anoncvs@www.rtems.com:/usr1/CVS login 2010-06-27T19:09:56 i tried that 2010-06-27T19:10:32 nothing 2010-06-27T19:10:32 cvs -d :pserver:anoncvs@www.rtems.com:/usr1/CVS -z 9 co rtems 2010-06-27T19:10:32 the last one works ! 2010-06-27T19:10:49 i don't know which branch or version it is checking out 2010-06-27T19:11:15 it's head 2010-06-27T19:11:25 not specifying any branch 2010-06-27T19:11:44 so i may do cvs branch 4.11 or something like that after checking out 2010-06-27T19:11:56 no need to do that 2010-06-27T19:12:12 this will become 4.11 at some point 2010-06-27T19:12:28 it's the development branch 2010-06-27T19:12:44 4.10 is stable 2010-06-27T19:12:55 oh ok the 4.11 is not tagged yet 2010-06-27T19:12:58 not released 2010-06-27T19:13:00 yes 2010-06-27T19:13:06 got it 2010-06-27T19:14:38 how do you manage to keep a clean git repo, knowing that there is a CVS repo inside your git repo ? 2010-06-27T19:14:49 *** arvind_khadri has joined #rtems 2010-06-27T19:14:50 i deleted all the CVS directories of my previous repo 2010-06-27T19:15:01 but i cannot sync with upstream anymore as a result 2010-06-27T19:16:53 i was under the impression that we should use google code so i use a svn repo 2010-06-27T19:17:02 the way i do it 2010-06-27T19:17:08 and the way you could do it 2010-06-27T19:17:17 after you checkout from cvs 2010-06-27T19:17:22 just do a git init 2010-06-27T19:17:28 oh crap, i'm gonna have to deal with cvs, svn and git all together 2010-06-27T19:17:38 and then push the whole thing in to github 2010-06-27T19:17:44 yes sure 2010-06-27T19:17:45 then 2010-06-27T19:17:48 you could 2010-06-27T19:17:53 do cvs update -dP 2010-06-27T19:17:59 and then push 2010-06-27T19:18:06 but it will store in the git all the CVS crap files 2010-06-27T19:18:31 you can't have your cake and eat it too 2010-06-27T19:18:32 :)) 2010-06-27T19:18:34 and when i will do cvs up it will modifies all that files and the git diff will be very ugly 2010-06-27T19:19:03 hum :p i didn't know the expression ! 2010-06-27T19:19:09 you can only hope that it will not modify the files you are working on 2010-06-27T19:19:16 at least not too much 2010-06-27T19:19:33 you're probably be working on a branch 2010-06-27T19:19:42 and do cvs update on master 2010-06-27T19:20:13 in france we say "you cannot have the butther, and the money of the butter" 2010-06-27T19:21:14 it had to be related to food :)) 2010-06-27T19:21:46 the french always good with food 2010-06-27T19:22:03 hehe =) 2010-06-27T19:22:32 anyway cake is food too :p 2010-06-27T19:23:53 * Fallenou is doing bootstrap 2010-06-27T19:23:56 it just takes forever ! 2010-06-27T19:24:02 tell me about it 2010-06-27T19:24:03 :)) 2010-06-27T19:24:29 if i hadn't found out that i could just bootstrap my working directory i would have killed myself days ago 2010-06-27T19:41:42 alinrus: ok same problem with cvs head and rtems- 2010-06-27T19:41:43 4.11 toolchain 2010-06-27T19:42:09 let me check that could you give me the configure flags you are using 2010-06-27T19:42:26 ok 2010-06-27T19:42:43 ../rtems/configure --target=lm32-rtems4.11 --enable-rtemsbsp=lm32_milkymist --disable-itron --enable-tests=samples 2010-06-27T19:46:21 ok bootstrapping ... 2010-06-27T19:46:57 you can try with lm32_evr maybe 2010-06-27T19:47:22 will do as soon as bootstrapping finishes 2010-06-27T19:47:41 thanks a lot ! 2010-06-27T19:54:42 no error 2010-06-27T19:55:04 this were the configure flags used 2010-06-27T19:55:05 ../rtems/configure --target=lm32-rtems4.11 --enable-rtemsbsp=lm32_evr --disable-itron --enable-tests=samples --disable-ada --disable-networking --disable-multiprocessing 2010-06-27T19:56:09 *** dr__house has joined #rtems 2010-06-27T19:56:21 i guess there's something wrong with the toolchain 2010-06-27T19:57:13 if you can wait for a few hours i'll build the toolchain on lucid lynx form lm32 and send it to you as a tar.gz 2010-06-27T19:58:18 what toolchain did you use ? :o 2010-06-27T19:58:27 i don't understand why it works for you 2010-06-27T19:58:45 i use the rpm's provided by ralf for rtems 2010-06-27T19:58:58 i'm running fedora 13 2010-06-27T19:59:16 i use these rpms too :/ 2010-06-27T19:59:25 but converted into .debs 2010-06-27T19:59:34 you think the conversion went wrong ? 2010-06-27T19:59:38 i'm also a ubuntu user but i figured it was easier to install fedora on a free partition 2010-06-27T20:00:04 i wanted so bad to keep hard drive space on my laptop 2010-06-27T20:01:05 did you try to build your toolchain on ubuntu 2010-06-27T20:01:08 from source? 2010-06-27T20:01:55 nop 2010-06-27T20:02:00 that's my next move ! 2010-06-27T20:02:04 but ... another day :) 2010-06-27T20:02:08 it's 3 am here 2010-06-27T20:02:15 it's 4 am 2010-06-27T20:02:16 here 2010-06-27T20:02:17 :)) 2010-06-27T20:03:07 there's a nice tutorial on the rtems wiki for building the toolchain on ubuntu, but it's a bit old 2010-06-27T20:03:23 you can follow it as a reference 2010-06-27T20:03:58 i was able to build the toolchain on ubuntu 10.04 by using it 2010-06-27T20:04:17 http://www.rtems.org/wiki/index.php/Building_the_RTEMS_toolset_on_Ubuntu 2010-06-27T20:04:30 ok I see it has been updated 2010-06-27T20:04:32 for 10.04 2010-06-27T20:05:19 ok great, i will try this ! 2010-06-27T20:05:26 nop it's still for 8.04 2010-06-27T20:05:28 thanks you for your precious tips and for your time :) 2010-06-27T20:05:34 i'm going to sleep 2010-06-27T20:05:36 gn8 ! 2010-06-27T20:05:36 no problem 2010-06-27T20:05:40 ok, good night 2010-06-27T20:05:43 thx 2010-06-27T20:07:08 anyone working with posix threads still up? :) 2010-06-27T20:35:59 *** arvind_khadri has quit IRC 2010-06-27T20:50:14 *** arvind_khadri has joined #rtems 2010-06-27T20:54:44 *** dr__house has quit IRC 2010-06-27T22:23:45 *** dr__house has joined #rtems 2010-06-27T22:32:46 *** arvind_khadri has quit IRC 2010-06-27T22:37:04 *** arvind_khadri has joined #rtems 2010-06-27T22:55:09 *** arvind_khadri has quit IRC 2010-06-27T23:07:38 *** arvind_khadri has joined #rtems