Re: [Etherboot-developers] currticks function
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: <ebi...@ln...> - 2002-07-01 17:50:26
|
ke...@us... (Ken Yap) writes: > >tfptd) and the problem persits. However, the behaviour of the system > >changes whenever I modify the currticks() function. :( Any idea ? > > Sorry no. You're the one closest to the hardware. But I suggest you > don't get hung up on the behaviour of the currticks constant. Collect > more evidence, snoop on packets, put in printf statements, etc. > > Is the Infineon an x86 architecture or are you the first to port it to a > different architecture? If so, watch out for latent structure alignments > and byte order bugs. It should be interesting. The TriCore is a 32bit embedded RISC processor competing with the ARM. http://www.infineon.com/cgi/ecrm.dll/ecrm/scripts/prod_ov.jsp?oid=30926&cat_oid=-8362 It is little endian, and there are some alignment constraints. So congratulations on the first non-x86 port ar in order. Beyond this, it could be that there is a driver bug. Drivers being more susceptible than the core to differences in the hardware. With respect to currticks you will run into problems if it rolls over. overflows. Though it looks like you are probably o.k. The load_timer2 logic is also suspect. I don't suppose you have an x86 compatiable timer do you? Beyond that my best suggestion is to use tcpdump and get a packet trace from another machine on the same network segment. That and to verify that the tftp transfer works from another client machine, plugged into the same network port. If you are timing out I would suggest defing CONGESTED and see if retransmissions help. It could be just that your network loses some packets. Alternatively it could be a driver bug where it either drops packets being transmitted or received. My best guess is that playing with the timeout simply varies when another problem is detected. Anyway if you can pinpoint where in a tftp transfer the code is failing we may be able to point you in some productive directions. Another possibility is that the image you are loading is overwriting part of etherboot. Eric |