00:01.19 | husam | OMAP1510 has 3 flash interfaces ... the third one is connected to wlan |
00:01.36 | husam | CS0-CS2 |
00:01.54 | cr2 | 0x0268, /* IO_ACX_PHY_ADDR */ |
00:02.09 | cr2 | what do you think about it ? |
00:02.24 | cr2 | 0x026c, /* IO_ACX_PHY_DATA */ |
00:02.31 | cr2 | 0x0270, /* IO_ACX_PHY_CTL */ |
00:02.40 | husam | the same here |
00:02.47 | husam | the same one I used |
00:02.55 | cr2 | what do you have in these registers ? |
00:03.01 | cr2 | i.e. value |
00:04.02 | cr2 | 0x0014, /* IO_ACX_SLV_MEM_ADDR */ |
00:04.20 | cr2 | hmm. i will look at the values on my universal. |
00:04.55 | husam | Hold on I need to boot my device :) |
00:05.03 | cr2 | me too. |
00:10.44 | lamikr | I need to go to sleep but I can see you are in good progress :-) Goodnight |
00:10.53 | husam | goodnight |
00:10.57 | cr2 | good night. |
00:11.14 | cr2 | i don't see anything useful. |
00:11.24 | husam | same here |
00:11.40 | husam | 0x0014 gave me different values |
00:12.26 | cr2 | will go in bed too . good night. |
00:12.37 | husam | goodnight |
00:13.05 | husam | I will dig more tomm |
00:21.40 | *** join/#htc-blueangel husam (n=kvirc@217.206.111.105) |
00:22.27 | husam | cr2: sorry I was dissconnected ... I have bad AC adapter :( |
00:27.55 | awelux | cr2 usually goes to bed around this time. |
00:28.08 | husam | ok thanks ... |
00:28.08 | awelux | But he will be back tomorrow ;) |
00:28.33 | husam | Do you guys use MDOC+ in your device by the way |
00:30.22 | awelux | no. First time I've heared of this. |
00:30.35 | husam | DiskOnchip !!! |
00:30.36 | awelux | But I'm quite new myself to this porting stuff. |
00:30.45 | husam | ok :) |
00:31.32 | awelux | I'm currently fighting with a magician. It still doesn't boot yet. |
00:32.17 | husam | I been through this ... first boot with ipaq h6300 |
00:32.26 | awelux | Seams like an (a few?) unidentified device is causing exceptions. |
00:32.38 | awelux | nice. I hope I will follow soon. |
00:33.20 | husam | yah ... did you pass the dark bit .. where all you have is serial output !!! |
00:34.25 | awelux | That might be part of the problem. I'm currently debugging by writing directly to the FB. |
00:35.02 | awelux | I've still not setup the IR device. |
00:35.27 | husam | I see ... looks like you are having same problem I have ... ipaq h6300 have only usb |
00:35.57 | husam | our boot loader used ir port for debugging I think |
00:36.01 | awelux | Did the FB refresh of the LCD cause problems for you ? |
00:36.21 | husam | No .. not when I start writing at the right location |
00:36.36 | awelux | hehe. IR debugging is recommended for the kernel. |
00:36.45 | awelux | But I've no useable IR reciever. |
00:36.47 | husam | in omap1510 .. first 32 bytes is reserved for pattrent I think |
00:37.02 | awelux | The IR dongle is IRDA only it seams. |
00:37.03 | husam | is it !!!! |
00:37.31 | awelux | I'mI mean the IR dongle of my PC ;) |
00:37.40 | husam | IR is connected to UART3 in our devoce |
00:37.42 | husam | device |
00:37.51 | husam | ohh !!! |
00:37.52 | awelux | in ours too. |
00:38.25 | husam | I had my IR enabled in my laptop ... but still nothing came out |
00:38.48 | awelux | The only IR port I have is on an old and very noisy notebook. That works but it's no fun to work with it. |
00:39.09 | husam | sounds like my old PC :) |
00:40.18 | awelux | hehe. Well. I'm slowly inching forward. It's possible that I'm making a misstake setting up the MMU. |
00:40.54 | awelux | But then the CP would have to stop execution about 20-30 ASM instructions _after_ a memory access to be consistent with what I see. |
00:40.58 | husam | yah .. that could cause problem |
00:41.24 | husam | which processer you are running |
00:41.40 | husam | or you have in your device |
00:42.12 | awelux | That the critical instructions seam to be that far in front of the halt point seams odd. It's an intel pxa27x (arm xscale) |
00:42.14 | awelux | uh |
00:42.16 | awelux | pxa272 |
00:42.17 | husam | I know omap1510 (arm925t) has I think 4 instruction pipe |
00:42.40 | husam | I think u-boot has code for pxa |
00:44.16 | awelux | My hypothesis is that the memory access in cached at first and the exception happens later after the lookup in the MMU pag table failed. |
00:44.36 | awelux | Actually crr2's universal is using the same cpu. |
00:44.54 | awelux | So it's a bit confusing why mine doesn't work while his works. |
00:45.13 | awelux | The magician should have less external devices than the universal |
00:45.29 | husam | did you try and re-invalidate the cache !!! |
00:46.09 | awelux | It's minvalidated when we switch of the MMU |
00:46.10 | husam | in omap1510 4 nop instruction should clear the pipe afetr jump |
00:46.24 | awelux | oh ? |
00:46.45 | husam | basicly |
00:46.56 | husam | move pc, <something> |
00:46.58 | husam | noop |
00:46.59 | awelux | I'm not aware of such a rule for the pxa272 |
00:47.00 | husam | nop |
00:47.03 | husam | nop |
00:47.16 | husam | I guess thats different |
00:47.38 | awelux | I've read something about a delayed bad instruction exception |
00:47.42 | husam | this what they recommand in omap .. when you trun on/off MMU |
00:47.47 | awelux | the piped instruction get's flagged bad |
00:47.57 | husam | yes becuase of the pipe |
00:48.43 | husam | I read that jumping by mov pc,<something> should reflash pipe |
00:48.56 | awelux | hmm. switching on and off the mmu is not the problem. I can do an arbitrary number of instructions after switching mmu on/off |
00:49.44 | awelux | there is a cpwait instruction set which seams to do something similar for us. |
00:49.57 | husam | which version of arm you have ... |
00:50.11 | husam | I think we have arm v4 |
00:50.13 | awelux | uh. v5 or v6 I thought. let me check |
00:50.42 | husam | omap1510 bit older ... v4/v5 |
00:52.27 | awelux | can't find it right now. |
00:52.38 | husam | thats ok :) |
00:53.15 | husam | we are at the stage where we trying to find safe way to flash the device |
00:53.36 | awelux | for a permanent change to linux? |
00:53.58 | husam | yes ... throw away wince for good |
00:54.30 | husam | We use DiskOnChip Millinume Pluse 64M as flash |
00:55.41 | awelux | I don't know much about our flash ram. just that it's there. 32MB I think |
00:56.10 | awelux | maybe more on the universal |
00:56.29 | husam | is that based on xda !!!! |
00:56.40 | awelux | hmm? |
00:56.45 | husam | I think xda uses DiskOnChip |
00:57.47 | awelux | probably yes. he xda devices are also from the manufacturer htc |
00:58.14 | awelux | universal, blueangel, magician are the htc codenames. |
00:58.18 | husam | I see ... wasn;t sure xda is the name of the familly like ipaq or just single device |
00:58.30 | awelux | xda pro is the name of the universal in some shops |
00:59.12 | husam | I know hp used DiskOnChip in almost all of there new devices so ... htc might of done the same |
00:59.18 | awelux | xda mini the name of the magician. Or vpa compact, mda compact, and so on |
00:59.57 | awelux | maybe. I've heared that the asic 3 in some hp devices is very similar to the one in the htc devices. |
01:00.30 | awelux | It seams like the companies avoid to develop something twice. |
01:01.09 | husam | Yes thet will be alot cheaper ... and good for us hacker :) |
01:01.26 | awelux | yes. true. |
01:01.33 | husam | so we can reuse driver |
01:01.38 | awelux | 2am. now it's time for me. |
01:01.54 | awelux | cu husam. I bet we hear of each other again. |
01:02.01 | husam | it's one 1am ... I think time for me as will |
01:02.11 | husam | yes ...good talke to you |
01:02.15 | husam | goodnight |
06:39.43 | *** join/#htc-blueangel rob_w (n=bob@p213.54.199.206.tisdip.tiscali.de) |
06:39.43 | *** mode/#htc-blueangel [+o rob_w] by ChanServ |
08:19.41 | *** join/#htc-blueangel awelux_ (n=awelux__@dslb-084-058-183-122.pools.arcor-ip.net) |
08:25.19 | *** join/#htc-blueangel rob_w|mis (n=rob_w@p549BC948.dip0.t-ipconnect.de) |
11:39.52 | *** join/#htc-blueangel mndctrl (n=mind@81.167.1.2) |
12:26.01 | *** join/#htc-blueangel geers_ (n=DevzMan@c51008F31.inet.catch.no) |
16:07.55 | *** join/#htc-blueangel rob_w|mis (n=rob_w@p549BC948.dip0.t-ipconnect.de) |
16:10.10 | *** join/#htc-blueangel hlbot (n=adm@82.67.76.179) |
16:13.56 | *** join/#htc-blueangel rob_w|mis (n=rob_w@p549BC948.dip0.t-ipconnect.de) |
16:15.04 | *** join/#htc-blueangel rob_w|mis (n=rob_w@p549BC948.dip0.t-ipconnect.de) |
16:18.44 | *** join/#htc-blueangel rob_w|mis (n=rob_w@p549BC948.dip0.t-ipconnect.de) |
16:38.00 | *** join/#htc-blueangel rob_w|mis (n=rob_w@p549BC948.dip0.t-ipconnect.de) |
16:42.23 | *** join/#htc-blueangel rob_w|mis (n=rob_w@p549BC948.dip0.t-ipconnect.de) |
18:06.34 | cr2 | hi awelux, i have found a cable: |
18:06.38 | cr2 | http://www.computeruniverse.net/products/90129141/Mini_USB_Kabel_On_the_Go_1_8m_Mini_USB_A_Stecker__Mini_USB_B_Stecker.asp |
18:07.04 | cr2 | but it is a real robbery ;) |
18:09.28 | awelux_ | hehe. hard to say. |
18:09.48 | awelux_ | the price is 80% storage costs. |
18:10.28 | awelux_ | There are few people who would use such a cable. |
18:31.06 | cr2 | the only real difference from a "normal" cable is that the OTG pin (4) is grounded . |
18:31.48 | cr2 | since you can't easily solder such cables these days, it is very painful. |
18:37.35 | cr2 | another question. lets's assume i have 64MB RAM |
18:38.12 | cr2 | and want to use only the 31MB in the second half. |
18:38.24 | cr2 | what should i change in the kernel ? |
18:39.43 | cr2 | or better, zImage. the haret changes are more or less obvious. |
18:44.01 | awelux_ | in the kernel I changed the start address in the mach_info struct |
18:44.57 | cr2 | what about the textaddr-* ? |
18:44.58 | awelux_ | Then there is the arch/arm/mach-pxa/Makefile.boot file |
18:45.15 | awelux_ | that's where you set the textaddr |
18:45.19 | cr2 | ok. |
18:45.36 | cr2 | and the decompressor ? |
18:45.50 | cr2 | there are some Z* variables. |
18:45.53 | awelux_ | I think the decompressor is using exactly this file |
18:46.48 | awelux_ | all other addresses in compressor are derived from this Makefile.boot |
18:47.03 | cr2 | i am trying to boot the 2.6.15 kernel, and some things have changed compared to 2.6.12 |
18:49.01 | awelux_ | And you want to try booting in another memory area ? |
18:51.37 | cr2 | yes. |
18:51.57 | cr2 | and it does not boot. |
18:55.53 | awelux_ | You don't get any feedback? Did you try a minimal version with just the pxa driver? |
18:56.25 | awelux_ | did you add any memory or register access without mapping the area in the mmu? |
18:56.53 | cr2 | no. i have just made the changes necessary to compile the 2.6.12 code. |
18:57.59 | awelux_ | I have the strange effect that I don't jump into linux_start right now. |
19:15.15 | awelux_ | I think I could |
19:15.18 | awelux_ | ops |
19:15.22 | awelux_ | wrong key |
19:43.43 | *** join/#htc-blueangel hlbot (n=adm@82.67.76.179) |
19:59.46 | *** join/#htc-blueangel awelux (n=awelux__@dslb-084-058-137-116.pools.arcor-ip.net) |
20:54.48 | *** join/#htc-blueangel rob_w (n=bob@p213.54.199.206.tisdip.tiscali.de) |
20:54.48 | *** mode/#htc-blueangel [+o rob_w] by ChanServ |
21:04.16 | cr2 | hi rob_w |
21:16.52 | rob_w | hey cr2 |
21:17.12 | rob_w | u r shooting commits like hell these days |
21:21.19 | awelux | uhm |
21:21.26 | awelux | question about the registers |
21:21.35 | awelux | r13 is the stack pointer. |
21:21.39 | awelux | r15 is pc |
21:21.45 | awelux | r14 is lr the link register |
21:21.54 | awelux | why is it bad if I use r12 ? |
21:22.22 | rob_w | awelux, what device are you working on ? |
21:22.44 | awelux | correction. Why is it bad if I use r11 ? |
21:22.46 | awelux | magician |
21:23.03 | awelux | I tried a ldr r11, validadr |
21:23.08 | awelux | and it didn't work |
21:23.26 | awelux | ldr r8, validaddr worked. |
21:23.36 | awelux | no other change |
21:23.56 | awelux | Directly after the ldr instruction is a halt: b halt |
21:24.01 | rob_w | where is a magician wiki ? |
21:24.31 | awelux | here: http://wiki.xda-developers.com/index.php?pagename=HTC_Magician |
21:24.38 | rob_w | thanks |
21:24.48 | awelux | you have something to add ? |
21:24.59 | awelux | or a quick status check ? |
21:26.11 | rob_w | quick check ,, wasnet there a htc clamshell device ? |
21:26.39 | awelux | the universal has a clamshell like design |
21:27.31 | rob_w | ah |
21:27.42 | rob_w | ACX100 ,, are there news ? |
21:30.06 | awelux | not really. but yesturday we had a visitor. |
21:30.18 | rob_w | oh reallly ? |
21:30.25 | awelux | husam. He was working on hp phones. |
21:30.35 | awelux | and they seam to have quite a bit in common |
21:30.44 | rob_w | 6315 has the same imho |
21:31.12 | awelux | check out the irclogs. They lost me after a few turns ;) |
21:31.22 | rob_w | hmm ,, cool |
21:33.25 | cr2 | rob_w, there is a 64K buffer area, which we need to find. |
21:34.23 | rob_w | aha |
21:34.39 | awelux | hi cr2. There is a strong possibility that I added buggy debugging code. Maybe I can't use some registers or something like that. |
21:34.51 | awelux | Back to the ARM reference ... |
21:36.17 | rob_w | cr2, so you say me need to find that in order to make it readable for the rest of the acx100 driver stuff ? |
21:36.42 | cr2 | there are also some missing registers in the acx100 driver, which are used by htc. |
21:36.49 | cr2 | there are two areas: |
21:36.57 | cr2 | control and buffer |
21:37.06 | cr2 | we know where is the control. |
21:37.18 | cr2 | so we need to find where is the 64K buffer. |
21:38.11 | cr2 | i looked at the acx100 pci device logs on google. |
21:38.36 | cr2 | the second area is positioned quite randomly. |
21:38.48 | cr2 | but it must be 64K aligned. |
21:39.06 | rob_w | so do the control register tell when where to find those 64k |
21:39.23 | cr2 | maybe. |
21:39.55 | cr2 | pci tells explicitely where it is. |
21:39.58 | rob_w | do you have code which dumps those already or polls them or such ? |
21:40.05 | cr2 | we don't have such an advantage. |
21:40.39 | cr2 | there is something for hx4700. i have just copied it to universal. |
21:40.50 | cr2 | but the main part is commented out. |
21:41.15 | rob_w | can you show that to me ? |
21:41.26 | cr2 | what ? |
21:41.39 | rob_w | that something for the hx4700 |
21:41.58 | cr2 | handhelds.org CVS |
21:43.17 | rob_w | .. oh that cvs server there |
21:43.17 | cr2 | looking for it |
21:43.55 | rob_w | cr2, what has the i2c to do with wifi ? |
21:44.08 | rob_w | i know i2c only from additional rtc`s n stuff |
21:44.26 | cr2 | http://handhelds.org/cgi-bin/cvsweb.cgi/linux/kernel26/arch/arm/mach-pxa/hx4700/hx4700_wlan.c?rev=1.8&content-type=text/x-cvsweb-markup |
21:44.37 | cr2 | i2c is used to the control. |
21:44.49 | cr2 | camera, audio |
21:45.12 | cr2 | on the scheme it was a eeprom on the i2c bus. |
21:45.40 | cr2 | but the h6300 guys say that it is not used there. |
21:46.09 | rob_w | hmm that patch looks pretty straight and clean already .. |
21:46.23 | rob_w | say file |
21:46.27 | cr2 | <PROTECTED> |
21:46.57 | cr2 | this patch is too simple. we can dump much more using the control registers. |
21:47.04 | rob_w | i have this .. but it is too schematic for me |
21:49.00 | cr2 | well, i also don't know the purpose of the registers. |
21:49.11 | awelux | i2c is very common. |
21:49.41 | cr2 | but then there should be some other method to access the eeprom. |
21:49.49 | awelux | I remember the matrox graphic cards used it to setup the registers of all additional chips beside the main chip. |
21:50.04 | cr2 | gpio or such. |
21:50.32 | cr2 | btw, there is a i2c eeprom on blueangel. |
21:51.30 | rob_w | do we have gpio`s of the ba wifi ? |
21:52.03 | *** join/#htc-blueangel lamikr (n=chatzill@aragorn.kortex.jyu.fi) |
21:52.14 | cr2 | yes. but we don't know how to access them. |
21:53.05 | awelux | does the universal have such a i2c eeprom too? |
21:53.37 | awelux | such a memory that would survive a hard reset could store factory settings |
21:53.47 | awelux | like basic touchscreen alignment. |
21:54.39 | awelux | or the simlock |
21:55.19 | cr2 | if it is used by wifi, then it is ethernet addreess and similar things. |
21:55.30 | cr2 | simlock is in the radio. |
21:55.50 | cr2 | radio has its own ram, flash and os. |
21:58.05 | rob_w | hmm that universal looks actually nice ,, in black |
21:58.50 | cr2 | blueangel is a much faster device. |
21:59.17 | rob_w | is it =? |
21:59.20 | cr2 | and much more responsive. |
21:59.43 | cr2 | universal has 4x area do draw, without any 2D accel. |
22:00.05 | cr2 | so the 520 vs. 400 CPU does not help much. |
22:00.20 | cr2 | the half of the wince framebuffer is in the SDRAM. |
22:00.42 | cr2 | i have 100% in the SDRAM, because it is much easier this way. |
22:01.31 | cr2 | but you can't beat the universal DPI. |
22:01.44 | cr2 | it is photographic quality. |
22:02.14 | cr2 | compared to the grainy 240x320 LCD. |
22:02.26 | rob_w | oh really |
22:03.10 | cr2 | 3.5" 240x320 vs. 3.8" 480x640 |
22:03.29 | rob_w | phew |
22:05.10 | cr2 | rob_w, is the oe becoming better ? |
22:11.21 | rob_w | well it is incredible to my understanding |
22:11.44 | rob_w | bam , bought 3 new stylus |
22:12.12 | rob_w | it actually feeds my kids to some percent ;-) |
22:13.36 | cr2 | i think that we need a ramdisk that will autoformat the SD card and download the packages. |
22:13.49 | cr2 | but it would be great to do that over wifi. |
22:14.24 | rob_w | hehe without it is a pain |
22:14.43 | cr2 | over usb or bluetooth. |
22:14.58 | rob_w | bt works for me quite well but it is soooo limited |
22:15.13 | cr2 | you still run it at 115200 ? |
22:15.41 | rob_w | ahm , i probably did , i didnt apply the hcid patch |
22:16.16 | cr2 | you can take the hciattach from hx4700 |
22:16.30 | cr2 | but it has a diffeerent firmware. |
22:16.42 | cr2 | i think universal has the same as hx4700 |
22:16.45 | rob_w | on bt ? |
22:16.52 | cr2 | yes. |
22:17.17 | rob_w | hmm |
22:17.40 | rob_w | i never loaded a bt firmware on the ba ... |
22:18.45 | cr2 | you need it for 921600 |
22:19.53 | rob_w | the hx4700 wiki doesnt mentiond bt needing firmwares |
22:21.02 | cr2 | then this wiki is incomplete. |
22:21.15 | cr2 | it is called *.bts |
22:21.20 | cr2 | bluetooth script |
22:21.46 | rob_w | i just discovered the need of a matchbox-panel docklet for gomunicater ;-) |
22:36.01 | awelux | I've played around with a universal in a shop last weekend |
22:36.09 | awelux | it really has an imressive display |
22:36.38 | rob_w | yeah ... |
22:37.04 | rob_w | it sounds nice |
22:37.21 | rob_w | there is a simlocked one on ebay for 1 day at 65 € |
22:37.36 | awelux | will go up I think |
22:39.07 | rob_w | its gone .. tsts or i need sleep .. maybe i get some docklet by the end of the week |
22:46.18 | cr2 | 65 € is a joke. the phone must be broken. |
22:46.38 | cr2 | even the LCD alone will cost much more. |
22:47.53 | cr2 | or even stolen. |
22:49.23 | awelux | yes. probably the later |
22:50.52 | cr2 | well. what should we do with magician ? |
22:51.56 | awelux | I will rewrite the code to not use r11-r13 |
22:52.15 | awelux | No idea why though |
22:52.30 | awelux | ARM manual says these registers are free for use |
22:52.40 | awelux | meaning only defined by software |
22:53.19 | cr2 | there are some rules (asm and gcc) which registers you can use |
22:53.29 | cr2 | the rest must be saved on the stack. |
22:54.02 | cr2 | i think assembler is using some register for its macros. |
22:54.08 | awelux | that only applies to asm embedded in c code afaik |
22:54.18 | cr2 | not only. |
22:54.20 | awelux | cr2, that is an idea |
22:54.28 | cr2 | there are "pseudo"commands. |
22:54.42 | awelux | like adr |
22:54.45 | cr2 | yes. |
22:54.50 | awelux | or CPWAIT |
22:55.05 | cr2 | cpwait is a "normal" macro |
22:55.15 | awelux | ah |
22:55.26 | cr2 | it is even declared as a macro. |
22:55.46 | awelux | but I should see it in the objdump without the macro right ? |
22:56.04 | cr2 | yes. it is expanded by the assembler. |
22:56.59 | cr2 | you can do everything with inline asm actually. |
22:57.37 | cr2 | microsoft compiler was not clever enough, that's why the "pure" assembler code was written. |
23:00.25 | awelux | dieses wince 2003 hat sogar einen abgesicherten modus. |
23:01.48 | cr2 | wirklich abgesichert ist es aber auch nicht :) |
23:02.37 | awelux | aber schnell |
23:02.40 | awelux | ^^ |
23:03.11 | cr2 | we can disassemble the hell out of the magician kernel, but it will be a painful way. |
23:03.39 | cr2 | it is also tricky to dump the bootloader. |
23:04.22 | cr2 | booting from the htc bootloader is not very useful, because you don't know how to init the hardware... |
23:07.26 | cr2 | we need the real "ioremap" for the minimalistic bootloader. |
23:07.48 | awelux | ? |
23:07.50 | cr2 | and not to use too much assembler. |
23:08.17 | cr2 | we allocate the memory with allocphysmem. |
23:08.39 | cr2 | then copy the "kernel resource" into this memory. |
23:08.59 | awelux | now I'm puzzeled. But maybe I'm closer to booting the magician |
23:09.09 | cr2 | to access the hw registers (dma,usb, cken & friends) we need to do "ioremap" |
23:09.28 | awelux | changing mov r11, r8 to mov r8,r8 made a difference |
23:09.50 | awelux | But I'm using r11 all over the code |
23:10.09 | awelux | so maybe it has something to do with timing too |
23:10.49 | awelux | like an exception that relies on r11 being stable or something. |
23:11.02 | cr2 | i will look into the asm/headers. |
23:11.19 | awelux | asm/header where ? |
23:11.55 | cr2 | linux. |
23:12.02 | cr2 | r11 is the frame pointer. |
23:12.14 | cr2 | do you compile with --omit-frame-pointer ? |
23:12.20 | cr2 | i think not. |
23:12.59 | awelux | frame pointer. hmm what does that do usually? |
23:13.12 | awelux | I just noticed that the c code seams to avoid this register |
23:13.21 | awelux | it's called sl in objdump |
23:13.31 | cr2 | when you call a function, the parameters are saved |
23:13.38 | awelux | and I'm using it a lot since it was unused ;) |
23:13.44 | cr2 | it must be "fp" |
23:13.52 | awelux | fp is r12 |
23:14.33 | cr2 | hmm. in ptrace.h it is r11 |
23:14.34 | awelux | or wait |
23:15.14 | awelux | yes. fp is r11 too here |
23:15.29 | awelux | but the fp is used in c too |
23:15.35 | awelux | sl is r10 |
23:15.39 | cr2 | pc is r15, lr 14 sp 13 - sounds ok. |
23:15.59 | cr2 | what is sl ? |
23:16.00 | awelux | I'm familiar with pc, lr and sp |
23:16.11 | awelux | but I'Ve no idea what sl, fp and ip is for |
23:16.30 | awelux | fp for frame pointer. But what does it do ? |
23:16.54 | cr2 | fp i have told you. it points to the saved registers on a function call. |
23:17.03 | cr2 | used in c. |
23:17.12 | cr2 | and by gdb. |
23:17.28 | awelux | ahh. now I understand |
23:17.43 | awelux | I thought the sp would be used for that |
23:18.13 | cr2 | sp is for > 5, afaik. |
23:18.32 | cr2 | the rest should be taken care of. |
23:18.57 | awelux | It is fine to turn it on and off whenever you want. The compiler uses up a register as a frame pointer in order to enable stack trace debugging. If you omit the frame pointer, it frees up this register (which makes programs run faster because they don't need to access RAM as much) but it means that you don't get stack traces when programs crash. |
23:19.13 | awelux | good exdplaination |
23:19.28 | cr2 | yes. |
23:21.50 | cr2 | The 5 frame registers fp, ip, sp, lr and pc have dedicated roles in all |
23:22.04 | cr2 | variants of the APCS. |
23:22.17 | cr2 | The ip register has a dedicated role only during function call; |
23:23.00 | cr2 | Conventionally, ip is used by compiler code generators as the/a local |
23:23.13 | cr2 | code generator temporary register |
23:24.15 | cr2 | sl/v7 10 stack limit / stack chunk handle / reg. variable |
23:24.28 | cr2 | sb/v6 9 static base / register variable |
23:25.09 | cr2 | The stack backtrace data structure has the format shown below: |
23:25.24 | cr2 | save code pointer [fp] <-fp points to here |
23:25.35 | cr2 | return link value [fp, #-4] |
23:25.38 | awelux | nice. |
23:25.39 | awelux | thanks |
23:26.34 | awelux | Does this support the idea that some memory accesses trigger an exception causing another function to run that will fail if these registers are messed up ? |
23:27.06 | awelux | I belive this could be the cause. Of course it's a problem that such a funtion runs in the first place. |
23:28.32 | cr2 | i think yes. |
23:28.43 | cr2 | write everything in c. |
23:28.49 | awelux | hehe. |
23:28.54 | awelux | yes maybe |
23:28.57 | cr2 | the compiler will do the right thing :) |
23:29.07 | awelux | it migthe be best to start over. |
23:29.23 | awelux | switch off the cken |
23:29.25 | cr2 | it's only the weird mrc/mrc stuff that needs inline asm. |
23:29.27 | awelux | of the usb |
23:29.41 | awelux | memory map the io part |
23:29.44 | cr2 | will not work in c ? |
23:29.49 | awelux | and write to the key led's again |
23:30.04 | awelux | the kernel is using asm in head.S |
23:30.38 | cr2 | because it is 31337 :) |
23:30.39 | awelux | But if the registers are really the cause of the troubles then the head.S part would just work |
23:30.47 | awelux | hehe. |
23:31.02 | awelux | ok. I'm in emacs for a while now. |
23:33.29 | *** join/#htc-blueangel fil (n=phil@open.hands.com) |
23:33.53 | *** join/#htc-blueangel lkcl (n=lkcl@53541397.cable.casema.nl) |
23:34.06 | lkcl | hello people |
23:34.13 | lkcl | am baaaaack :) |
23:35.13 | lkcl | just dropping in to introduce phil hands cos he is thinking of getting an XDA of some description muhahaha |
23:35.29 | fil | Hi :-) |
23:36.54 | lkcl | main reason for introducing phil is cos he needs some advice on which is the closest chance device of running linux |
23:37.46 | cr2 | hi lkcl. i thought you went to iraq not to europe :) |
23:37.50 | lkcl | also he will be happy to compile stuff and try it out etc. |
23:37.56 | cr2 | hi phil |
23:38.01 | lkcl | whatwhatwhat? :) |
23:38.15 | cr2 | :) |
23:38.17 | lkcl | naaaah - they'd never let _me_ in to iraq, don't be daft! |
23:38.33 | lkcl | i'd have come sailing back again |
23:38.35 | lkcl | dat for sure |
23:38.58 | cr2 | yeah. everybody who writes gpl software... :) |
23:39.05 | fil | cr2: lkcl is off doing "exraordinary" things for the powers that be ;-) |
23:39.31 | lkcl | cr2 - would you be happy to advise phil on which HTC phone he should get? he's thinking universal or blueangel at the moment |
23:39.38 | lkcl | because of the keyboardsx |
23:39.43 | cr2 | i have guessed that. |
23:39.56 | cr2 | the phone is not working on the universal right now. |
23:39.59 | lkcl | ah. |
23:40.35 | cr2 | and the touchscreen is not great. better say- unusable. |
23:40.42 | lkcl | phil isn't a kernel-level hacker but he is capable of doing compiling and some awful stuff with shell scripts |
23:40.44 | cr2 | and there is no suspend/resume. |
23:40.46 | fil | yeah, I'm after something that I can do a spot of ssh-ing on, with an eye to playing with VoIP, preferably via bluetooth headsets & WiFi |
23:41.13 | cr2 | if you are not a hardcore hacker, take the blueangel. |
23:41.21 | lkcl | yeh, you're pretty much blueangel then, phil :) |
23:41.31 | lkcl | for at least the next .... mmmm *guess*.... six months. |
23:41.35 | cr2 | it needs some polishing, but mainly in the userspace. |
23:41.41 | lkcl | yeh. |
23:41.55 | lkcl | has anyone else hacked in on the phone stuff i started, cr2? |
23:42.01 | cr2 | lkcl, do you know the universal progress ? |
23:42.02 | lkcl | xgnokii... |
23:42.05 | lkcl | gomunicator... |
23:42.19 | lkcl | cr2: i just took a look a couple hours ago at the wiki page |
23:42.39 | cr2 | i have seen some phone patches in the cvs. |
23:42.43 | lkcl | oooo |
23:42.50 | lkcl | ah, i think i know who that might be. |
23:42.53 | cr2 | wiki is not a great example. |
23:42.54 | fil | I used to do assembly and the like years ago, but recently have been more sysadmin type stuff |
23:43.06 | lkcl | it's the guy who's working on the... thingy. libgnokii. |
23:43.21 | cr2 | read here: |
23:43.23 | cr2 | http://forum.xda-developers.com/viewtopic.php?t=35972 |
23:43.38 | lkcl | i suggested some ideas to him on a "merging" protocol, for the same back-end to have three multiplexing interfaces - one for phone, one for address, one for sms |
23:43.48 | lkcl | so i guess he's run with it. |
23:44.17 | cr2 | well. not everybody needs to be a kernel hacked. i think somebody with the windows programming experience can do useful things too. |
23:44.54 | cr2 | phone stuff is very nice, indeed. it's about the working phone after all. |
23:48.34 | cr2 | phil, there are not that much people working on this project, but it impacts a lot of people directly. i find it exciting. |
23:52.14 | fil | yeah, lkcl's chatting to me about the way things are set up at present (with one app sitting on the serial port) |
23:52.46 | fil | I'm probably more interested in the bit where you have a deamon sitting on the port, farming out stuff to apps |
23:52.59 | fil | not being a GUI person |
23:53.02 | lkcl | yeh, that's the stuff that i started "qomunicator" |
23:53.16 | lkcl | sf.net xanadux cvs |
23:53.20 | lkcl | somewhere |
23:53.31 | cr2 | yes. and don't forget about two/three other data streams: gps, gprs/umts. |
23:54.20 | lkcl | http://cvs.sourceforge.net/viewcvs.py/xanadux/qomunicator/src/proxy/ |
23:54.22 | cr2 | once we will finish the kernel stuff, i will do something with gui :) |
23:54.37 | lkcl | eek, gotta go - it's very late now, i have to be up early. |
23:54.59 | cr2 | good night. |
23:55.03 | lkcl | cya later cr2 - sorry i haven't been around, i have a nice job, don't wanna screw it up! |
23:55.12 | fil | righto -- I'll see about getting a blueangel then, and will likely be back after that |
23:55.13 | cr2 | :) |
23:55.19 | lkcl | byeeeee |
23:56.52 | *** join/#htc-blueangel hlbot (n=adm@82.67.76.179) |
23:57.36 | awelux | oh. more help. great |
23:57.54 | awelux | moving away from r11 might be the key, |
23:58.11 | awelux | I can explain why the magician didn't boot before I started using r11 |
23:58.18 | awelux | And later it never had a chance |